parallel ip - initial checkin

Signed-off-by: Ralf Mollik <ramollik@compex-commerce.com>
diff --git a/.project b/.project
new file mode 100644
index 0000000..0c160a8
--- /dev/null
+++ b/.project
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.osbp.xtext.entitymock.aggregator</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.sonarlint.eclipse.core.sonarlintBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+	</natures>
+</projectDescription>
diff --git a/about.html b/about.html
new file mode 100644
index 0000000..64c0598
--- /dev/null
+++ b/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+ 
+<p>June 1, 2016</p>	
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content.  Check the Redistributor's license that was 
+provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/jenkins.build.config.xml b/jenkins.build.config.xml
new file mode 100644
index 0000000..6988bb3
--- /dev/null
+++ b/jenkins.build.config.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--#======================================================================= -->
+<!--# Copyright (c) 2016 - Loetz GmbH&Co.KG                                    -->
+<!--# 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:                                                          -->
+<!--# Christophe Loetz (Loetz GmbH&Co.KG) - initial API and implementation                           -->
+<!--#======================================================================= -->
+<!--# Module specific parameters for the Jenkins Job 						 -->
+<!--#======================================================================= -->
+
+<jenkins>
+	<!-- DO NOT EDIT BELOW THIS LINE -->
+        <jenkins.build.dependencies>
+                <jenkins.build.dependency>org.eclipse.osbp.dsl</jenkins.build.dependency>
+                <jenkins.build.dependency>org.eclipse.osbp.ecview.addons</jenkins.build.dependency>
+                <jenkins.build.dependency>org.eclipse.osbp.persistence</jenkins.build.dependency>
+                <jenkins.build.dependency>org.eclipse.osbp.preferences</jenkins.build.dependency>
+                <jenkins.build.dependency>org.eclipse.osbp.runtime</jenkins.build.dependency>
+                <jenkins.build.dependency>org.eclipse.osbp.ui.api</jenkins.build.dependency>
+                <jenkins.build.dependency>org.eclipse.osbp.utils</jenkins.build.dependency>
+                <jenkins.build.dependency>org.eclipse.osbp.utils.blob</jenkins.build.dependency>
+                <jenkins.build.dependency>org.eclipse.osbp.xtext.addons</jenkins.build.dependency>
+                <jenkins.build.dependency>org.eclipse.osbp.xtext.datainterchange</jenkins.build.dependency>
+                <jenkins.build.dependency>org.eclipse.osbp.xtext.i18n</jenkins.build.dependency>
+        </jenkins.build.dependencies>
+</jenkins>
diff --git a/notice.html b/notice.html
new file mode 100644
index 0000000..c3d34c3
--- /dev/null
+++ b/notice.html
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+<title>Eclipse Foundation Software User Agreement</title>
+</head>
+
+<body lang="EN-US">
+<h2>Eclipse Foundation Software User Agreement</h2>
+<p>April 9, 2014</p>
+
+<h3>Usage Of Content</h3>
+
+<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
+   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
+   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
+   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
+   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
+   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
+
+<h3>Applicable Licenses</h3>
+
+<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
+   (&quot;EPL&quot;).  A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+   For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code
+   repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
+
+<ul>
+       <li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content.  Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
+       <li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
+       <li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
+      and/or Fragments associated with that Feature.</li>
+       <li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
+</ul>
+
+<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
+Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;).  Abouts and Feature Licenses may be located in any directory of a Download or Module
+including, but not limited to the following locations:</p>
+
+<ul>
+       <li>The top-level (root) directory</li>
+       <li>Plug-in and Fragment directories</li>
+       <li>Inside Plug-ins and Fragments packaged as JARs</li>
+       <li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
+       <li>Feature directories</li>
+</ul>
+
+<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license (&quot;Feature Update License&quot;) during the
+installation process.  If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
+inform you where you can locate them.  Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
+Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
+that directory.</p>
+
+<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
+OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
+
+<ul>
+       <li>Eclipse Distribution License Version 1.0 (available at <a href="http://www.eclipse.org/licenses/edl-v10.html">http://www.eclipse.org/licenses/edl-v1.0.html</a>)</li>
+       <li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
+       <li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
+       <li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
+       <li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
+</ul>
+
+<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, or Feature Update License is provided, please
+contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
+
+
+<h3>Use of Provisioning Technology</h3>
+
+<p>The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse
+   Update Manager (&quot;Provisioning Technology&quot;) for the purpose of allowing users to install software, documentation, information and/or
+   other materials (collectively &quot;Installable Software&quot;). This capability is provided with the intent of allowing such users to
+   install, extend and update Eclipse-based products. Information about packaging Installable Software is available at <a
+       href="http://eclipse.org/equinox/p2/repository_packaging.html">http://eclipse.org/equinox/p2/repository_packaging.html</a>
+   (&quot;Specification&quot;).</p>
+
+<p>You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the
+   applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology
+   in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the
+   Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:</p>
+
+<ol>
+       <li>A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute the Provisioning Technology
+       on a machine (&quot;Target Machine&quot;) with the intent of installing, extending or updating the functionality of an Eclipse-based
+       product.</li>
+       <li>During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be
+       accessed and copied to the Target Machine.</li>
+       <li>Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable
+       Software (&quot;Installable Software Agreement&quot;) and such Installable Software Agreement shall be accessed from the Target
+       Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern
+       the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such
+       indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.</li>
+</ol>
+
+<h3>Cryptography</h3>
+
+<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
+   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
+   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
+
+<p><small>Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.</small></p>
+</body>
+</html>
diff --git a/org.eclipse.osbp.utils.entitymock.dbfill.ui/.project b/org.eclipse.osbp.utils.entitymock.dbfill.ui/.project
new file mode 100644
index 0000000..2770f5d
--- /dev/null
+++ b/org.eclipse.osbp.utils.entitymock.dbfill.ui/.project
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.osbp.utils.entitymock.dbfill.ui</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.xtext.ui.shared.xtextBuilder</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>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.babel.editor.rbeBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ds.core.builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.sonarlint.eclipse.core.sonarlintBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.babel.editor.rbeNature</nature>
+	</natures>
+</projectDescription>
diff --git a/org.eclipse.osbp.utils.entitymock.dbfill.ui/LICENSE.txt b/org.eclipse.osbp.utils.entitymock.dbfill.ui/LICENSE.txt
new file mode 100644
index 0000000..ff42ad4
--- /dev/null
+++ b/org.eclipse.osbp.utils.entitymock.dbfill.ui/LICENSE.txt
@@ -0,0 +1,161 @@
+Eclipse Public License -v 1.0
+
+THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION
+OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+
+1. DEFINITIONS
+
+"Contribution" means:
+
+a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and
+
+b) in the case of each subsequent Contributor:
+
+i) changes to the Program, and
+
+ii) additions to the Program;
+
+where such changes and/or additions to the Program originate from and are distributed by that particular Contributor.
+A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone
+acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate
+modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not
+derivative works of the Program.
+
+"Contributor" means any person or entity that distributes the Program.
+
+"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of
+its Contribution alone or when combined with the Program.
+
+"Program" means the Contributions distributed in accordance with this Agreement.
+
+"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.
+
+2. GRANT OF RIGHTS
+
+a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute
+and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code
+form.
+
+b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the
+Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the
+combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such
+addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not
+apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder.
+
+c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no
+assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property
+rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity
+based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and
+licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property
+rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the
+Program, it is Recipient's responsibility to acquire that license before distributing the Program.
+
+d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to
+grant the copyright license set forth in this Agreement.
+
+3. REQUIREMENTS
+
+A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:
+
+a) it complies with the terms and conditions of this Agreement; and
+
+b) its license agreement:
+
+i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including
+warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and
+fitness for a particular purpose;
+
+ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special,
+incidental and consequential damages, such as lost profits;
+
+iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any
+other party; and
+
+iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it
+in a reasonable manner on or through a medium customarily used for software exchange.
+
+When the Program is made available in source code form:
+
+a) it must be made available under this Agreement; and
+
+b) a copy of this Agreement must be included with each copy of the Program.
+
+Contributors may not remove or alter any copyright notices contained within the Program.
+
+Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows
+subsequent Recipients to identify the originator of the Contribution.
+
+4. COMMERCIAL DISTRIBUTION
+
+Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and
+the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes
+the Program in a commercial product offering should do so in a manner which does not create potential liability for
+other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor
+("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor")
+against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions
+brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such
+Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The
+obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual
+property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
+Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the
+Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may
+ participate in any such claim at its own expense.
+
+For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is
+then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties
+related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone.
+Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to
+those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result,
+the Commercial Contributor must pay those damages.
+
+5. NO WARRANTY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR
+CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE,
+NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for
+determining the appropriateness of using and distributing the Program and assumes all risks associated with its
+exercise of rights under this Agreement , including but not limited to the risks and costs of program errors, compliance
+with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations.
+
+6. DISCLAIMER OF LIABILITY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS),
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
+HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. GENERAL
+
+If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or
+enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such
+provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+
+If Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit)
+alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such
+Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such
+litigation is filed.
+
+All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or
+conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such
+noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution
+of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses
+ granted by Recipient relating to the Program shall continue and survive.
+
+Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement
+is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish
+new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the
+right to modify this Agreement. The Eclipse Foundation is the initial Agreement Steward. The Eclipse Foundation may
+assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the
+Agreement will be given a distinguishing version number. The Program (including Contributions) may always be
+distributed subject to the version of the Agreement under which it was received. In addition, after a new version of
+the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the
+new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
+the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or
+otherwise. All rights in the Program not expressly granted under this Agreement are reserved.
+
+This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States
+of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause
+of action arose. Each party waives its rights to a jury trial in any resulting litigation.
\ No newline at end of file
diff --git a/org.eclipse.osbp.utils.entitymock.dbfill.ui/META-INF/MANIFEST.MF b/org.eclipse.osbp.utils.entitymock.dbfill.ui/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..6529952
--- /dev/null
+++ b/org.eclipse.osbp.utils.entitymock.dbfill.ui/META-INF/MANIFEST.MF
@@ -0,0 +1,24 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: org.eclipse.osbp.utils.entitymock.dbfill.ui
+Bundle-SymbolicName: org.eclipse.osbp.utils.entitymock.dbfill.ui
+Bundle-Version: 0.9.0.qualifier
+Bundle-Vendor: Eclipse OSBP
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Require-Bundle: org.eclipse.osbp.utils;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.dsl.dto.lib;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.core.runtime;bundle-version="3.10.0",
+ org.eclipse.osgi.services,
+ javax.persistence,
+ org.eclipse.persistence.core
+Bundle-ActivationPolicy: lazy
+OSBP-RuntimeBuilder-BundleSpace: 
+OSBP-ECView-I18nProvider: 
+Service-Component: OSGI-INF/*.xml
+Bundle-Activator: org.eclipse.osbp.utils.entitymock.dbfill.ui.Activator
+Export-Package: org.eclipse.osbp.utils.entitymock.dbfill.ui;version="0.9.0"
+Import-Package: javax.validation,
+ org.eclipse.osbp.persistence;version="0.9.0",
+ org.eclipse.osbp.preferences;version="0.9.0",
+ org.eclipse.osbp.ui.initialization;version="0.9.0",
+ org.slf4j;resolution:=optional
diff --git a/org.eclipse.osbp.utils.entitymock.dbfill.ui/OSGI-INF/org.eclipse.osbp.utils.entitymock.dbfill.ui.EntityMockGeneratorConsumer.xml b/org.eclipse.osbp.utils.entitymock.dbfill.ui/OSGI-INF/org.eclipse.osbp.utils.entitymock.dbfill.ui.EntityMockGeneratorConsumer.xml
new file mode 100644
index 0000000..40352da
--- /dev/null
+++ b/org.eclipse.osbp.utils.entitymock.dbfill.ui/OSGI-INF/org.eclipse.osbp.utils.entitymock.dbfill.ui.EntityMockGeneratorConsumer.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" immediate="true" name="org.eclipse.osbp.utils.entitymock.dbfill.ui.EntityMockGeneratorConsumer">
+   <service>
+      <provide interface="org.eclipse.osbp.ui.initialization.IInitializationProvider"/>
+   </service>
+   <reference bind="bindMockDataGenerator" cardinality="0..n" interface="org.eclipse.osbp.utils.entitymock.IEntityMockDataGenerator" name="MockDataGenerator" policy="dynamic" unbind="unbindMockDataGenerator"/>
+   <reference bind="bindPersistenceService" cardinality="1..1" interface="org.eclipse.osbp.persistence.IPersistenceService" name="PersistenceService" policy="static" unbind="unbindPersistenceService"/>
+   <implementation class="org.eclipse.osbp.utils.entitymock.dbfill.ui.EntityMockGeneratorConsumer"/>
+</scr:component>
\ No newline at end of file
diff --git a/org.eclipse.osbp.utils.entitymock.dbfill.ui/about.html b/org.eclipse.osbp.utils.entitymock.dbfill.ui/about.html
new file mode 100644
index 0000000..64c0598
--- /dev/null
+++ b/org.eclipse.osbp.utils.entitymock.dbfill.ui/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+ 
+<p>June 1, 2016</p>	
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content.  Check the Redistributor's license that was 
+provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/org.eclipse.osbp.utils.entitymock.dbfill.ui/about.ini b/org.eclipse.osbp.utils.entitymock.dbfill.ui/about.ini
new file mode 100644
index 0000000..7df671f
--- /dev/null
+++ b/org.eclipse.osbp.utils.entitymock.dbfill.ui/about.ini
@@ -0,0 +1,17 @@
+# about.ini
+# contains information about a feature
+# java.io.Properties file (ISO 8859-1 with "\" escapes)
+# "%key" are externalized strings defined in about.properties
+# This file does not need to be translated.
+
+# Property "aboutText" contains blurb for "About" dialog (translated)
+aboutText=%featureText
+
+# Property "featureImage" contains path to feature image (32x32)
+featureImage=
+
+# Property "appName" contains name of the application (translated)
+appName=%featureName
+
+# Property "welcomePage" contains path to welcome page (special XML-based format)
+welcomePage=
diff --git a/org.eclipse.osbp.utils.entitymock.dbfill.ui/about.mappings b/org.eclipse.osbp.utils.entitymock.dbfill.ui/about.mappings
new file mode 100644
index 0000000..4511a0a
--- /dev/null
+++ b/org.eclipse.osbp.utils.entitymock.dbfill.ui/about.mappings
@@ -0,0 +1,6 @@
+# about.mappings
+# contains fill-ins for about.properties
+# java.io.Properties file (ISO 8859-1 with "\" escapes)
+# This file does not need to be translated.
+
+0=qualifier
diff --git a/org.eclipse.osbp.utils.entitymock.dbfill.ui/about.properties b/org.eclipse.osbp.utils.entitymock.dbfill.ui/about.properties
new file mode 100644
index 0000000..04eb190
--- /dev/null
+++ b/org.eclipse.osbp.utils.entitymock.dbfill.ui/about.properties
@@ -0,0 +1,26 @@
+#
+# Copyright (c) 2012, 2016 - Loetz GmbH&Co.KG (Heidelberg)
+# 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:
+#    Christophe Loetz (Loetz GmbH&Co.KG) - initial API and implementation
+#
+
+# NLS_MESSAGEFORMAT_VAR
+
+featureName=org.eclipse.osbp.utils.entitymock.dbfill.ui
+
+################ blurb property ####################################
+featureText=\
+Copyright (c) 2012-2016 - Loetz GmbH&Co.KG \n\
+All rights reserved. This program and the accompanying materials\n\
+are made available under the terms of the Eclipse Public License v1.0\n\
+which accompanies this distribution, and is available at\n\
+http://www.eclipse.org/legal/epl-v10.html\n\
+\n\
+Contributors:\n\
+    Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation\n
+################ end of blurb property ####################################
diff --git a/org.eclipse.osbp.utils.entitymock.dbfill.ui/build.properties b/org.eclipse.osbp.utils.entitymock.dbfill.ui/build.properties
new file mode 100644
index 0000000..8cab51c
--- /dev/null
+++ b/org.eclipse.osbp.utils.entitymock.dbfill.ui/build.properties
@@ -0,0 +1,12 @@
+source.. = src/
+output.. = bin/
+bin.includes = about.properties,  about.mappings,  about.ini,  about.html,  META-INF/,\
+               .,\
+               .settings/,\
+               OSGI-INF/,\
+               license.html,\
+               LICENSE.txt,\
+               epl-v10.html
+src.includes = about.properties,  about.mappings,  about.ini,  about.html,  license.html,\
+               LICENSE.txt,\
+               epl-v10.html			   
diff --git a/org.eclipse.osbp.utils.entitymock.dbfill.ui/epl-v10.html b/org.eclipse.osbp.utils.entitymock.dbfill.ui/epl-v10.html
new file mode 100644
index 0000000..b398acc
--- /dev/null
+++ b/org.eclipse.osbp.utils.entitymock.dbfill.ui/epl-v10.html
@@ -0,0 +1,259 @@
+<!--?xml version="1.0" encoding="ISO-8859-1" ?-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Eclipse Public License - Version 1.0</title>
+<style type="text/css">
+  body {
+    size: 8.5in 11.0in;
+    margin: 0.25in 0.5in 0.25in 0.5in;
+    tab-interval: 0.5in;
+    }
+  p {  	
+    margin-left: auto;
+    margin-top:  0.5em;
+    margin-bottom: 0.5em;
+    }
+  p.list {
+  	margin-left: 0.5in;
+    margin-top:  0.05em;
+    margin-bottom: 0.05em;
+    }
+  </style>
+
+</head>
+
+<body lang="EN-US">
+
+<h2>Eclipse Public License - v 1.0</h2>
+
+<p>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
+PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR
+DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS
+AGREEMENT.</p>
+
+<p><b>1. DEFINITIONS</b></p>
+
+<p>"Contribution" means:</p>
+
+<p class="list">a) in the case of the initial Contributor, the initial
+code and documentation distributed under this Agreement, and</p>
+<p class="list">b) in the case of each subsequent Contributor:</p>
+<p class="list">i) changes to the Program, and</p>
+<p class="list">ii) additions to the Program;</p>
+<p class="list">where such changes and/or additions to the Program
+originate from and are distributed by that particular Contributor. A
+Contribution 'originates' from a Contributor if it was added to the
+Program by such Contributor itself or anyone acting on such
+Contributor's behalf. Contributions do not include additions to the
+Program which: (i) are separate modules of software distributed in
+conjunction with the Program under their own license agreement, and (ii)
+are not derivative works of the Program.</p>
+
+<p>"Contributor" means any person or entity that distributes
+the Program.</p>
+
+<p>"Licensed Patents" mean patent claims licensable by a
+Contributor which are necessarily infringed by the use or sale of its
+Contribution alone or when combined with the Program.</p>
+
+<p>"Program" means the Contributions distributed in accordance
+with this Agreement.</p>
+
+<p>"Recipient" means anyone who receives the Program under
+this Agreement, including all Contributors.</p>
+
+<p><b>2. GRANT OF RIGHTS</b></p>
+
+<p class="list">a) Subject to the terms of this Agreement, each
+Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free copyright license to reproduce, prepare derivative works
+of, publicly display, publicly perform, distribute and sublicense the
+Contribution of such Contributor, if any, and such derivative works, in
+source code and object code form.</p>
+
+<p class="list">b) Subject to the terms of this Agreement, each
+Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free patent license under Licensed Patents to make, use, sell,
+offer to sell, import and otherwise transfer the Contribution of such
+Contributor, if any, in source code and object code form. This patent
+license shall apply to the combination of the Contribution and the
+Program if, at the time the Contribution is added by the Contributor,
+such addition of the Contribution causes such combination to be covered
+by the Licensed Patents. The patent license shall not apply to any other
+combinations which include the Contribution. No hardware per se is
+licensed hereunder.</p>
+
+<p class="list">c) Recipient understands that although each Contributor
+grants the licenses to its Contributions set forth herein, no assurances
+are provided by any Contributor that the Program does not infringe the
+patent or other intellectual property rights of any other entity. Each
+Contributor disclaims any liability to Recipient for claims brought by
+any other entity based on infringement of intellectual property rights
+or otherwise. As a condition to exercising the rights and licenses
+granted hereunder, each Recipient hereby assumes sole responsibility to
+secure any other intellectual property rights needed, if any. For
+example, if a third party patent license is required to allow Recipient
+to distribute the Program, it is Recipient's responsibility to acquire
+that license before distributing the Program.</p>
+
+<p class="list">d) Each Contributor represents that to its knowledge it
+has sufficient copyright rights in its Contribution, if any, to grant
+the copyright license set forth in this Agreement.</p>
+
+<p><b>3. REQUIREMENTS</b></p>
+
+<p>A Contributor may choose to distribute the Program in object code
+form under its own license agreement, provided that:</p>
+
+<p class="list">a) it complies with the terms and conditions of this
+Agreement; and</p>
+
+<p class="list">b) its license agreement:</p>
+
+<p class="list">i) effectively disclaims on behalf of all Contributors
+all warranties and conditions, express and implied, including warranties
+or conditions of title and non-infringement, and implied warranties or
+conditions of merchantability and fitness for a particular purpose;</p>
+
+<p class="list">ii) effectively excludes on behalf of all Contributors
+all liability for damages, including direct, indirect, special,
+incidental and consequential damages, such as lost profits;</p>
+
+<p class="list">iii) states that any provisions which differ from this
+Agreement are offered by that Contributor alone and not by any other
+party; and</p>
+
+<p class="list">iv) states that source code for the Program is available
+from such Contributor, and informs licensees how to obtain it in a
+reasonable manner on or through a medium customarily used for software
+exchange.</p>
+
+<p>When the Program is made available in source code form:</p>
+
+<p class="list">a) it must be made available under this Agreement; and</p>
+
+<p class="list">b) a copy of this Agreement must be included with each
+copy of the Program.</p>
+
+<p>Contributors may not remove or alter any copyright notices contained
+within the Program.</p>
+
+<p>Each Contributor must identify itself as the originator of its
+Contribution, if any, in a manner that reasonably allows subsequent
+Recipients to identify the originator of the Contribution.</p>
+
+<p><b>4. COMMERCIAL DISTRIBUTION</b></p>
+
+<p>Commercial distributors of software may accept certain
+responsibilities with respect to end users, business partners and the
+like. While this license is intended to facilitate the commercial use of
+the Program, the Contributor who includes the Program in a commercial
+product offering should do so in a manner which does not create
+potential liability for other Contributors. Therefore, if a Contributor
+includes the Program in a commercial product offering, such Contributor
+("Commercial Contributor") hereby agrees to defend and
+indemnify every other Contributor ("Indemnified Contributor")
+against any losses, damages and costs (collectively "Losses")
+arising from claims, lawsuits and other legal actions brought by a third
+party against the Indemnified Contributor to the extent caused by the
+acts or omissions of such Commercial Contributor in connection with its
+distribution of the Program in a commercial product offering. The
+obligations in this section do not apply to any claims or Losses
+relating to any actual or alleged intellectual property infringement. In
+order to qualify, an Indemnified Contributor must: a) promptly notify
+the Commercial Contributor in writing of such claim, and b) allow the
+Commercial Contributor to control, and cooperate with the Commercial
+Contributor in, the defense and any related settlement negotiations. The
+Indemnified Contributor may participate in any such claim at its own
+expense.</p>
+
+<p>For example, a Contributor might include the Program in a commercial
+product offering, Product X. That Contributor is then a Commercial
+Contributor. If that Commercial Contributor then makes performance
+claims, or offers warranties related to Product X, those performance
+claims and warranties are such Commercial Contributor's responsibility
+alone. Under this section, the Commercial Contributor would have to
+defend claims against the other Contributors related to those
+performance claims and warranties, and if a court requires any other
+Contributor to pay any damages as a result, the Commercial Contributor
+must pay those damages.</p>
+
+<p><b>5. NO WARRANTY</b></p>
+
+<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS
+PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
+OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION,
+ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY
+OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
+responsible for determining the appropriateness of using and
+distributing the Program and assumes all risks associated with its
+exercise of rights under this Agreement , including but not limited to
+the risks and costs of program errors, compliance with applicable laws,
+damage to or loss of data, programs or equipment, and unavailability or
+interruption of operations.</p>
+
+<p><b>6. DISCLAIMER OF LIABILITY</b></p>
+
+<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT
+NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING
+WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR
+DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
+HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</p>
+
+<p><b>7. GENERAL</b></p>
+
+<p>If any provision of this Agreement is invalid or unenforceable under
+applicable law, it shall not affect the validity or enforceability of
+the remainder of the terms of this Agreement, and without further action
+by the parties hereto, such provision shall be reformed to the minimum
+extent necessary to make such provision valid and enforceable.</p>
+
+<p>If Recipient institutes patent litigation against any entity
+(including a cross-claim or counterclaim in a lawsuit) alleging that the
+Program itself (excluding combinations of the Program with other
+software or hardware) infringes such Recipient's patent(s), then such
+Recipient's rights granted under Section 2(b) shall terminate as of the
+date such litigation is filed.</p>
+
+<p>All Recipient's rights under this Agreement shall terminate if it
+fails to comply with any of the material terms or conditions of this
+Agreement and does not cure such failure in a reasonable period of time
+after becoming aware of such noncompliance. If all Recipient's rights
+under this Agreement terminate, Recipient agrees to cease use and
+distribution of the Program as soon as reasonably practicable. However,
+Recipient's obligations under this Agreement and any licenses granted by
+Recipient relating to the Program shall continue and survive.</p>
+
+<p>Everyone is permitted to copy and distribute copies of this
+Agreement, but in order to avoid inconsistency the Agreement is
+copyrighted and may only be modified in the following manner. The
+Agreement Steward reserves the right to publish new versions (including
+revisions) of this Agreement from time to time. No one other than the
+Agreement Steward has the right to modify this Agreement. The Eclipse
+Foundation is the initial Agreement Steward. The Eclipse Foundation may
+assign the responsibility to serve as the Agreement Steward to a
+suitable separate entity. Each new version of the Agreement will be
+given a distinguishing version number. The Program (including
+Contributions) may always be distributed subject to the version of the
+Agreement under which it was received. In addition, after a new version
+of the Agreement is published, Contributor may elect to distribute the
+Program (including its Contributions) under the new version. Except as
+expressly stated in Sections 2(a) and 2(b) above, Recipient receives no
+rights or licenses to the intellectual property of any Contributor under
+this Agreement, whether expressly, by implication, estoppel or
+otherwise. All rights in the Program not expressly granted under this
+Agreement are reserved.</p>
+
+<p>This Agreement is governed by the laws of the State of New York and
+the intellectual property laws of the United States of America. No party
+to this Agreement will bring a legal action under this Agreement more
+than one year after the cause of action arose. Each party waives its
+rights to a jury trial in any resulting litigation.</p>
+
+
+
+</body></html>
\ No newline at end of file
diff --git a/org.eclipse.osbp.utils.entitymock.dbfill.ui/license.html b/org.eclipse.osbp.utils.entitymock.dbfill.ui/license.html
new file mode 100644
index 0000000..6e579a5
--- /dev/null
+++ b/org.eclipse.osbp.utils.entitymock.dbfill.ui/license.html
@@ -0,0 +1,164 @@
+<!--?xml version="1.0" encoding="ISO-8859-1" ?-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Eclipse Foundation Software User Agreement</title>
+</head>
+
+<body lang="EN-US">
+<h2>Eclipse Foundation Software User Agreement</h2>
+<p>February 1, 2011</p>
+
+<h3>Usage Of Content</h3>
+
+<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
+   (COLLECTIVELY "CONTENT").  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
+   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
+   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
+   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
+   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
+
+<h3>Applicable Licenses</h3>
+
+<p>Unless otherwise indicated, all Content made available by the Eclipse
+ Foundation is provided to you under the terms and conditions of the 
+Eclipse Public License Version 1.0
+   ("EPL").  A copy of the EPL is provided with this Content and is also
+ available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+   For purposes of the EPL, "Program" will mean the Content.</p>
+
+<p>Content includes, but is not limited to, source code, object code, 
+documentation and other files maintained in the Eclipse Foundation 
+source code
+   repository ("Repository") in software modules ("Modules") and made 
+available as downloadable archives ("Downloads").</p>
+
+<ul>
+       <li>Content may be structured and packaged into modules to 
+facilitate delivering, extending, and upgrading the Content.  Typical 
+modules may include plug-ins ("Plug-ins"), plug-in fragments 
+("Fragments"), and features ("Features").</li>
+       <li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&#8482; ARchive) in a directory named "plugins".</li>
+       <li>A Feature is a bundle of one or more Plug-ins and/or 
+Fragments and associated material.  Each Feature may be packaged as a 
+sub-directory in a directory named "features".  Within a Feature, files 
+named "feature.xml" may contain a list of the names and version numbers 
+of the Plug-ins
+      and/or Fragments associated with that Feature.</li>
+       <li>Features may also include other Features ("Included 
+Features"). Within a Feature, files named "feature.xml" may contain a 
+list of the names and version numbers of Included Features.</li>
+</ul>
+
+<p>The terms and conditions governing Plug-ins and Fragments should be 
+contained in files named "about.html" ("Abouts"). The terms and 
+conditions governing Features and
+Included Features should be contained in files named "license.html" 
+("Feature Licenses").  Abouts and Feature Licenses may be located in any
+ directory of a Download or Module
+including, but not limited to the following locations:</p>
+
+<ul>
+       <li>The top-level (root) directory</li>
+       <li>Plug-in and Fragment directories</li>
+       <li>Inside Plug-ins and Fragments packaged as JARs</li>
+       <li>Sub-directories of the directory named "src" of certain Plug-ins</li>
+       <li>Feature directories</li>
+</ul>
+
+<p>Note: if a Feature made available by the Eclipse Foundation is 
+installed using the Provisioning Technology (as defined below), you must
+ agree to a license ("Feature Update License") during the
+installation process.  If the Feature contains Included Features, the 
+Feature Update License should either provide you with the terms and 
+conditions governing the Included Features or
+inform you where you can locate them.  Feature Update Licenses may be 
+found in the "license" property of files named "feature.properties" 
+found within a Feature.
+Such Abouts, Feature Licenses, and Feature Update Licenses contain the 
+terms and conditions (or references to such terms and conditions) that 
+govern your use of the associated Content in
+that directory.</p>
+
+<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER 
+TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.
+  SOME OF THESE
+OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
+
+<ul>
+       <li>Eclipse Distribution License Version 1.0 (available at <a href="http://www.eclipse.org/licenses/edl-v10.html">http://www.eclipse.org/licenses/edl-v1.0.html</a>)</li>
+       <li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
+       <li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
+       <li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
+       <li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
+       <li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
+</ul>
+
+<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND 
+CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, 
+or Feature Update License is provided, please
+contact the Eclipse Foundation to determine what terms and conditions 
+govern that particular Content.</p>
+
+
+<h3>Use of Provisioning Technology</h3>
+
+<p>The Eclipse Foundation makes available provisioning software, 
+examples of which include, but are not limited to, p2 and the Eclipse
+   Update Manager ("Provisioning Technology") for the purpose of 
+allowing users to install software, documentation, information and/or
+   other materials (collectively "Installable Software"). This 
+capability is provided with the intent of allowing such users to
+   install, extend and update Eclipse-based products. Information about 
+packaging Installable Software is available at <a href="http://eclipse.org/equinox/p2/repository_packaging.html">http://eclipse.org/equinox/p2/repository_packaging.html</a>
+   ("Specification").</p>
+
+<p>You may use Provisioning Technology to allow other parties to install
+ Installable Software. You shall be responsible for enabling the
+   applicable license agreements relating to the Installable Software to
+ be presented to, and accepted by, the users of the Provisioning 
+Technology
+   in accordance with the Specification. By using Provisioning 
+Technology in such a manner and making it available in accordance with 
+the
+   Specification, you further acknowledge your agreement to, and the 
+acquisition of all necessary rights to permit the following:</p>
+
+<ol>
+       <li>A series of actions may occur ("Provisioning Process") in 
+which a user may execute the Provisioning Technology
+       on a machine ("Target Machine") with the intent of installing, 
+extending or updating the functionality of an Eclipse-based
+       product.</li>
+       <li>During the Provisioning Process, the Provisioning Technology 
+may cause third party Installable Software or a portion thereof to be
+       accessed and copied to the Target Machine.</li>
+       <li>Pursuant to the Specification, you will provide to the user 
+the terms and conditions that govern the use of the Installable
+       Software ("Installable Software Agreement") and such Installable 
+Software Agreement shall be accessed from the Target
+       Machine in accordance with the Specification. Such Installable 
+Software Agreement must inform the user of the terms and conditions that
+ govern
+       the Installable Software and must solicit acceptance by the end 
+user in the manner prescribed in such Installable Software Agreement. 
+Upon such
+       indication of agreement by the user, the provisioning Technology 
+will complete installation of the Installable Software.</li>
+</ol>
+
+<h3>Cryptography</h3>
+
+<p>Content may contain encryption software. The country in which you are
+ currently may have restrictions on the import, possession, and use, 
+and/or re-export to
+   another country, of encryption software. BEFORE using any encryption 
+software, please check the country's laws, regulations and policies 
+concerning the import,
+   possession, or use, and re-export of encryption software, to see if 
+this is permitted.</p>
+
+<p><small>Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.</small></p>
+
+
+</body></html>
\ No newline at end of file
diff --git a/org.eclipse.osbp.utils.entitymock.dbfill.ui/pom.xml b/org.eclipse.osbp.utils.entitymock.dbfill.ui/pom.xml
new file mode 100644
index 0000000..063f296
--- /dev/null
+++ b/org.eclipse.osbp.utils.entitymock.dbfill.ui/pom.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--#======================================================================= -->
+<!--# Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) -->
+<!--# 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: -->
+<!--#     Christophe Loetz (Loetz GmbH&Co.KG) - initial API and implementation -->
+<!--#======================================================================= -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.eclipse.osbp.xtext.entitymock</groupId>
+        <artifactId>org.eclipse.osbp.xtext.entitymock.aggregator</artifactId>
+        <version>0.9.0-SNAPSHOT</version>
+        <relativePath>..</relativePath>
+    </parent>
+    <artifactId>org.eclipse.osbp.utils.entitymock.dbfill.ui</artifactId>
+    <packaging>eclipse-plugin</packaging>
+</project>
diff --git a/org.eclipse.osbp.utils.entitymock.dbfill.ui/src/org/eclipse/osbp/utils/entitymock/dbfill/ui/Activator.java b/org.eclipse.osbp.utils.entitymock.dbfill.ui/src/org/eclipse/osbp/utils/entitymock/dbfill/ui/Activator.java
new file mode 100644
index 0000000..8892903
--- /dev/null
+++ b/org.eclipse.osbp.utils.entitymock.dbfill.ui/src/org/eclipse/osbp/utils/entitymock/dbfill/ui/Activator.java
@@ -0,0 +1,52 @@
+/**
+ *                                                                            
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *                                                                            
+ * 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:   
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation 
+ */
+package org.eclipse.osbp.utils.entitymock.dbfill.ui;
+
+import org.eclipse.core.runtime.Plugin;
+import org.osgi.framework.BundleActivator;
+import org.osgi.framework.BundleContext;
+
+public class Activator extends Plugin implements BundleActivator {
+
+	private static BundleContext context;
+
+	public Activator() {
+		super();
+		// TODO Auto-generated constructor stub
+	}
+
+	public static BundleContext getContext() {
+		return context;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
+	 */
+	public void start(BundleContext bundleContext) throws Exception {
+		super.start(bundleContext);
+		Activator.context = bundleContext;
+		System.err.println(Activator.class.getCanonicalName()+": started");
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
+	 */
+	public void stop(BundleContext bundleContext) throws Exception {
+		super.stop(bundleContext);
+		Activator.context = null;
+		System.err.println(Activator.class.getCanonicalName()+": stopped");
+	}
+
+}
diff --git a/org.eclipse.osbp.utils.entitymock.dbfill.ui/src/org/eclipse/osbp/utils/entitymock/dbfill/ui/EntityMockGeneratorConsumer.java b/org.eclipse.osbp.utils.entitymock.dbfill.ui/src/org/eclipse/osbp/utils/entitymock/dbfill/ui/EntityMockGeneratorConsumer.java
new file mode 100644
index 0000000..a9a5805
--- /dev/null
+++ b/org.eclipse.osbp.utils.entitymock.dbfill.ui/src/org/eclipse/osbp/utils/entitymock/dbfill/ui/EntityMockGeneratorConsumer.java
@@ -0,0 +1,547 @@
+/**
+ *                                                                            
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *                                                                            
+ * 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:   
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation 
+ */
+package org.eclipse.osbp.utils.entitymock.dbfill.ui;
+
+import java.lang.reflect.Method;
+import java.lang.reflect.Modifier;
+import java.util.ArrayList;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.TreeMap;
+
+import javax.persistence.EntityManager;
+import javax.persistence.EntityManagerFactory;
+import javax.validation.ConstraintViolation;
+import javax.validation.ConstraintViolationException;
+
+import org.eclipse.osbp.dsl.dto.lib.impl.DtoServiceAccess;
+import org.eclipse.osbp.dsl.dto.lib.services.IDTOService;
+import org.eclipse.osbp.dsl.dto.lib.services.IDTOServiceWithMutablePersistence;
+import org.eclipse.osbp.persistence.IPersistenceService;
+import org.eclipse.osbp.preferences.ProductConfiguration;
+import org.eclipse.osbp.ui.initialization.AbstractInitializationListener;
+import org.eclipse.osbp.ui.initialization.AbstractInitializationProvider;
+import org.eclipse.osbp.ui.initialization.IInitializationProvider;
+import org.eclipse.osbp.ui.initialization.InitializationNotification;
+import org.eclipse.osbp.utils.entitymock.IEntityMockDataDbFiller;
+import org.eclipse.osbp.utils.entitymock.IEntityMockDataGenerator;
+import org.eclipse.osbp.utils.entitymock.MockedEntityDto;
+import org.eclipse.persistence.config.PessimisticLock;
+import org.eclipse.persistence.config.QueryHints;
+import org.osgi.service.component.ComponentContext;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Reference;
+import org.osgi.service.component.annotations.ReferenceCardinality;
+import org.osgi.service.component.annotations.ReferencePolicy;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+@Component(service = IInitializationProvider.class, immediate = true)
+public class EntityMockGeneratorConsumer extends AbstractInitializationProvider implements IEntityMockDataDbFiller {
+
+	/**
+	 * Map using the generator as index and a boolean as a value.<br>
+	 * The index (generator) defines the position inside the map by
+	 * <ul>
+	 * <li>the run priority</li>
+	 * <li>the simple class name for identical run priorities</li>
+	 * </ul>
+	 */
+	public final class PriorityGeneratorMap extends TreeMap<IEntityMockDataGenerator, Boolean> implements Comparator<IEntityMockDataGenerator> {
+
+		private static final long serialVersionUID = 1951758628543477475L;
+
+		@Override
+		public int compare(IEntityMockDataGenerator arg0, IEntityMockDataGenerator arg1) {
+			return arg0.compareTo(arg1);
+		}
+	}
+	
+	private final static Logger log = LoggerFactory
+			.getLogger(EntityMockGeneratorConsumer.class);
+
+	/**
+	 * map of existing generators. The boolean value defines
+	 * <ul>
+	 * <li><code>false</code> if the generator must run</li>
+	 * <li><code>true</code> if the generator has been done already</li>
+	 * </ul>  
+	 */
+	private final PriorityGeneratorMap generatorDoneStates = new PriorityGeneratorMap();
+	private IPersistenceService persistenceService;
+	private String mockDataGeneratorFilter = null;
+	private boolean alreadyRun = false;
+	private int totalSteps = 0;
+	private int stepsDone = 0;
+
+	private ComponentContext context;
+
+	public void forceReRun() {
+		if (alreadyRun) {
+			log.info("force re-run, even though it has been running already");
+			alreadyRun = false;
+		}
+	}
+
+	@Override
+	public void setMockDataGeneratorFilter(String filter) {
+		if (filter == null) {
+			mockDataGeneratorFilter = "";
+		} else {
+			mockDataGeneratorFilter = filter;
+		}
+		triggerAllKnownFills();
+	}
+
+	public EntityMockGeneratorConsumer() {
+		log.debug("EntityMockConsumer constructed");
+	}
+
+	@Reference(cardinality = ReferenceCardinality.MULTIPLE, policy = ReferencePolicy.DYNAMIC)
+	public synchronized void bindMockDataGenerator(
+			final IEntityMockDataGenerator generator) {
+		generatorDoneStates.put(generator, false);
+		calculateInitializationTotalSteps();		
+		log.debug("IEntityMockDataGenerator '{}' bound", generator.getClass()
+				.getCanonicalName());
+		if (context != null) {
+			try {
+				triggerSingleFill(generator);
+			} catch (Exception e) {
+				log.error(e.toString());
+			}
+		}
+	}
+
+	public synchronized void unbindMockDataGenerator(
+			final IEntityMockDataGenerator generator) {
+		generatorDoneStates.remove(generator);
+		calculateInitializationTotalSteps();		
+		log.debug("IEntityMockDataGenerator '{}' unbound", generator.getClass()
+				.getCanonicalName());
+	}
+
+	@Reference(cardinality = ReferenceCardinality.MANDATORY, policy = ReferencePolicy.STATIC)
+	public synchronized void bindPersistenceService(final IPersistenceService persistenceService) {
+		setMockDataGeneratorFilter(System
+				.getProperty("mockDataGeneratorFilter"));
+		this.persistenceService = persistenceService;
+		log.debug("PersistenceService '{}' bound", persistenceService.getClass().getCanonicalName());
+	}
+
+	@Override
+	public void addInitializationListener(AbstractInitializationListener listener) {
+		super.addInitializationListener(listener);
+		try {
+			triggerAllKnownFills();
+		} catch (Exception e) {
+			log.error(e.toString());
+		}
+	}
+
+	public void activate(ComponentContext context) {
+		this.context = context;
+	}
+
+	public synchronized void unbindPersistenceService(
+			final IPersistenceService persistenceService) {
+		this.persistenceService = null;
+		log.debug("PersistenceService '{}' unbound", persistenceService.getClass().getCanonicalName());
+	}
+
+	private static ArrayList<Method> findGetters(Class<?> c) {
+		ArrayList<Method> list = new ArrayList<Method>();
+		Method[] methods = c.getDeclaredMethods();
+		for (Method method : methods) {
+			if (isGetter(method)) {
+				list.add(method);
+			}
+		}
+		return list;
+	}
+
+	private static boolean isGetter(Method method) {
+		if (Modifier.isPublic(method.getModifiers())
+				&& method.getParameterTypes().length == 0) {
+			if (method.getName().matches("^get[A-Z].*")
+					&& !method.getReturnType().equals(void.class)) {
+				return true;
+			}
+			if (method.getName().matches("^is[A-Z].*")
+					&& method.getReturnType().equals(boolean.class)) {
+				return true;
+			}
+		}
+		return false;
+	}
+
+	@Override
+	public void triggerDbFill() {
+		if (persistenceService != null) {
+			if (alreadyRun) {
+				log.info("ignore, because it has been running already");
+			} else {
+				alreadyRun = true;
+				log.info("MockDataGenerator Filter=" + mockDataGeneratorFilter);
+				triggerAllKnownFills();
+			}
+		}
+	}
+
+	protected void triggerAllKnownFills() {
+		if	(persistenceService != null) {
+			Thread thread = new Thread() {
+				@Override
+				public synchronized void run() {
+					int countFillRuns = 0;
+					int totalDone = 0;
+					do {
+						log.info("STEP START...");
+						countFillRuns = 0;
+						for (IEntityMockDataGenerator generator : generatorDoneStates.keySet()) {
+							boolean run = triggerSingleFill(generator);
+							log.info(generator.getClass().getCanonicalName()+" -> "+run);
+							if	(run) {
+								countFillRuns += 1;
+								totalDone += 1;
+							}
+						}
+						log.info("STEP done with "+countFillRuns+" done");
+					} while (countFillRuns > 0);
+					if	(totalDone > 0) {
+						notifyInitializationDone();
+					}
+					log.info("TRIGGER DONE...");
+				}
+			};
+			thread.start();
+		}
+	}
+
+	protected boolean triggerSingleFill(IEntityMockDataGenerator generator) {
+		boolean singleFillRun = false;
+		try {
+			singleFillRun = _triggerSingleFill(generator);
+		}
+		catch (Exception e) {
+			log.error("triggerSingleFill: " + generator.getClass().getCanonicalName(), e);
+		}
+		return singleFillRun;
+	}
+	
+	private boolean _triggerSingleFill(IEntityMockDataGenerator generator) {
+		boolean singleFillDone;
+		if ((mockDataGeneratorFilter != null) && (persistenceService != null)
+				&& generatorDoneStates.containsKey(generator)
+				&& !generatorDoneStates.get(generator)) {
+			if (mockDataGeneratorFilter.contains("*")
+					|| mockDataGeneratorFilter.contains(generator.getClass()
+							.getCanonicalName())) {
+
+				String lastDone = ProductConfiguration
+						.isMockDataGeneratorDone(generator);
+
+				if (mockDataGeneratorFilter.contains("NEVER-*")
+						|| mockDataGeneratorFilter.contains("NEVER-"
+								+ generator.getClass().getCanonicalName())) {
+					lastDone = "NEVER " + lastDone;
+				}
+
+				if (mockDataGeneratorFilter.contains("FORCE-*")
+						|| mockDataGeneratorFilter.contains("FORCE-"
+								+ generator.getClass().getCanonicalName())) {
+					if (lastDone != null && !lastDone.isEmpty()) {
+						log.debug("force   generator: "
+								+ generator.getClass().getCanonicalName()
+								+ " even already done at " + lastDone
+								+ " because of option FORCE");
+					}
+					lastDone = null;
+				}
+
+				if (lastDone != null && !lastDone.isEmpty()) {
+					log.debug("ignore  generator: "
+							+ generator.getClass().getCanonicalName()
+							+ " because already done at " + lastDone);
+					generatorDoneStates.put(generator, true);
+					singleFillDone = false;
+				} else {
+					log.debug("running generator: "
+							+ generator.getClass().getCanonicalName());
+					log.debug("run data interchanges");
+					generator.runDataInterchanges(persistenceService, this);
+
+					log.debug("generate mock data");
+					Map<MockedEntityDto, List<Object>> result = generator
+							.getMockData(this);
+
+					// --- just preview of mock data ---
+					if (log.isTraceEnabled()) {
+						for (MockedEntityDto mockedEntityDto : result.keySet()) {
+							List<Object> resultEntities = result
+									.get(mockedEntityDto);
+							Class<?> resultClass = mockedEntityDto
+									.getEntityDtoClass();
+							String persistenceUnit = mockedEntityDto
+									.getPersistenceUnit();
+							log.trace("--> " + resultClass.getCanonicalName()
+									+ " @ " + persistenceUnit + ": "
+									+ resultEntities.size() + " entities");
+						}
+					}
+
+					// ---
+					for (MockedEntityDto mockedEntityDto : result.keySet()) {
+
+						List<Object> resultEntities = result
+								.get(mockedEntityDto);
+						Class<?> resultClass = mockedEntityDto
+								.getEntityDtoClass();
+						String persistenceUnit = mockedEntityDto
+								.getPersistenceUnit();
+						log.trace("------ " + resultClass.getCanonicalName()
+								+ " @ " + persistenceUnit + ": "
+								+ resultEntities.size() + " entities");
+						String[] tokens = resultClass.getName().replace("Dto", "").split("\\.");
+						String shortClassName = "";
+						for	(int i = 0; i < tokens.length-1; i++) {
+							shortClassName += tokens[i].charAt(0)+".";
+						}
+						shortClassName += tokens[tokens.length-1];
+						notifyInitializationStep("persist "+shortClassName, 1, 0.3);
+						IDTOService dtoService = null;
+						EntityManager em = null;
+						try {
+							persistenceService.registerPersistenceUnit(persistenceUnit, resultClass);
+							EntityManagerFactory emf = persistenceService.getEntityManagerFactory(persistenceUnit);
+							if	(emf == null) {
+								log.error(
+										"maybe EMF is not set?!? - while updating instance of "
+												+ resultClass.getCanonicalName()
+												+ " in persistence "
+												+ persistenceUnit);
+							}
+							em = emf.createEntityManager();
+				    		em.getTransaction().begin();
+				    		em.setProperty(QueryHints.PESSIMISTIC_LOCK, PessimisticLock.Lock);
+							// IDTOServiceWithMutablePersistence<Object>
+							// dtoService =
+							// (IDTOServiceWithMutablePersistence<Object>)
+							// DtoServiceAccess.getService(resultClass);
+							dtoService = (IDTOService) DtoServiceAccess
+									.getService(resultClass);
+							if (dtoService instanceof IDTOServiceWithMutablePersistence) {
+								((IDTOServiceWithMutablePersistence) dtoService)
+										.setPersistenceId(persistenceUnit);
+							}
+							// TODO hint! as of 20.05.2015 in the model services
+							// file, EVERY dtoservice has to contain 'mutable
+							// persistenceID foodmart'
+							else {
+								log.error(resultClass.getCanonicalName()
+										+ " in persistence "
+										+ persistenceUnit
+										+ ": as of 20.05.2015 in the model services file, EVERY dtoservice has to contain 'mutable persistenceID foodmart'");
+							}
+
+							if (dtoService == null) {
+								log.error("NO DTO SERVICE FOUND for "
+										+ resultClass.getCanonicalName()
+										+ " in persistence " + persistenceUnit);
+							} else {
+								int total = resultEntities.size();
+								int count = 0;
+								long lastStep = System.currentTimeMillis();
+								notifyInitializationStep("persist "+shortClassName, 0, 0.4, count, total);
+								for (Object dtoObject : resultEntities) {
+									try {
+										dtoService.update(resultClass
+												.cast(dtoObject));
+									}
+									catch (ConstraintViolationException cve) {
+										log.error(shortClassName+" #"+(count+1)+"/"+total+": "+cve.getLocalizedMessage());
+										for	(ConstraintViolation violation : cve.getConstraintViolations()) {
+											Object value = violation.getInvalidValue();
+											if	(value == null) {
+												value = "<null>";
+											}
+											log.error("- property:"
+												+violation.getLeafBean().toString()+"."+violation.getPropertyPath().toString()
+												+" value:'"+value.toString()
+												+" violation:"+violation.getMessage());
+										}
+									}
+									count++;
+									long thisStep = System.currentTimeMillis();
+									if	((count % getInitializationSubStepNotifySize() == 0) || (thisStep-lastStep > 2500)) {
+										lastStep = System.currentTimeMillis();
+										notifyInitializationStep("persist "+shortClassName, 0.4, 0.5, count, total);
+									}
+								}
+								notifyInitializationStep("persist "+shortClassName, 0, 0.9, count, total);
+							}
+				    		em.getTransaction().commit();
+				    		
+							logTraceEntities(resultEntities, resultClass);
+				    		
+						} catch (NullPointerException npe) {
+							if	(em != null) {
+								em.getTransaction().rollback();
+							}
+							log.error(
+									"maybe EMF is not set?!? - while updating instance of "
+											+ resultClass.getCanonicalName()
+											+ " in persistence "
+											+ persistenceUnit, npe);
+						} catch (Exception e) {
+							if	(em != null) {
+								em.getTransaction().rollback();
+							}
+							log.error("while updating instance of "
+									+ resultClass.getCanonicalName()
+									+ " in persistence " + persistenceUnit, e);
+						}
+						if	(em != null) {
+				    		em.close();
+						}
+					}
+					generatorDoneStates.put(generator, true);
+					ProductConfiguration.setMockDataGeneratorDone(generator);
+					singleFillDone = true;
+				}
+			} else {
+				log.info("ignore  generator: "
+						+ generator.getClass().getCanonicalName());
+				singleFillDone = false;
+			}
+		}
+		else {
+			singleFillDone = false;
+		}
+		return singleFillDone;
+	}
+
+	private void logTraceEntities(List<Object> resultEntities,
+			Class<?> resultClass) {
+		if (log.isTraceEnabled()) {
+			List<Method> getters = findGetters(resultClass);
+			Map<String, Integer> columns = new HashMap<String, Integer>();
+			for (Method getter : getters) {
+				String column = getter.getName().substring(3);
+				columns.put(column, column.length());
+			}
+			for (Object entity : resultEntities) {
+				for (Method getter : getters) {
+					try {
+						String column = getter.getName().substring(3);
+						Object value = getter.invoke(entity, (Object[]) null);
+						String text = (value == null ? "<null>" : value.toString());
+						text = text.replace("\n", "\\n");
+						if (text.length() > columns.get(column)) {
+							columns.put(column, text.length());
+						}
+					} catch (Exception e) {
+					}
+				}
+			}
+			{
+				String line = "ID  ";
+				for (Method getter : getters) {
+					String column = getter.getName().substring(3);
+					line += "|" + String.format("%-" + columns.get(column) + "s", column);
+				}
+				log.trace(line);
+			}
+			int id = 0;
+			for (Object entity : resultEntities) {
+				id += 1;
+				String line = String.format("%-4d", id);
+				for (Method getter : getters) {
+					try {
+						String column = getter.getName().substring(3);
+						Object value = getter.invoke(entity,(Object[]) null);
+						String text = (value == null ? "<null>" : value.toString());
+						text = text.replace("\n", "\\n");
+						line += "|" + String.format("%-"+ columns.get(column)+ "s", text);
+					} catch (Exception e) {
+					}
+				}
+				log.trace(line);
+			}
+		}
+	}
+
+	@Override
+	public boolean hasInitializationToBeDone() {
+		for (IEntityMockDataGenerator generator : generatorDoneStates.keySet()) {
+			if	(!generatorDoneStates.get(generator)) {
+				return true;
+			}
+		}
+		return false;
+	}
+
+	private void calculateInitializationTotalSteps() {
+		totalSteps = 0;
+		stepsDone = 0;
+		for (IEntityMockDataGenerator generator : generatorDoneStates.keySet()) {
+			int steps =
+				// --- each data interchange
+				generator.getDataInterchangeSteps()
+				// --- each entity mock generating
+				+ generator.getEntityMockSteps()
+				// --- each entity persisting
+				+ generator.getEntityMockSteps();
+			totalSteps += steps;
+			if	(generatorDoneStates.get(generator)) {
+				stepsDone += steps;
+			}
+		}
+	}
+	
+	@Override
+	public int getInitializationTotalSteps() {
+		return totalSteps;
+	}
+
+	@Override
+	public String getInitializationProviderTitle() {
+		return "Mock";
+	}
+
+	@Override
+	public void notifyInitializationDone() {
+		if	(log.isDebugEnabled()) { log.debug("initialization done"); }
+		super.notifyInitializationDone();
+	}
+
+	@Override
+	public void notifyInitializationStep(String stepTitle, int addSteps, double progressOfStep) {
+		stepsDone += addSteps;
+		InitializationNotification notification = new InitializationNotification(this, stepTitle, stepsDone, progressOfStep);
+		if	(log.isDebugEnabled()) { log.debug("initialization: "+notification.getRecommendedProgressTitle(true)); }
+		notifyInitializationStep(notification);
+	}
+
+	@Override
+	public void notifyInitializationStep(String stepTitle, double progressOfStep, double sizeOfSubProgress, int count, int total) {
+		notifyInitializationStep(stepTitle+" "+count+"/"+total, 0, (progressOfStep + sizeOfSubProgress*(double)count/(double)total));
+	}
+
+	@Override
+	public int getInitializationSubStepNotifySize() {
+		return 100;
+	}
+}
diff --git a/org.eclipse.osbp.xtext.entitymock.feature/.project b/org.eclipse.osbp.xtext.entitymock.feature/.project
new file mode 100644
index 0000000..0bf87e0
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.feature/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.osbp.xtext.entitymock.feature</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.FeatureBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.sonarlint.eclipse.core.sonarlintBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+		<nature>org.eclipse.pde.FeatureNature</nature>
+	</natures>
+</projectDescription>
diff --git a/org.eclipse.osbp.xtext.entitymock.feature/LICENSE.txt b/org.eclipse.osbp.xtext.entitymock.feature/LICENSE.txt
new file mode 100644
index 0000000..ff42ad4
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.feature/LICENSE.txt
@@ -0,0 +1,161 @@
+Eclipse Public License -v 1.0
+
+THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION
+OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+
+1. DEFINITIONS
+
+"Contribution" means:
+
+a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and
+
+b) in the case of each subsequent Contributor:
+
+i) changes to the Program, and
+
+ii) additions to the Program;
+
+where such changes and/or additions to the Program originate from and are distributed by that particular Contributor.
+A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone
+acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate
+modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not
+derivative works of the Program.
+
+"Contributor" means any person or entity that distributes the Program.
+
+"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of
+its Contribution alone or when combined with the Program.
+
+"Program" means the Contributions distributed in accordance with this Agreement.
+
+"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.
+
+2. GRANT OF RIGHTS
+
+a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute
+and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code
+form.
+
+b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the
+Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the
+combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such
+addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not
+apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder.
+
+c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no
+assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property
+rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity
+based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and
+licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property
+rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the
+Program, it is Recipient's responsibility to acquire that license before distributing the Program.
+
+d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to
+grant the copyright license set forth in this Agreement.
+
+3. REQUIREMENTS
+
+A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:
+
+a) it complies with the terms and conditions of this Agreement; and
+
+b) its license agreement:
+
+i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including
+warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and
+fitness for a particular purpose;
+
+ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special,
+incidental and consequential damages, such as lost profits;
+
+iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any
+other party; and
+
+iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it
+in a reasonable manner on or through a medium customarily used for software exchange.
+
+When the Program is made available in source code form:
+
+a) it must be made available under this Agreement; and
+
+b) a copy of this Agreement must be included with each copy of the Program.
+
+Contributors may not remove or alter any copyright notices contained within the Program.
+
+Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows
+subsequent Recipients to identify the originator of the Contribution.
+
+4. COMMERCIAL DISTRIBUTION
+
+Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and
+the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes
+the Program in a commercial product offering should do so in a manner which does not create potential liability for
+other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor
+("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor")
+against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions
+brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such
+Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The
+obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual
+property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
+Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the
+Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may
+ participate in any such claim at its own expense.
+
+For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is
+then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties
+related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone.
+Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to
+those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result,
+the Commercial Contributor must pay those damages.
+
+5. NO WARRANTY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR
+CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE,
+NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for
+determining the appropriateness of using and distributing the Program and assumes all risks associated with its
+exercise of rights under this Agreement , including but not limited to the risks and costs of program errors, compliance
+with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations.
+
+6. DISCLAIMER OF LIABILITY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS),
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
+HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. GENERAL
+
+If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or
+enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such
+provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+
+If Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit)
+alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such
+Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such
+litigation is filed.
+
+All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or
+conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such
+noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution
+of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses
+ granted by Recipient relating to the Program shall continue and survive.
+
+Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement
+is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish
+new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the
+right to modify this Agreement. The Eclipse Foundation is the initial Agreement Steward. The Eclipse Foundation may
+assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the
+Agreement will be given a distinguishing version number. The Program (including Contributions) may always be
+distributed subject to the version of the Agreement under which it was received. In addition, after a new version of
+the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the
+new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
+the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or
+otherwise. All rights in the Program not expressly granted under this Agreement are reserved.
+
+This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States
+of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause
+of action arose. Each party waives its rights to a jury trial in any resulting litigation.
\ No newline at end of file
diff --git a/org.eclipse.osbp.xtext.entitymock.feature/build.properties b/org.eclipse.osbp.xtext.entitymock.feature/build.properties
new file mode 100644
index 0000000..b8920ff
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.feature/build.properties
@@ -0,0 +1,2 @@
+bin.includes = license.html,  epl-v10.html,  feature.xml,\
+               feature.properties
diff --git a/org.eclipse.osbp.xtext.entitymock.feature/epl-v10.html b/org.eclipse.osbp.xtext.entitymock.feature/epl-v10.html
new file mode 100644
index 0000000..b398acc
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.feature/epl-v10.html
@@ -0,0 +1,259 @@
+<!--?xml version="1.0" encoding="ISO-8859-1" ?-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Eclipse Public License - Version 1.0</title>
+<style type="text/css">
+  body {
+    size: 8.5in 11.0in;
+    margin: 0.25in 0.5in 0.25in 0.5in;
+    tab-interval: 0.5in;
+    }
+  p {  	
+    margin-left: auto;
+    margin-top:  0.5em;
+    margin-bottom: 0.5em;
+    }
+  p.list {
+  	margin-left: 0.5in;
+    margin-top:  0.05em;
+    margin-bottom: 0.05em;
+    }
+  </style>
+
+</head>
+
+<body lang="EN-US">
+
+<h2>Eclipse Public License - v 1.0</h2>
+
+<p>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
+PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR
+DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS
+AGREEMENT.</p>
+
+<p><b>1. DEFINITIONS</b></p>
+
+<p>"Contribution" means:</p>
+
+<p class="list">a) in the case of the initial Contributor, the initial
+code and documentation distributed under this Agreement, and</p>
+<p class="list">b) in the case of each subsequent Contributor:</p>
+<p class="list">i) changes to the Program, and</p>
+<p class="list">ii) additions to the Program;</p>
+<p class="list">where such changes and/or additions to the Program
+originate from and are distributed by that particular Contributor. A
+Contribution 'originates' from a Contributor if it was added to the
+Program by such Contributor itself or anyone acting on such
+Contributor's behalf. Contributions do not include additions to the
+Program which: (i) are separate modules of software distributed in
+conjunction with the Program under their own license agreement, and (ii)
+are not derivative works of the Program.</p>
+
+<p>"Contributor" means any person or entity that distributes
+the Program.</p>
+
+<p>"Licensed Patents" mean patent claims licensable by a
+Contributor which are necessarily infringed by the use or sale of its
+Contribution alone or when combined with the Program.</p>
+
+<p>"Program" means the Contributions distributed in accordance
+with this Agreement.</p>
+
+<p>"Recipient" means anyone who receives the Program under
+this Agreement, including all Contributors.</p>
+
+<p><b>2. GRANT OF RIGHTS</b></p>
+
+<p class="list">a) Subject to the terms of this Agreement, each
+Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free copyright license to reproduce, prepare derivative works
+of, publicly display, publicly perform, distribute and sublicense the
+Contribution of such Contributor, if any, and such derivative works, in
+source code and object code form.</p>
+
+<p class="list">b) Subject to the terms of this Agreement, each
+Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free patent license under Licensed Patents to make, use, sell,
+offer to sell, import and otherwise transfer the Contribution of such
+Contributor, if any, in source code and object code form. This patent
+license shall apply to the combination of the Contribution and the
+Program if, at the time the Contribution is added by the Contributor,
+such addition of the Contribution causes such combination to be covered
+by the Licensed Patents. The patent license shall not apply to any other
+combinations which include the Contribution. No hardware per se is
+licensed hereunder.</p>
+
+<p class="list">c) Recipient understands that although each Contributor
+grants the licenses to its Contributions set forth herein, no assurances
+are provided by any Contributor that the Program does not infringe the
+patent or other intellectual property rights of any other entity. Each
+Contributor disclaims any liability to Recipient for claims brought by
+any other entity based on infringement of intellectual property rights
+or otherwise. As a condition to exercising the rights and licenses
+granted hereunder, each Recipient hereby assumes sole responsibility to
+secure any other intellectual property rights needed, if any. For
+example, if a third party patent license is required to allow Recipient
+to distribute the Program, it is Recipient's responsibility to acquire
+that license before distributing the Program.</p>
+
+<p class="list">d) Each Contributor represents that to its knowledge it
+has sufficient copyright rights in its Contribution, if any, to grant
+the copyright license set forth in this Agreement.</p>
+
+<p><b>3. REQUIREMENTS</b></p>
+
+<p>A Contributor may choose to distribute the Program in object code
+form under its own license agreement, provided that:</p>
+
+<p class="list">a) it complies with the terms and conditions of this
+Agreement; and</p>
+
+<p class="list">b) its license agreement:</p>
+
+<p class="list">i) effectively disclaims on behalf of all Contributors
+all warranties and conditions, express and implied, including warranties
+or conditions of title and non-infringement, and implied warranties or
+conditions of merchantability and fitness for a particular purpose;</p>
+
+<p class="list">ii) effectively excludes on behalf of all Contributors
+all liability for damages, including direct, indirect, special,
+incidental and consequential damages, such as lost profits;</p>
+
+<p class="list">iii) states that any provisions which differ from this
+Agreement are offered by that Contributor alone and not by any other
+party; and</p>
+
+<p class="list">iv) states that source code for the Program is available
+from such Contributor, and informs licensees how to obtain it in a
+reasonable manner on or through a medium customarily used for software
+exchange.</p>
+
+<p>When the Program is made available in source code form:</p>
+
+<p class="list">a) it must be made available under this Agreement; and</p>
+
+<p class="list">b) a copy of this Agreement must be included with each
+copy of the Program.</p>
+
+<p>Contributors may not remove or alter any copyright notices contained
+within the Program.</p>
+
+<p>Each Contributor must identify itself as the originator of its
+Contribution, if any, in a manner that reasonably allows subsequent
+Recipients to identify the originator of the Contribution.</p>
+
+<p><b>4. COMMERCIAL DISTRIBUTION</b></p>
+
+<p>Commercial distributors of software may accept certain
+responsibilities with respect to end users, business partners and the
+like. While this license is intended to facilitate the commercial use of
+the Program, the Contributor who includes the Program in a commercial
+product offering should do so in a manner which does not create
+potential liability for other Contributors. Therefore, if a Contributor
+includes the Program in a commercial product offering, such Contributor
+("Commercial Contributor") hereby agrees to defend and
+indemnify every other Contributor ("Indemnified Contributor")
+against any losses, damages and costs (collectively "Losses")
+arising from claims, lawsuits and other legal actions brought by a third
+party against the Indemnified Contributor to the extent caused by the
+acts or omissions of such Commercial Contributor in connection with its
+distribution of the Program in a commercial product offering. The
+obligations in this section do not apply to any claims or Losses
+relating to any actual or alleged intellectual property infringement. In
+order to qualify, an Indemnified Contributor must: a) promptly notify
+the Commercial Contributor in writing of such claim, and b) allow the
+Commercial Contributor to control, and cooperate with the Commercial
+Contributor in, the defense and any related settlement negotiations. The
+Indemnified Contributor may participate in any such claim at its own
+expense.</p>
+
+<p>For example, a Contributor might include the Program in a commercial
+product offering, Product X. That Contributor is then a Commercial
+Contributor. If that Commercial Contributor then makes performance
+claims, or offers warranties related to Product X, those performance
+claims and warranties are such Commercial Contributor's responsibility
+alone. Under this section, the Commercial Contributor would have to
+defend claims against the other Contributors related to those
+performance claims and warranties, and if a court requires any other
+Contributor to pay any damages as a result, the Commercial Contributor
+must pay those damages.</p>
+
+<p><b>5. NO WARRANTY</b></p>
+
+<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS
+PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
+OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION,
+ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY
+OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
+responsible for determining the appropriateness of using and
+distributing the Program and assumes all risks associated with its
+exercise of rights under this Agreement , including but not limited to
+the risks and costs of program errors, compliance with applicable laws,
+damage to or loss of data, programs or equipment, and unavailability or
+interruption of operations.</p>
+
+<p><b>6. DISCLAIMER OF LIABILITY</b></p>
+
+<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT
+NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING
+WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR
+DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
+HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</p>
+
+<p><b>7. GENERAL</b></p>
+
+<p>If any provision of this Agreement is invalid or unenforceable under
+applicable law, it shall not affect the validity or enforceability of
+the remainder of the terms of this Agreement, and without further action
+by the parties hereto, such provision shall be reformed to the minimum
+extent necessary to make such provision valid and enforceable.</p>
+
+<p>If Recipient institutes patent litigation against any entity
+(including a cross-claim or counterclaim in a lawsuit) alleging that the
+Program itself (excluding combinations of the Program with other
+software or hardware) infringes such Recipient's patent(s), then such
+Recipient's rights granted under Section 2(b) shall terminate as of the
+date such litigation is filed.</p>
+
+<p>All Recipient's rights under this Agreement shall terminate if it
+fails to comply with any of the material terms or conditions of this
+Agreement and does not cure such failure in a reasonable period of time
+after becoming aware of such noncompliance. If all Recipient's rights
+under this Agreement terminate, Recipient agrees to cease use and
+distribution of the Program as soon as reasonably practicable. However,
+Recipient's obligations under this Agreement and any licenses granted by
+Recipient relating to the Program shall continue and survive.</p>
+
+<p>Everyone is permitted to copy and distribute copies of this
+Agreement, but in order to avoid inconsistency the Agreement is
+copyrighted and may only be modified in the following manner. The
+Agreement Steward reserves the right to publish new versions (including
+revisions) of this Agreement from time to time. No one other than the
+Agreement Steward has the right to modify this Agreement. The Eclipse
+Foundation is the initial Agreement Steward. The Eclipse Foundation may
+assign the responsibility to serve as the Agreement Steward to a
+suitable separate entity. Each new version of the Agreement will be
+given a distinguishing version number. The Program (including
+Contributions) may always be distributed subject to the version of the
+Agreement under which it was received. In addition, after a new version
+of the Agreement is published, Contributor may elect to distribute the
+Program (including its Contributions) under the new version. Except as
+expressly stated in Sections 2(a) and 2(b) above, Recipient receives no
+rights or licenses to the intellectual property of any Contributor under
+this Agreement, whether expressly, by implication, estoppel or
+otherwise. All rights in the Program not expressly granted under this
+Agreement are reserved.</p>
+
+<p>This Agreement is governed by the laws of the State of New York and
+the intellectual property laws of the United States of America. No party
+to this Agreement will bring a legal action under this Agreement more
+than one year after the cause of action arose. Each party waives its
+rights to a jury trial in any resulting litigation.</p>
+
+
+
+</body></html>
\ No newline at end of file
diff --git a/org.eclipse.osbp.xtext.entitymock.feature/feature.properties b/org.eclipse.osbp.xtext.entitymock.feature/feature.properties
new file mode 100644
index 0000000..f926370
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.feature/feature.properties
@@ -0,0 +1,169 @@
+###############################################################################
+# Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany).
+# 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:
+#     Cristiano Gavião - initial API and implementation
+###############################################################################
+# feature.properties
+# contains externalized strings for feature.xml
+# "%foo" in feature.xml corresponds to the key "foo" in this file
+# java.io.Properties file (ISO 8859-1 with "\" escapes)
+# This file should be translated.
+
+# "featureName" property - name of the feature
+featureName =OSBP DSL: Entitymock 
+
+# "providerName" property - name of the company that provides the feature
+providerName=Eclipse OSBP
+
+# "description" property - description of the feature
+description=This feature provides the bundles for the OSBP entitymock.
+
+# "updateSiteName" property - label for the update site
+updateSiteName=
+
+# "copyright" property - text of the "Feature Update Copyright"
+copyright=\
+Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) \n\
+All rights reserved. This program and the accompanying materials\n\
+are made available under the terms of the Eclipse Public License v1.0\n\
+which accompanies this distribution, and is available at\n\
+http://www.eclipse.org/legal/epl-v10.html\n\
+\n\
+################ end of copyright property ####################################
+
+# "licenseURL" property - URL of the "Feature License"
+# do not translate value - just change to point to a locale-specific HTML page
+licenseURL=license.html
+
+# "license" property - text of the "Feature Update License"
+# should be plain text version of license agreement pointed to be "licenseURL"
+license=\
+Eclipse Foundation Software User Agreement\n\
+February 1, 2011\n\
+\n\
+Usage Of Content\n\
+\n\
+THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
+OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
+USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
+AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
+NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU\n\
+AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
+AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
+OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE\n\
+TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
+OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
+BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
+\n\
+Applicable Licenses\n\
+\n\
+Unless otherwise indicated, all Content made available by the\n\
+Eclipse Foundation is provided to you under the terms and conditions of\n\
+the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\
+provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
+For purposes of the EPL, "Program" will mean the Content.\n\
+\n\
+Content includes, but is not limited to, source code, object code,\n\
+documentation and other files maintained in the Eclipse Foundation source code\n\
+repository ("Repository") in software modules ("Modules") and made available\n\
+as downloadable archives ("Downloads").\n\
+\n\
+       - Content may be structured and packaged into modules to facilitate delivering,\n\
+         extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
+         plug-in fragments ("Fragments"), and features ("Features").\n\
+       - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\
+         in a directory named "plugins".\n\
+       - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
+         Each Feature may be packaged as a sub-directory in a directory named "features".\n\
+         Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
+         numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
+       - Features may also include other Features ("Included Features"). Within a Feature, files\n\
+         named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
+\n\
+The terms and conditions governing Plug-ins and Fragments should be\n\
+contained in files named "about.html" ("Abouts"). The terms and\n\
+conditions governing Features and Included Features should be contained\n\
+in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
+Licenses may be located in any directory of a Download or Module\n\
+including, but not limited to the following locations:\n\
+\n\
+       - The top-level (root) directory\n\
+       - Plug-in and Fragment directories\n\
+       - Inside Plug-ins and Fragments packaged as JARs\n\
+       - Sub-directories of the directory named "src" of certain Plug-ins\n\
+       - Feature directories\n\
+\n\
+Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
+Provisioning Technology (as defined below), you must agree to a license ("Feature \n\
+Update License") during the installation process. If the Feature contains\n\
+Included Features, the Feature Update License should either provide you\n\
+with the terms and conditions governing the Included Features or inform\n\
+you where you can locate them. Feature Update Licenses may be found in\n\
+the "license" property of files named "feature.properties" found within a Feature.\n\
+Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\
+terms and conditions (or references to such terms and conditions) that\n\
+govern your use of the associated Content in that directory.\n\
+\n\
+THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\
+TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
+SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
+\n\
+       - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\
+       - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
+       - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
+       - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
+       - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
+       - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
+\n\
+IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
+TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\
+is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
+govern that particular Content.\n\
+\n\
+\n\Use of Provisioning Technology\n\
+\n\
+The Eclipse Foundation makes available provisioning software, examples of which include,\n\
+but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\
+the purpose of allowing users to install software, documentation, information and/or\n\
+other materials (collectively "Installable Software"). This capability is provided with\n\
+the intent of allowing such users to install, extend and update Eclipse-based products.\n\
+Information about packaging Installable Software is available at\n\
+http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\
+\n\
+You may use Provisioning Technology to allow other parties to install Installable Software.\n\
+You shall be responsible for enabling the applicable license agreements relating to the\n\
+Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\
+in accordance with the Specification. By using Provisioning Technology in such a manner and\n\
+making it available in accordance with the Specification, you further acknowledge your\n\
+agreement to, and the acquisition of all necessary rights to permit the following:\n\
+\n\
+       1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\
+          the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\
+          extending or updating the functionality of an Eclipse-based product.\n\
+       2. During the Provisioning Process, the Provisioning Technology may cause third party\n\
+          Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\
+       3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\
+          govern the use of the Installable Software ("Installable Software Agreement") and such\n\
+          Installable Software Agreement shall be accessed from the Target Machine in accordance\n\
+          with the Specification. Such Installable Software Agreement must inform the user of the\n\
+          terms and conditions that govern the Installable Software and must solicit acceptance by\n\
+          the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\
+          indication of agreement by the user, the provisioning Technology will complete installation\n\
+          of the Installable Software.\n\
+\n\
+Cryptography\n\
+\n\
+Content may contain encryption software. The country in which you are\n\
+currently may have restrictions on the import, possession, and use,\n\
+and/or re-export to another country, of encryption software. BEFORE\n\
+using any encryption software, please check the country's laws,\n\
+regulations and policies concerning the import, possession, or use, and\n\
+re-export of encryption software, to see if this is permitted.\n\
+\n\
+Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n
+########### end of license property ##########################################
diff --git a/org.eclipse.osbp.xtext.entitymock.feature/feature.xml b/org.eclipse.osbp.xtext.entitymock.feature/feature.xml
new file mode 100644
index 0000000..47d88be
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.feature/feature.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--#======================================================================= -->
+<!--# Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) -->
+<!--# 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: -->
+<!--#     Christophe Loetz (Loetz GmbH&Co.KG) - initial API and implementation -->
+<!--#======================================================================= -->
+
+<feature
+        id="org.eclipse.osbp.xtext.entitymock.feature"
+        label="%featureName"
+        version="0.9.0.qualifier"
+        provider-name="%providerName">
+        
+    <description>
+        %description
+    </description>
+        
+    <copyright>
+        %copyright
+    </copyright>
+        
+    <license url="%licenseURL">
+        %license
+    </license>
+        
+    <plugin
+        id="org.eclipse.osbp.xtext.entitymock"
+        download-size="0"
+        install-size="0"
+        version="0.0.0"
+        unpack="false"/>
+        
+    <plugin
+        id="org.eclipse.osbp.xtext.entitymock.tests"
+        download-size="0"
+        install-size="0"
+        version="0.0.0"
+        unpack="false"/>
+        
+    <plugin
+        id="org.eclipse.osbp.xtext.entitymock.ui"
+        download-size="0"
+        install-size="0"
+        version="0.0.0"
+        unpack="false"/>
+        
+    <plugin
+        id="org.eclipse.osbp.utils.entitymock.dbfill.ui"
+        download-size="0"
+        install-size="0"
+        version="0.0.0"
+        unpack="false"/>
+        
+</feature>
diff --git a/org.eclipse.osbp.xtext.entitymock.feature/license.html b/org.eclipse.osbp.xtext.entitymock.feature/license.html
new file mode 100644
index 0000000..6e579a5
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.feature/license.html
@@ -0,0 +1,164 @@
+<!--?xml version="1.0" encoding="ISO-8859-1" ?-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Eclipse Foundation Software User Agreement</title>
+</head>
+
+<body lang="EN-US">
+<h2>Eclipse Foundation Software User Agreement</h2>
+<p>February 1, 2011</p>
+
+<h3>Usage Of Content</h3>
+
+<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
+   (COLLECTIVELY "CONTENT").  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
+   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
+   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
+   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
+   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
+
+<h3>Applicable Licenses</h3>
+
+<p>Unless otherwise indicated, all Content made available by the Eclipse
+ Foundation is provided to you under the terms and conditions of the 
+Eclipse Public License Version 1.0
+   ("EPL").  A copy of the EPL is provided with this Content and is also
+ available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+   For purposes of the EPL, "Program" will mean the Content.</p>
+
+<p>Content includes, but is not limited to, source code, object code, 
+documentation and other files maintained in the Eclipse Foundation 
+source code
+   repository ("Repository") in software modules ("Modules") and made 
+available as downloadable archives ("Downloads").</p>
+
+<ul>
+       <li>Content may be structured and packaged into modules to 
+facilitate delivering, extending, and upgrading the Content.  Typical 
+modules may include plug-ins ("Plug-ins"), plug-in fragments 
+("Fragments"), and features ("Features").</li>
+       <li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&#8482; ARchive) in a directory named "plugins".</li>
+       <li>A Feature is a bundle of one or more Plug-ins and/or 
+Fragments and associated material.  Each Feature may be packaged as a 
+sub-directory in a directory named "features".  Within a Feature, files 
+named "feature.xml" may contain a list of the names and version numbers 
+of the Plug-ins
+      and/or Fragments associated with that Feature.</li>
+       <li>Features may also include other Features ("Included 
+Features"). Within a Feature, files named "feature.xml" may contain a 
+list of the names and version numbers of Included Features.</li>
+</ul>
+
+<p>The terms and conditions governing Plug-ins and Fragments should be 
+contained in files named "about.html" ("Abouts"). The terms and 
+conditions governing Features and
+Included Features should be contained in files named "license.html" 
+("Feature Licenses").  Abouts and Feature Licenses may be located in any
+ directory of a Download or Module
+including, but not limited to the following locations:</p>
+
+<ul>
+       <li>The top-level (root) directory</li>
+       <li>Plug-in and Fragment directories</li>
+       <li>Inside Plug-ins and Fragments packaged as JARs</li>
+       <li>Sub-directories of the directory named "src" of certain Plug-ins</li>
+       <li>Feature directories</li>
+</ul>
+
+<p>Note: if a Feature made available by the Eclipse Foundation is 
+installed using the Provisioning Technology (as defined below), you must
+ agree to a license ("Feature Update License") during the
+installation process.  If the Feature contains Included Features, the 
+Feature Update License should either provide you with the terms and 
+conditions governing the Included Features or
+inform you where you can locate them.  Feature Update Licenses may be 
+found in the "license" property of files named "feature.properties" 
+found within a Feature.
+Such Abouts, Feature Licenses, and Feature Update Licenses contain the 
+terms and conditions (or references to such terms and conditions) that 
+govern your use of the associated Content in
+that directory.</p>
+
+<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER 
+TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.
+  SOME OF THESE
+OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
+
+<ul>
+       <li>Eclipse Distribution License Version 1.0 (available at <a href="http://www.eclipse.org/licenses/edl-v10.html">http://www.eclipse.org/licenses/edl-v1.0.html</a>)</li>
+       <li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
+       <li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
+       <li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
+       <li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
+       <li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
+</ul>
+
+<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND 
+CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, 
+or Feature Update License is provided, please
+contact the Eclipse Foundation to determine what terms and conditions 
+govern that particular Content.</p>
+
+
+<h3>Use of Provisioning Technology</h3>
+
+<p>The Eclipse Foundation makes available provisioning software, 
+examples of which include, but are not limited to, p2 and the Eclipse
+   Update Manager ("Provisioning Technology") for the purpose of 
+allowing users to install software, documentation, information and/or
+   other materials (collectively "Installable Software"). This 
+capability is provided with the intent of allowing such users to
+   install, extend and update Eclipse-based products. Information about 
+packaging Installable Software is available at <a href="http://eclipse.org/equinox/p2/repository_packaging.html">http://eclipse.org/equinox/p2/repository_packaging.html</a>
+   ("Specification").</p>
+
+<p>You may use Provisioning Technology to allow other parties to install
+ Installable Software. You shall be responsible for enabling the
+   applicable license agreements relating to the Installable Software to
+ be presented to, and accepted by, the users of the Provisioning 
+Technology
+   in accordance with the Specification. By using Provisioning 
+Technology in such a manner and making it available in accordance with 
+the
+   Specification, you further acknowledge your agreement to, and the 
+acquisition of all necessary rights to permit the following:</p>
+
+<ol>
+       <li>A series of actions may occur ("Provisioning Process") in 
+which a user may execute the Provisioning Technology
+       on a machine ("Target Machine") with the intent of installing, 
+extending or updating the functionality of an Eclipse-based
+       product.</li>
+       <li>During the Provisioning Process, the Provisioning Technology 
+may cause third party Installable Software or a portion thereof to be
+       accessed and copied to the Target Machine.</li>
+       <li>Pursuant to the Specification, you will provide to the user 
+the terms and conditions that govern the use of the Installable
+       Software ("Installable Software Agreement") and such Installable 
+Software Agreement shall be accessed from the Target
+       Machine in accordance with the Specification. Such Installable 
+Software Agreement must inform the user of the terms and conditions that
+ govern
+       the Installable Software and must solicit acceptance by the end 
+user in the manner prescribed in such Installable Software Agreement. 
+Upon such
+       indication of agreement by the user, the provisioning Technology 
+will complete installation of the Installable Software.</li>
+</ol>
+
+<h3>Cryptography</h3>
+
+<p>Content may contain encryption software. The country in which you are
+ currently may have restrictions on the import, possession, and use, 
+and/or re-export to
+   another country, of encryption software. BEFORE using any encryption 
+software, please check the country's laws, regulations and policies 
+concerning the import,
+   possession, or use, and re-export of encryption software, to see if 
+this is permitted.</p>
+
+<p><small>Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.</small></p>
+
+
+</body></html>
\ No newline at end of file
diff --git a/org.eclipse.osbp.xtext.entitymock.feature/pom.xml b/org.eclipse.osbp.xtext.entitymock.feature/pom.xml
new file mode 100644
index 0000000..7f60d84
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.feature/pom.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--#======================================================================= -->
+<!--# Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany). -->
+<!--# 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: -->
+<!--# Christophe Loetz (Loetz GmbH&Co.KG) - initial API and implementation -->
+<!--#======================================================================= -->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.eclipse.osbp.xtext.entitymock</groupId>
+        <artifactId>org.eclipse.osbp.xtext.entitymock.aggregator</artifactId>
+        <version>0.9.0-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>org.eclipse.osbp.xtext.entitymock.feature</artifactId>
+    <packaging>eclipse-feature</packaging>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.eclipse.tycho.extras</groupId>
+                <artifactId>tycho-source-feature-plugin</artifactId>
+                <version>${tychoExtrasVersion}</version>
+                <executions>
+                    <execution>
+                        <id>source-feature</id>
+                        <phase>package</phase>
+                        <goals>
+                            <goal>source-feature</goal>
+                        </goals>
+                    </execution>
+                </executions>
+                <configuration>
+                    <labelSuffix> (source)</labelSuffix>
+                </configuration>
+            </plugin>
+            <plugin>
+                <!-- workaround while bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=398250 
+					is not fixed -->
+                <groupId>org.eclipse.tycho</groupId>
+                <artifactId>tycho-p2-plugin</artifactId>
+                <version>${tycho-version}</version>
+                <executions>
+                    <execution>
+                        <id>attached-p2-metadata</id>
+                        <phase>package</phase>
+                        <goals>
+                            <goal>p2-metadata</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+			<plugin>
+				<artifactId>maven-javadoc-plugin</artifactId>
+				<executions>
+					<execution>
+						<id>javadoc-jar</id>
+						<phase>package</phase>
+						<goals>
+							<goal>jar</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+        </plugins>
+    </build>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.eclipse.osbp.xtext.entitymock</groupId>
+            <artifactId>org.eclipse.osbp.xtext.entitymock</artifactId>
+            <version>0.9.0-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.osbp.xtext.entitymock</groupId>
+            <artifactId>org.eclipse.osbp.xtext.entitymock.ui</artifactId>
+            <version>0.9.0-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.osbp.xtext.entitymock</groupId>
+            <artifactId>org.eclipse.osbp.xtext.entitymock.tests</artifactId>
+            <version>0.9.0-SNAPSHOT</version>
+        </dependency>
+    </dependencies>
+
+</project>
diff --git a/org.eclipse.osbp.xtext.entitymock.feature/src/main/javadoc/README.txt b/org.eclipse.osbp.xtext.entitymock.feature/src/main/javadoc/README.txt
new file mode 100644
index 0000000..831da7e
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.feature/src/main/javadoc/README.txt
@@ -0,0 +1 @@
+Resource folder for javadoc resources.
\ No newline at end of file
diff --git a/org.eclipse.osbp.xtext.entitymock.feature/src/overview.html b/org.eclipse.osbp.xtext.entitymock.feature/src/overview.html
new file mode 100644
index 0000000..296cd66
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.feature/src/overview.html
@@ -0,0 +1,11 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+	<title>OSBP Tools Graphical Entity</title>
+</head>
+<body>
+<p>The <strong>OSBP&nbsp;Xtext&nbsp;Entitymock DSL</strong> contains methods for the creation of test data in an application created&nbsp;with the&nbsp;OSBP Softwarefactory.</p>
+
+<p>&nbsp;</p>
+</body>
+</html>
diff --git a/org.eclipse.osbp.xtext.entitymock.tests/.project b/org.eclipse.osbp.xtext.entitymock.tests/.project
new file mode 100644
index 0000000..b25ad19
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.tests/.project
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.osbp.xtext.entitymock.tests</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.babel.editor.rbeBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.sonarlint.eclipse.core.sonarlintBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
+		<nature>org.eclipse.babel.editor.rbeNature</nature>
+	</natures>
+</projectDescription>
diff --git a/org.eclipse.osbp.xtext.entitymock.tests/LICENSE.txt b/org.eclipse.osbp.xtext.entitymock.tests/LICENSE.txt
new file mode 100644
index 0000000..ff42ad4
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.tests/LICENSE.txt
@@ -0,0 +1,161 @@
+Eclipse Public License -v 1.0
+
+THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION
+OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+
+1. DEFINITIONS
+
+"Contribution" means:
+
+a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and
+
+b) in the case of each subsequent Contributor:
+
+i) changes to the Program, and
+
+ii) additions to the Program;
+
+where such changes and/or additions to the Program originate from and are distributed by that particular Contributor.
+A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone
+acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate
+modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not
+derivative works of the Program.
+
+"Contributor" means any person or entity that distributes the Program.
+
+"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of
+its Contribution alone or when combined with the Program.
+
+"Program" means the Contributions distributed in accordance with this Agreement.
+
+"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.
+
+2. GRANT OF RIGHTS
+
+a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute
+and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code
+form.
+
+b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the
+Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the
+combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such
+addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not
+apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder.
+
+c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no
+assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property
+rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity
+based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and
+licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property
+rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the
+Program, it is Recipient's responsibility to acquire that license before distributing the Program.
+
+d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to
+grant the copyright license set forth in this Agreement.
+
+3. REQUIREMENTS
+
+A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:
+
+a) it complies with the terms and conditions of this Agreement; and
+
+b) its license agreement:
+
+i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including
+warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and
+fitness for a particular purpose;
+
+ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special,
+incidental and consequential damages, such as lost profits;
+
+iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any
+other party; and
+
+iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it
+in a reasonable manner on or through a medium customarily used for software exchange.
+
+When the Program is made available in source code form:
+
+a) it must be made available under this Agreement; and
+
+b) a copy of this Agreement must be included with each copy of the Program.
+
+Contributors may not remove or alter any copyright notices contained within the Program.
+
+Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows
+subsequent Recipients to identify the originator of the Contribution.
+
+4. COMMERCIAL DISTRIBUTION
+
+Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and
+the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes
+the Program in a commercial product offering should do so in a manner which does not create potential liability for
+other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor
+("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor")
+against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions
+brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such
+Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The
+obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual
+property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
+Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the
+Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may
+ participate in any such claim at its own expense.
+
+For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is
+then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties
+related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone.
+Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to
+those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result,
+the Commercial Contributor must pay those damages.
+
+5. NO WARRANTY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR
+CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE,
+NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for
+determining the appropriateness of using and distributing the Program and assumes all risks associated with its
+exercise of rights under this Agreement , including but not limited to the risks and costs of program errors, compliance
+with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations.
+
+6. DISCLAIMER OF LIABILITY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS),
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
+HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. GENERAL
+
+If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or
+enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such
+provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+
+If Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit)
+alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such
+Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such
+litigation is filed.
+
+All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or
+conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such
+noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution
+of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses
+ granted by Recipient relating to the Program shall continue and survive.
+
+Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement
+is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish
+new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the
+right to modify this Agreement. The Eclipse Foundation is the initial Agreement Steward. The Eclipse Foundation may
+assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the
+Agreement will be given a distinguishing version number. The Program (including Contributions) may always be
+distributed subject to the version of the Agreement under which it was received. In addition, after a new version of
+the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the
+new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
+the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or
+otherwise. All rights in the Program not expressly granted under this Agreement are reserved.
+
+This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States
+of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause
+of action arose. Each party waives its rights to a jury trial in any resulting litigation.
\ No newline at end of file
diff --git a/org.eclipse.osbp.xtext.entitymock.tests/META-INF/MANIFEST.MF b/org.eclipse.osbp.xtext.entitymock.tests/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..ed66c7d
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.tests/META-INF/MANIFEST.MF
@@ -0,0 +1,25 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: org.eclipse.osbp.xtext.entitymock.tests
+Bundle-Vendor: Eclipse OSBP
+Bundle-Version: 0.9.0.qualifier
+Bundle-SymbolicName: org.eclipse.osbp.xtext.entitymock.tests;singleton:=true
+Bundle-ActivationPolicy: lazy
+Require-Bundle: com.google.inject;bundle-version="3.0.0",
+ org.eclipse.core.runtime,
+ org.eclipse.xtext.junit4;bundle-version="[2.7.3,2.8.0)",
+ org.eclipse.ui.workbench;resolution:=optional,
+ org.objectweb.asm;bundle-version="[5.0.1,6.0.0)";resolution:=optional,
+ org.eclipse.osbp.xtext.entitymock;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.xtext.entitymock.ui;bundle-version="[0.9.0,0.10.0)"
+Import-Package: com.google.inject;version="1.4.0",
+ org.apache.log4j,
+ org.hamcrest.core,
+ org.junit;version="4.5.0",
+ org.junit.runner;version="4.5.0",
+ org.junit.runner.manipulation;version="4.5.0",
+ org.junit.runner.notification;version="4.5.0",
+ org.junit.runners;version="4.5.0",
+ org.junit.runners.model;version="4.5.0"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Export-Package: org.eclipse.osbp.xtext.entitymock;version="0.9.0"
diff --git a/org.eclipse.osbp.xtext.entitymock.tests/about.html b/org.eclipse.osbp.xtext.entitymock.tests/about.html
new file mode 100644
index 0000000..64c0598
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.tests/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+ 
+<p>June 1, 2016</p>	
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content.  Check the Redistributor's license that was 
+provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/org.eclipse.osbp.xtext.entitymock.tests/about.ini b/org.eclipse.osbp.xtext.entitymock.tests/about.ini
new file mode 100644
index 0000000..7df671f
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.tests/about.ini
@@ -0,0 +1,17 @@
+# about.ini
+# contains information about a feature
+# java.io.Properties file (ISO 8859-1 with "\" escapes)
+# "%key" are externalized strings defined in about.properties
+# This file does not need to be translated.
+
+# Property "aboutText" contains blurb for "About" dialog (translated)
+aboutText=%featureText
+
+# Property "featureImage" contains path to feature image (32x32)
+featureImage=
+
+# Property "appName" contains name of the application (translated)
+appName=%featureName
+
+# Property "welcomePage" contains path to welcome page (special XML-based format)
+welcomePage=
diff --git a/org.eclipse.osbp.xtext.entitymock.tests/about.mappings b/org.eclipse.osbp.xtext.entitymock.tests/about.mappings
new file mode 100644
index 0000000..4511a0a
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.tests/about.mappings
@@ -0,0 +1,6 @@
+# about.mappings
+# contains fill-ins for about.properties
+# java.io.Properties file (ISO 8859-1 with "\" escapes)
+# This file does not need to be translated.
+
+0=qualifier
diff --git a/org.eclipse.osbp.xtext.entitymock.tests/about.properties b/org.eclipse.osbp.xtext.entitymock.tests/about.properties
new file mode 100644
index 0000000..e733f48
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.tests/about.properties
@@ -0,0 +1,26 @@
+#
+# Copyright (c) 2012, 2016 - Loetz GmbH&Co.KG (Heidelberg)
+# 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:
+#    Christophe Loetz (Loetz GmbH&Co.KG) - initial API and implementation
+#
+
+# NLS_MESSAGEFORMAT_VAR
+
+featureName=org.eclipse.osbp.xtext.entitymock.tests
+
+################ blurb property ####################################
+featureText=\
+Copyright (c) 2012-2016 - Loetz GmbH&Co.KG \n\
+All rights reserved. This program and the accompanying materials\n\
+are made available under the terms of the Eclipse Public License v1.0\n\
+which accompanies this distribution, and is available at\n\
+http://www.eclipse.org/legal/epl-v10.html\n\
+\n\
+Contributors:\n\
+    Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation\n
+################ end of blurb property ####################################
diff --git a/org.eclipse.osbp.xtext.entitymock.tests/build.properties b/org.eclipse.osbp.xtext.entitymock.tests/build.properties
new file mode 100644
index 0000000..a6bf9f9
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.tests/build.properties
@@ -0,0 +1,12 @@
+source.. = src/,\
+          src-gen/,\
+          xtend-gen/
+bin.includes = about.properties,  about.mappings,  about.ini,  about.html,  META-INF/,\
+               .settings/,\
+               .,\
+               license.html,\
+               LICENSE.txt,\
+               epl-v10.html
+src.includes = about.properties,  about.mappings,  about.ini,  about.html,  license.html,\
+               LICENSE.txt,\
+               epl-v10.html			   
diff --git a/org.eclipse.osbp.xtext.entitymock.tests/epl-v10.html b/org.eclipse.osbp.xtext.entitymock.tests/epl-v10.html
new file mode 100644
index 0000000..b398acc
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.tests/epl-v10.html
@@ -0,0 +1,259 @@
+<!--?xml version="1.0" encoding="ISO-8859-1" ?-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Eclipse Public License - Version 1.0</title>
+<style type="text/css">
+  body {
+    size: 8.5in 11.0in;
+    margin: 0.25in 0.5in 0.25in 0.5in;
+    tab-interval: 0.5in;
+    }
+  p {  	
+    margin-left: auto;
+    margin-top:  0.5em;
+    margin-bottom: 0.5em;
+    }
+  p.list {
+  	margin-left: 0.5in;
+    margin-top:  0.05em;
+    margin-bottom: 0.05em;
+    }
+  </style>
+
+</head>
+
+<body lang="EN-US">
+
+<h2>Eclipse Public License - v 1.0</h2>
+
+<p>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
+PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR
+DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS
+AGREEMENT.</p>
+
+<p><b>1. DEFINITIONS</b></p>
+
+<p>"Contribution" means:</p>
+
+<p class="list">a) in the case of the initial Contributor, the initial
+code and documentation distributed under this Agreement, and</p>
+<p class="list">b) in the case of each subsequent Contributor:</p>
+<p class="list">i) changes to the Program, and</p>
+<p class="list">ii) additions to the Program;</p>
+<p class="list">where such changes and/or additions to the Program
+originate from and are distributed by that particular Contributor. A
+Contribution 'originates' from a Contributor if it was added to the
+Program by such Contributor itself or anyone acting on such
+Contributor's behalf. Contributions do not include additions to the
+Program which: (i) are separate modules of software distributed in
+conjunction with the Program under their own license agreement, and (ii)
+are not derivative works of the Program.</p>
+
+<p>"Contributor" means any person or entity that distributes
+the Program.</p>
+
+<p>"Licensed Patents" mean patent claims licensable by a
+Contributor which are necessarily infringed by the use or sale of its
+Contribution alone or when combined with the Program.</p>
+
+<p>"Program" means the Contributions distributed in accordance
+with this Agreement.</p>
+
+<p>"Recipient" means anyone who receives the Program under
+this Agreement, including all Contributors.</p>
+
+<p><b>2. GRANT OF RIGHTS</b></p>
+
+<p class="list">a) Subject to the terms of this Agreement, each
+Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free copyright license to reproduce, prepare derivative works
+of, publicly display, publicly perform, distribute and sublicense the
+Contribution of such Contributor, if any, and such derivative works, in
+source code and object code form.</p>
+
+<p class="list">b) Subject to the terms of this Agreement, each
+Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free patent license under Licensed Patents to make, use, sell,
+offer to sell, import and otherwise transfer the Contribution of such
+Contributor, if any, in source code and object code form. This patent
+license shall apply to the combination of the Contribution and the
+Program if, at the time the Contribution is added by the Contributor,
+such addition of the Contribution causes such combination to be covered
+by the Licensed Patents. The patent license shall not apply to any other
+combinations which include the Contribution. No hardware per se is
+licensed hereunder.</p>
+
+<p class="list">c) Recipient understands that although each Contributor
+grants the licenses to its Contributions set forth herein, no assurances
+are provided by any Contributor that the Program does not infringe the
+patent or other intellectual property rights of any other entity. Each
+Contributor disclaims any liability to Recipient for claims brought by
+any other entity based on infringement of intellectual property rights
+or otherwise. As a condition to exercising the rights and licenses
+granted hereunder, each Recipient hereby assumes sole responsibility to
+secure any other intellectual property rights needed, if any. For
+example, if a third party patent license is required to allow Recipient
+to distribute the Program, it is Recipient's responsibility to acquire
+that license before distributing the Program.</p>
+
+<p class="list">d) Each Contributor represents that to its knowledge it
+has sufficient copyright rights in its Contribution, if any, to grant
+the copyright license set forth in this Agreement.</p>
+
+<p><b>3. REQUIREMENTS</b></p>
+
+<p>A Contributor may choose to distribute the Program in object code
+form under its own license agreement, provided that:</p>
+
+<p class="list">a) it complies with the terms and conditions of this
+Agreement; and</p>
+
+<p class="list">b) its license agreement:</p>
+
+<p class="list">i) effectively disclaims on behalf of all Contributors
+all warranties and conditions, express and implied, including warranties
+or conditions of title and non-infringement, and implied warranties or
+conditions of merchantability and fitness for a particular purpose;</p>
+
+<p class="list">ii) effectively excludes on behalf of all Contributors
+all liability for damages, including direct, indirect, special,
+incidental and consequential damages, such as lost profits;</p>
+
+<p class="list">iii) states that any provisions which differ from this
+Agreement are offered by that Contributor alone and not by any other
+party; and</p>
+
+<p class="list">iv) states that source code for the Program is available
+from such Contributor, and informs licensees how to obtain it in a
+reasonable manner on or through a medium customarily used for software
+exchange.</p>
+
+<p>When the Program is made available in source code form:</p>
+
+<p class="list">a) it must be made available under this Agreement; and</p>
+
+<p class="list">b) a copy of this Agreement must be included with each
+copy of the Program.</p>
+
+<p>Contributors may not remove or alter any copyright notices contained
+within the Program.</p>
+
+<p>Each Contributor must identify itself as the originator of its
+Contribution, if any, in a manner that reasonably allows subsequent
+Recipients to identify the originator of the Contribution.</p>
+
+<p><b>4. COMMERCIAL DISTRIBUTION</b></p>
+
+<p>Commercial distributors of software may accept certain
+responsibilities with respect to end users, business partners and the
+like. While this license is intended to facilitate the commercial use of
+the Program, the Contributor who includes the Program in a commercial
+product offering should do so in a manner which does not create
+potential liability for other Contributors. Therefore, if a Contributor
+includes the Program in a commercial product offering, such Contributor
+("Commercial Contributor") hereby agrees to defend and
+indemnify every other Contributor ("Indemnified Contributor")
+against any losses, damages and costs (collectively "Losses")
+arising from claims, lawsuits and other legal actions brought by a third
+party against the Indemnified Contributor to the extent caused by the
+acts or omissions of such Commercial Contributor in connection with its
+distribution of the Program in a commercial product offering. The
+obligations in this section do not apply to any claims or Losses
+relating to any actual or alleged intellectual property infringement. In
+order to qualify, an Indemnified Contributor must: a) promptly notify
+the Commercial Contributor in writing of such claim, and b) allow the
+Commercial Contributor to control, and cooperate with the Commercial
+Contributor in, the defense and any related settlement negotiations. The
+Indemnified Contributor may participate in any such claim at its own
+expense.</p>
+
+<p>For example, a Contributor might include the Program in a commercial
+product offering, Product X. That Contributor is then a Commercial
+Contributor. If that Commercial Contributor then makes performance
+claims, or offers warranties related to Product X, those performance
+claims and warranties are such Commercial Contributor's responsibility
+alone. Under this section, the Commercial Contributor would have to
+defend claims against the other Contributors related to those
+performance claims and warranties, and if a court requires any other
+Contributor to pay any damages as a result, the Commercial Contributor
+must pay those damages.</p>
+
+<p><b>5. NO WARRANTY</b></p>
+
+<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS
+PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
+OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION,
+ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY
+OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
+responsible for determining the appropriateness of using and
+distributing the Program and assumes all risks associated with its
+exercise of rights under this Agreement , including but not limited to
+the risks and costs of program errors, compliance with applicable laws,
+damage to or loss of data, programs or equipment, and unavailability or
+interruption of operations.</p>
+
+<p><b>6. DISCLAIMER OF LIABILITY</b></p>
+
+<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT
+NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING
+WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR
+DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
+HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</p>
+
+<p><b>7. GENERAL</b></p>
+
+<p>If any provision of this Agreement is invalid or unenforceable under
+applicable law, it shall not affect the validity or enforceability of
+the remainder of the terms of this Agreement, and without further action
+by the parties hereto, such provision shall be reformed to the minimum
+extent necessary to make such provision valid and enforceable.</p>
+
+<p>If Recipient institutes patent litigation against any entity
+(including a cross-claim or counterclaim in a lawsuit) alleging that the
+Program itself (excluding combinations of the Program with other
+software or hardware) infringes such Recipient's patent(s), then such
+Recipient's rights granted under Section 2(b) shall terminate as of the
+date such litigation is filed.</p>
+
+<p>All Recipient's rights under this Agreement shall terminate if it
+fails to comply with any of the material terms or conditions of this
+Agreement and does not cure such failure in a reasonable period of time
+after becoming aware of such noncompliance. If all Recipient's rights
+under this Agreement terminate, Recipient agrees to cease use and
+distribution of the Program as soon as reasonably practicable. However,
+Recipient's obligations under this Agreement and any licenses granted by
+Recipient relating to the Program shall continue and survive.</p>
+
+<p>Everyone is permitted to copy and distribute copies of this
+Agreement, but in order to avoid inconsistency the Agreement is
+copyrighted and may only be modified in the following manner. The
+Agreement Steward reserves the right to publish new versions (including
+revisions) of this Agreement from time to time. No one other than the
+Agreement Steward has the right to modify this Agreement. The Eclipse
+Foundation is the initial Agreement Steward. The Eclipse Foundation may
+assign the responsibility to serve as the Agreement Steward to a
+suitable separate entity. Each new version of the Agreement will be
+given a distinguishing version number. The Program (including
+Contributions) may always be distributed subject to the version of the
+Agreement under which it was received. In addition, after a new version
+of the Agreement is published, Contributor may elect to distribute the
+Program (including its Contributions) under the new version. Except as
+expressly stated in Sections 2(a) and 2(b) above, Recipient receives no
+rights or licenses to the intellectual property of any Contributor under
+this Agreement, whether expressly, by implication, estoppel or
+otherwise. All rights in the Program not expressly granted under this
+Agreement are reserved.</p>
+
+<p>This Agreement is governed by the laws of the State of New York and
+the intellectual property laws of the United States of America. No party
+to this Agreement will bring a legal action under this Agreement more
+than one year after the cause of action arose. Each party waives its
+rights to a jury trial in any resulting litigation.</p>
+
+
+
+</body></html>
\ No newline at end of file
diff --git a/org.eclipse.osbp.xtext.entitymock.tests/license.html b/org.eclipse.osbp.xtext.entitymock.tests/license.html
new file mode 100644
index 0000000..6e579a5
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.tests/license.html
@@ -0,0 +1,164 @@
+<!--?xml version="1.0" encoding="ISO-8859-1" ?-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Eclipse Foundation Software User Agreement</title>
+</head>
+
+<body lang="EN-US">
+<h2>Eclipse Foundation Software User Agreement</h2>
+<p>February 1, 2011</p>
+
+<h3>Usage Of Content</h3>
+
+<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
+   (COLLECTIVELY "CONTENT").  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
+   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
+   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
+   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
+   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
+
+<h3>Applicable Licenses</h3>
+
+<p>Unless otherwise indicated, all Content made available by the Eclipse
+ Foundation is provided to you under the terms and conditions of the 
+Eclipse Public License Version 1.0
+   ("EPL").  A copy of the EPL is provided with this Content and is also
+ available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+   For purposes of the EPL, "Program" will mean the Content.</p>
+
+<p>Content includes, but is not limited to, source code, object code, 
+documentation and other files maintained in the Eclipse Foundation 
+source code
+   repository ("Repository") in software modules ("Modules") and made 
+available as downloadable archives ("Downloads").</p>
+
+<ul>
+       <li>Content may be structured and packaged into modules to 
+facilitate delivering, extending, and upgrading the Content.  Typical 
+modules may include plug-ins ("Plug-ins"), plug-in fragments 
+("Fragments"), and features ("Features").</li>
+       <li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&#8482; ARchive) in a directory named "plugins".</li>
+       <li>A Feature is a bundle of one or more Plug-ins and/or 
+Fragments and associated material.  Each Feature may be packaged as a 
+sub-directory in a directory named "features".  Within a Feature, files 
+named "feature.xml" may contain a list of the names and version numbers 
+of the Plug-ins
+      and/or Fragments associated with that Feature.</li>
+       <li>Features may also include other Features ("Included 
+Features"). Within a Feature, files named "feature.xml" may contain a 
+list of the names and version numbers of Included Features.</li>
+</ul>
+
+<p>The terms and conditions governing Plug-ins and Fragments should be 
+contained in files named "about.html" ("Abouts"). The terms and 
+conditions governing Features and
+Included Features should be contained in files named "license.html" 
+("Feature Licenses").  Abouts and Feature Licenses may be located in any
+ directory of a Download or Module
+including, but not limited to the following locations:</p>
+
+<ul>
+       <li>The top-level (root) directory</li>
+       <li>Plug-in and Fragment directories</li>
+       <li>Inside Plug-ins and Fragments packaged as JARs</li>
+       <li>Sub-directories of the directory named "src" of certain Plug-ins</li>
+       <li>Feature directories</li>
+</ul>
+
+<p>Note: if a Feature made available by the Eclipse Foundation is 
+installed using the Provisioning Technology (as defined below), you must
+ agree to a license ("Feature Update License") during the
+installation process.  If the Feature contains Included Features, the 
+Feature Update License should either provide you with the terms and 
+conditions governing the Included Features or
+inform you where you can locate them.  Feature Update Licenses may be 
+found in the "license" property of files named "feature.properties" 
+found within a Feature.
+Such Abouts, Feature Licenses, and Feature Update Licenses contain the 
+terms and conditions (or references to such terms and conditions) that 
+govern your use of the associated Content in
+that directory.</p>
+
+<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER 
+TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.
+  SOME OF THESE
+OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
+
+<ul>
+       <li>Eclipse Distribution License Version 1.0 (available at <a href="http://www.eclipse.org/licenses/edl-v10.html">http://www.eclipse.org/licenses/edl-v1.0.html</a>)</li>
+       <li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
+       <li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
+       <li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
+       <li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
+       <li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
+</ul>
+
+<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND 
+CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, 
+or Feature Update License is provided, please
+contact the Eclipse Foundation to determine what terms and conditions 
+govern that particular Content.</p>
+
+
+<h3>Use of Provisioning Technology</h3>
+
+<p>The Eclipse Foundation makes available provisioning software, 
+examples of which include, but are not limited to, p2 and the Eclipse
+   Update Manager ("Provisioning Technology") for the purpose of 
+allowing users to install software, documentation, information and/or
+   other materials (collectively "Installable Software"). This 
+capability is provided with the intent of allowing such users to
+   install, extend and update Eclipse-based products. Information about 
+packaging Installable Software is available at <a href="http://eclipse.org/equinox/p2/repository_packaging.html">http://eclipse.org/equinox/p2/repository_packaging.html</a>
+   ("Specification").</p>
+
+<p>You may use Provisioning Technology to allow other parties to install
+ Installable Software. You shall be responsible for enabling the
+   applicable license agreements relating to the Installable Software to
+ be presented to, and accepted by, the users of the Provisioning 
+Technology
+   in accordance with the Specification. By using Provisioning 
+Technology in such a manner and making it available in accordance with 
+the
+   Specification, you further acknowledge your agreement to, and the 
+acquisition of all necessary rights to permit the following:</p>
+
+<ol>
+       <li>A series of actions may occur ("Provisioning Process") in 
+which a user may execute the Provisioning Technology
+       on a machine ("Target Machine") with the intent of installing, 
+extending or updating the functionality of an Eclipse-based
+       product.</li>
+       <li>During the Provisioning Process, the Provisioning Technology 
+may cause third party Installable Software or a portion thereof to be
+       accessed and copied to the Target Machine.</li>
+       <li>Pursuant to the Specification, you will provide to the user 
+the terms and conditions that govern the use of the Installable
+       Software ("Installable Software Agreement") and such Installable 
+Software Agreement shall be accessed from the Target
+       Machine in accordance with the Specification. Such Installable 
+Software Agreement must inform the user of the terms and conditions that
+ govern
+       the Installable Software and must solicit acceptance by the end 
+user in the manner prescribed in such Installable Software Agreement. 
+Upon such
+       indication of agreement by the user, the provisioning Technology 
+will complete installation of the Installable Software.</li>
+</ol>
+
+<h3>Cryptography</h3>
+
+<p>Content may contain encryption software. The country in which you are
+ currently may have restrictions on the import, possession, and use, 
+and/or re-export to
+   another country, of encryption software. BEFORE using any encryption 
+software, please check the country's laws, regulations and policies 
+concerning the import,
+   possession, or use, and re-export of encryption software, to see if 
+this is permitted.</p>
+
+<p><small>Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.</small></p>
+
+
+</body></html>
\ No newline at end of file
diff --git a/org.eclipse.osbp.xtext.entitymock.tests/org.eclipse.osbp.xtext.entitymock.tests.launch b/org.eclipse.osbp.xtext.entitymock.tests/org.eclipse.osbp.xtext.entitymock.tests.launch
new file mode 100644
index 0000000..46bb417
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.tests/org.eclipse.osbp.xtext.entitymock.tests.launch
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.jdt.junit.launchconfig">
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.osbp.xtext.entitymock.tests"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="4"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value="=org.eclipse.osbp.xtext.entitymock.tests"/>
+<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
+<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
+<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.m2e.launchconfig.classpathProvider"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.osbp.xtext.entitymock.tests"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.m2e.launchconfig.sourcepathProvider"/>
+</launchConfiguration>
diff --git a/org.eclipse.osbp.xtext.entitymock.tests/pom.xml b/org.eclipse.osbp.xtext.entitymock.tests/pom.xml
new file mode 100644
index 0000000..56790cc
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.tests/pom.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--#======================================================================= -->
+<!--# Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) -->
+<!--# 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: -->
+<!--#     Christophe Loetz (Loetz GmbH&Co.KG) - initial API and implementation -->
+<!--#======================================================================= -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <artifactId>org.eclipse.osbp.xtext.entitymock.tests</artifactId>
+    <packaging>eclipse-plugin</packaging>
+    <parent>
+        <groupId>org.eclipse.osbp.xtext.entitymock</groupId>
+        <artifactId>org.eclipse.osbp.xtext.entitymock.aggregator</artifactId>
+        <version>0.9.0-SNAPSHOT</version>
+        <relativePath>..</relativePath>
+    </parent>
+</project>
diff --git a/org.eclipse.osbp.xtext.entitymock.tests/src-gen/org/eclipse/osbp/xtext/entitymock/EntityMockDSLInjectorProvider.java b/org.eclipse.osbp.xtext.entitymock.tests/src-gen/org/eclipse/osbp/xtext/entitymock/EntityMockDSLInjectorProvider.java
new file mode 100644
index 0000000..8a2d625
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.tests/src-gen/org/eclipse/osbp/xtext/entitymock/EntityMockDSLInjectorProvider.java
@@ -0,0 +1,56 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  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:                                                      
+ * 	   Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ * 
+ */
+
+package org.eclipse.osbp.xtext.entitymock;
+
+import org.eclipse.xtext.junit4.GlobalRegistries;
+import org.eclipse.xtext.junit4.GlobalRegistries.GlobalStateMemento;
+import org.eclipse.xtext.junit4.IInjectorProvider;
+import org.eclipse.xtext.junit4.IRegistryConfigurator;
+
+import com.google.inject.Injector;
+
+public class EntityMockDSLInjectorProvider implements IInjectorProvider, IRegistryConfigurator {
+	
+    protected GlobalStateMemento stateBeforeInjectorCreation;
+	protected GlobalStateMemento stateAfterInjectorCreation;
+	protected Injector injector;
+
+	static {
+		GlobalRegistries.initializeDefaults();
+	}
+
+	public Injector getInjector()
+	{
+		if (injector == null) {
+			stateBeforeInjectorCreation = GlobalRegistries.makeCopyOfGlobalState();
+			this.injector = internalCreateInjector();
+			stateAfterInjectorCreation = GlobalRegistries.makeCopyOfGlobalState();
+		}
+		return injector;
+	}
+	
+	protected Injector internalCreateInjector() {
+	    return new EntityMockDSLStandaloneSetup().createInjectorAndDoEMFRegistration();
+	}
+
+	public void restoreRegistry() {
+		stateBeforeInjectorCreation.restoreGlobalState();
+	}
+
+	public void setupRegistry() {
+		getInjector();
+		stateAfterInjectorCreation.restoreGlobalState();
+	}
+}
diff --git a/org.eclipse.osbp.xtext.entitymock.tests/src-gen/org/eclipse/osbp/xtext/entitymock/EntityMockDSLUiInjectorProvider.java b/org.eclipse.osbp.xtext.entitymock.tests/src-gen/org/eclipse/osbp/xtext/entitymock/EntityMockDSLUiInjectorProvider.java
new file mode 100644
index 0000000..0c7eadd
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.tests/src-gen/org/eclipse/osbp/xtext/entitymock/EntityMockDSLUiInjectorProvider.java
@@ -0,0 +1,27 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  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:                                                      
+ * 	   Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ * 
+ */
+
+package org.eclipse.osbp.xtext.entitymock;
+
+import org.eclipse.xtext.junit4.IInjectorProvider;
+
+import com.google.inject.Injector;
+
+public class EntityMockDSLUiInjectorProvider implements IInjectorProvider {
+	
+	public Injector getInjector() {
+		return org.eclipse.osbp.xtext.entitymock.ui.internal.EntityMockDSLActivator.getInstance().getInjector("org.eclipse.osbp.xtext.entitymock.EntityMockDSL");
+	}
+	
+}
diff --git a/org.eclipse.osbp.xtext.entitymock.tests/src/ReadMe.txt b/org.eclipse.osbp.xtext.entitymock.tests/src/ReadMe.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.tests/src/ReadMe.txt
diff --git a/org.eclipse.osbp.xtext.entitymock.ui/.project b/org.eclipse.osbp.xtext.entitymock.ui/.project
new file mode 100644
index 0000000..9ea989e
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.ui/.project
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.osbp.xtext.entitymock.ui</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.babel.editor.rbeBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.sonarlint.eclipse.core.sonarlintBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
+		<nature>org.eclipse.babel.editor.rbeNature</nature>
+	</natures>
+</projectDescription>
diff --git a/org.eclipse.osbp.xtext.entitymock.ui/LICENSE.txt b/org.eclipse.osbp.xtext.entitymock.ui/LICENSE.txt
new file mode 100644
index 0000000..ff42ad4
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.ui/LICENSE.txt
@@ -0,0 +1,161 @@
+Eclipse Public License -v 1.0
+
+THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION
+OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+
+1. DEFINITIONS
+
+"Contribution" means:
+
+a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and
+
+b) in the case of each subsequent Contributor:
+
+i) changes to the Program, and
+
+ii) additions to the Program;
+
+where such changes and/or additions to the Program originate from and are distributed by that particular Contributor.
+A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone
+acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate
+modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not
+derivative works of the Program.
+
+"Contributor" means any person or entity that distributes the Program.
+
+"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of
+its Contribution alone or when combined with the Program.
+
+"Program" means the Contributions distributed in accordance with this Agreement.
+
+"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.
+
+2. GRANT OF RIGHTS
+
+a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute
+and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code
+form.
+
+b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the
+Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the
+combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such
+addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not
+apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder.
+
+c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no
+assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property
+rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity
+based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and
+licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property
+rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the
+Program, it is Recipient's responsibility to acquire that license before distributing the Program.
+
+d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to
+grant the copyright license set forth in this Agreement.
+
+3. REQUIREMENTS
+
+A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:
+
+a) it complies with the terms and conditions of this Agreement; and
+
+b) its license agreement:
+
+i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including
+warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and
+fitness for a particular purpose;
+
+ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special,
+incidental and consequential damages, such as lost profits;
+
+iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any
+other party; and
+
+iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it
+in a reasonable manner on or through a medium customarily used for software exchange.
+
+When the Program is made available in source code form:
+
+a) it must be made available under this Agreement; and
+
+b) a copy of this Agreement must be included with each copy of the Program.
+
+Contributors may not remove or alter any copyright notices contained within the Program.
+
+Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows
+subsequent Recipients to identify the originator of the Contribution.
+
+4. COMMERCIAL DISTRIBUTION
+
+Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and
+the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes
+the Program in a commercial product offering should do so in a manner which does not create potential liability for
+other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor
+("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor")
+against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions
+brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such
+Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The
+obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual
+property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
+Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the
+Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may
+ participate in any such claim at its own expense.
+
+For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is
+then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties
+related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone.
+Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to
+those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result,
+the Commercial Contributor must pay those damages.
+
+5. NO WARRANTY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR
+CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE,
+NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for
+determining the appropriateness of using and distributing the Program and assumes all risks associated with its
+exercise of rights under this Agreement , including but not limited to the risks and costs of program errors, compliance
+with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations.
+
+6. DISCLAIMER OF LIABILITY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS),
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
+HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. GENERAL
+
+If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or
+enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such
+provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+
+If Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit)
+alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such
+Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such
+litigation is filed.
+
+All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or
+conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such
+noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution
+of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses
+ granted by Recipient relating to the Program shall continue and survive.
+
+Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement
+is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish
+new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the
+right to modify this Agreement. The Eclipse Foundation is the initial Agreement Steward. The Eclipse Foundation may
+assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the
+Agreement will be given a distinguishing version number. The Program (including Contributions) may always be
+distributed subject to the version of the Agreement under which it was received. In addition, after a new version of
+the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the
+new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
+the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or
+otherwise. All rights in the Program not expressly granted under this Agreement are reserved.
+
+This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States
+of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause
+of action arose. Each party waives its rights to a jury trial in any resulting litigation.
\ No newline at end of file
diff --git a/org.eclipse.osbp.xtext.entitymock.ui/META-INF/MANIFEST.MF b/org.eclipse.osbp.xtext.entitymock.ui/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..076ee80
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.ui/META-INF/MANIFEST.MF
@@ -0,0 +1,46 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: org.eclipse.osbp.xtext.entitymock.ui
+Bundle-Vendor: Eclipse OSBP
+Bundle-Version: 0.9.0.qualifier
+Bundle-SymbolicName: org.eclipse.osbp.xtext.entitymock.ui;singleton:=true
+Bundle-ActivationPolicy: lazy
+Require-Bundle: org.apache.log4j;bundle-version="1.2.15",
+ org.slf4j.api;bundle-version="1.7.2",
+ org.eclipse.ui,
+ org.eclipse.ui.editors;bundle-version="3.5.0",
+ org.eclipse.ui.ide;bundle-version="3.5.0",
+ javax.annotation;bundle-version="[1.1.0,1.2.0)",
+ com.google.inject;bundle-version="3.0.0",
+ org.eclipse.xtext.common.types.ui;bundle-version="[2.7.3,2.8.0)",
+ org.eclipse.xtext.ui;bundle-version="[2.7.3,2.8.0)",
+ org.eclipse.xtext.ui.shared;bundle-version="[2.7.3,2.8.0)",
+ org.eclipse.xtext.ui.codetemplates.ui;bundle-version="[2.7.3,2.8.0)",
+ org.eclipse.xtext.xbase.ui;bundle-version="[2.7.3,2.8.0)",
+ org.eclipse.xtext.builder;bundle-version="[2.7.3,2.8.0)",
+ org.eclipse.xtext.xbase.lib;bundle-version="[2.7.3,2.8.0)",
+ org.antlr.runtime,
+ org.eclipse.jdt.debug.ui,
+ org.eclipse.compare,
+ org.eclipse.osbp.ecview.dsl;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.ecview.dsl.lib;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.preferences;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.dsl.common.xtext;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.dsl.entity.xtext;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.utils;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.xtext.basic.ui;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.xtext.entitymock;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.xtext.datainterchange;bundle-version="0.9.0"
+Import-Package: org.apache.log4j,
+ org.eclipse.osbp.ui.api.datamart;version="0.9.0",
+ org.eclipse.osbp.utils.fillertext;version="0.9.0"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Export-Package: org.eclipse.osbp.xtext.entitymock.ui;version="0.9.0",
+ org.eclipse.osbp.xtext.entitymock.ui.contentassist;version="0.9.0",
+ org.eclipse.osbp.xtext.entitymock.ui.contentassist.antlr;version="0.9.0",
+ org.eclipse.osbp.xtext.entitymock.ui.contentassist.antlr.internal;version="0.9.0",
+ org.eclipse.osbp.xtext.entitymock.ui.internal;version="0.9.0",
+ org.eclipse.osbp.xtext.entitymock.ui.labeling;version="0.9.0",
+ org.eclipse.osbp.xtext.entitymock.ui.outline;version="0.9.0",
+ org.eclipse.osbp.xtext.entitymock.ui.quickfix;version="0.9.0"
+Bundle-Activator: org.eclipse.osbp.xtext.entitymock.ui.internal.EntityMockDSLActivator
diff --git a/org.eclipse.osbp.xtext.entitymock.ui/about.html b/org.eclipse.osbp.xtext.entitymock.ui/about.html
new file mode 100644
index 0000000..64c0598
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.ui/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+ 
+<p>June 1, 2016</p>	
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content.  Check the Redistributor's license that was 
+provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/org.eclipse.osbp.xtext.entitymock.ui/about.ini b/org.eclipse.osbp.xtext.entitymock.ui/about.ini
new file mode 100644
index 0000000..7df671f
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.ui/about.ini
@@ -0,0 +1,17 @@
+# about.ini
+# contains information about a feature
+# java.io.Properties file (ISO 8859-1 with "\" escapes)
+# "%key" are externalized strings defined in about.properties
+# This file does not need to be translated.
+
+# Property "aboutText" contains blurb for "About" dialog (translated)
+aboutText=%featureText
+
+# Property "featureImage" contains path to feature image (32x32)
+featureImage=
+
+# Property "appName" contains name of the application (translated)
+appName=%featureName
+
+# Property "welcomePage" contains path to welcome page (special XML-based format)
+welcomePage=
diff --git a/org.eclipse.osbp.xtext.entitymock.ui/about.mappings b/org.eclipse.osbp.xtext.entitymock.ui/about.mappings
new file mode 100644
index 0000000..4511a0a
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.ui/about.mappings
@@ -0,0 +1,6 @@
+# about.mappings
+# contains fill-ins for about.properties
+# java.io.Properties file (ISO 8859-1 with "\" escapes)
+# This file does not need to be translated.
+
+0=qualifier
diff --git a/org.eclipse.osbp.xtext.entitymock.ui/about.properties b/org.eclipse.osbp.xtext.entitymock.ui/about.properties
new file mode 100644
index 0000000..25f0ff9
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.ui/about.properties
@@ -0,0 +1,26 @@
+#
+# Copyright (c) 2012, 2016 - Loetz GmbH&Co.KG (Heidelberg)
+# 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:
+#    Christophe Loetz (Loetz GmbH&Co.KG) - initial API and implementation
+#
+
+# NLS_MESSAGEFORMAT_VAR
+
+featureName=org.eclipse.osbp.xtext.entitymock.ui
+
+################ blurb property ####################################
+featureText=\
+Copyright (c) 2012-2016 - Loetz GmbH&Co.KG \n\
+All rights reserved. This program and the accompanying materials\n\
+are made available under the terms of the Eclipse Public License v1.0\n\
+which accompanies this distribution, and is available at\n\
+http://www.eclipse.org/legal/epl-v10.html\n\
+\n\
+Contributors:\n\
+    Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation\n
+################ end of blurb property ####################################
diff --git a/org.eclipse.osbp.xtext.entitymock.ui/build.properties b/org.eclipse.osbp.xtext.entitymock.ui/build.properties
new file mode 100644
index 0000000..7f5d08f
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.ui/build.properties
@@ -0,0 +1,19 @@
+source.. = src/,\
+          src-gen/,\
+          xtend-gen/
+bin.includes = about.properties,  about.mappings,  about.ini,  about.html,  META-INF/,\
+               .,\
+               .settings/,\
+               plugin.xml,\
+               templates/,\
+               i18n/,\
+               license.html,\
+               LICENSE.txt,\
+               epl-v10.html,\
+               icons/
+src.includes = about.properties,  about.mappings,  about.ini,  about.html,  templates/,\
+               i18n/,\
+               license.html,\
+               LICENSE.txt,\
+               epl-v10.html,\
+               icons/
diff --git a/org.eclipse.osbp.xtext.entitymock.ui/epl-v10.html b/org.eclipse.osbp.xtext.entitymock.ui/epl-v10.html
new file mode 100644
index 0000000..b398acc
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.ui/epl-v10.html
@@ -0,0 +1,259 @@
+<!--?xml version="1.0" encoding="ISO-8859-1" ?-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Eclipse Public License - Version 1.0</title>
+<style type="text/css">
+  body {
+    size: 8.5in 11.0in;
+    margin: 0.25in 0.5in 0.25in 0.5in;
+    tab-interval: 0.5in;
+    }
+  p {  	
+    margin-left: auto;
+    margin-top:  0.5em;
+    margin-bottom: 0.5em;
+    }
+  p.list {
+  	margin-left: 0.5in;
+    margin-top:  0.05em;
+    margin-bottom: 0.05em;
+    }
+  </style>
+
+</head>
+
+<body lang="EN-US">
+
+<h2>Eclipse Public License - v 1.0</h2>
+
+<p>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
+PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR
+DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS
+AGREEMENT.</p>
+
+<p><b>1. DEFINITIONS</b></p>
+
+<p>"Contribution" means:</p>
+
+<p class="list">a) in the case of the initial Contributor, the initial
+code and documentation distributed under this Agreement, and</p>
+<p class="list">b) in the case of each subsequent Contributor:</p>
+<p class="list">i) changes to the Program, and</p>
+<p class="list">ii) additions to the Program;</p>
+<p class="list">where such changes and/or additions to the Program
+originate from and are distributed by that particular Contributor. A
+Contribution 'originates' from a Contributor if it was added to the
+Program by such Contributor itself or anyone acting on such
+Contributor's behalf. Contributions do not include additions to the
+Program which: (i) are separate modules of software distributed in
+conjunction with the Program under their own license agreement, and (ii)
+are not derivative works of the Program.</p>
+
+<p>"Contributor" means any person or entity that distributes
+the Program.</p>
+
+<p>"Licensed Patents" mean patent claims licensable by a
+Contributor which are necessarily infringed by the use or sale of its
+Contribution alone or when combined with the Program.</p>
+
+<p>"Program" means the Contributions distributed in accordance
+with this Agreement.</p>
+
+<p>"Recipient" means anyone who receives the Program under
+this Agreement, including all Contributors.</p>
+
+<p><b>2. GRANT OF RIGHTS</b></p>
+
+<p class="list">a) Subject to the terms of this Agreement, each
+Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free copyright license to reproduce, prepare derivative works
+of, publicly display, publicly perform, distribute and sublicense the
+Contribution of such Contributor, if any, and such derivative works, in
+source code and object code form.</p>
+
+<p class="list">b) Subject to the terms of this Agreement, each
+Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free patent license under Licensed Patents to make, use, sell,
+offer to sell, import and otherwise transfer the Contribution of such
+Contributor, if any, in source code and object code form. This patent
+license shall apply to the combination of the Contribution and the
+Program if, at the time the Contribution is added by the Contributor,
+such addition of the Contribution causes such combination to be covered
+by the Licensed Patents. The patent license shall not apply to any other
+combinations which include the Contribution. No hardware per se is
+licensed hereunder.</p>
+
+<p class="list">c) Recipient understands that although each Contributor
+grants the licenses to its Contributions set forth herein, no assurances
+are provided by any Contributor that the Program does not infringe the
+patent or other intellectual property rights of any other entity. Each
+Contributor disclaims any liability to Recipient for claims brought by
+any other entity based on infringement of intellectual property rights
+or otherwise. As a condition to exercising the rights and licenses
+granted hereunder, each Recipient hereby assumes sole responsibility to
+secure any other intellectual property rights needed, if any. For
+example, if a third party patent license is required to allow Recipient
+to distribute the Program, it is Recipient's responsibility to acquire
+that license before distributing the Program.</p>
+
+<p class="list">d) Each Contributor represents that to its knowledge it
+has sufficient copyright rights in its Contribution, if any, to grant
+the copyright license set forth in this Agreement.</p>
+
+<p><b>3. REQUIREMENTS</b></p>
+
+<p>A Contributor may choose to distribute the Program in object code
+form under its own license agreement, provided that:</p>
+
+<p class="list">a) it complies with the terms and conditions of this
+Agreement; and</p>
+
+<p class="list">b) its license agreement:</p>
+
+<p class="list">i) effectively disclaims on behalf of all Contributors
+all warranties and conditions, express and implied, including warranties
+or conditions of title and non-infringement, and implied warranties or
+conditions of merchantability and fitness for a particular purpose;</p>
+
+<p class="list">ii) effectively excludes on behalf of all Contributors
+all liability for damages, including direct, indirect, special,
+incidental and consequential damages, such as lost profits;</p>
+
+<p class="list">iii) states that any provisions which differ from this
+Agreement are offered by that Contributor alone and not by any other
+party; and</p>
+
+<p class="list">iv) states that source code for the Program is available
+from such Contributor, and informs licensees how to obtain it in a
+reasonable manner on or through a medium customarily used for software
+exchange.</p>
+
+<p>When the Program is made available in source code form:</p>
+
+<p class="list">a) it must be made available under this Agreement; and</p>
+
+<p class="list">b) a copy of this Agreement must be included with each
+copy of the Program.</p>
+
+<p>Contributors may not remove or alter any copyright notices contained
+within the Program.</p>
+
+<p>Each Contributor must identify itself as the originator of its
+Contribution, if any, in a manner that reasonably allows subsequent
+Recipients to identify the originator of the Contribution.</p>
+
+<p><b>4. COMMERCIAL DISTRIBUTION</b></p>
+
+<p>Commercial distributors of software may accept certain
+responsibilities with respect to end users, business partners and the
+like. While this license is intended to facilitate the commercial use of
+the Program, the Contributor who includes the Program in a commercial
+product offering should do so in a manner which does not create
+potential liability for other Contributors. Therefore, if a Contributor
+includes the Program in a commercial product offering, such Contributor
+("Commercial Contributor") hereby agrees to defend and
+indemnify every other Contributor ("Indemnified Contributor")
+against any losses, damages and costs (collectively "Losses")
+arising from claims, lawsuits and other legal actions brought by a third
+party against the Indemnified Contributor to the extent caused by the
+acts or omissions of such Commercial Contributor in connection with its
+distribution of the Program in a commercial product offering. The
+obligations in this section do not apply to any claims or Losses
+relating to any actual or alleged intellectual property infringement. In
+order to qualify, an Indemnified Contributor must: a) promptly notify
+the Commercial Contributor in writing of such claim, and b) allow the
+Commercial Contributor to control, and cooperate with the Commercial
+Contributor in, the defense and any related settlement negotiations. The
+Indemnified Contributor may participate in any such claim at its own
+expense.</p>
+
+<p>For example, a Contributor might include the Program in a commercial
+product offering, Product X. That Contributor is then a Commercial
+Contributor. If that Commercial Contributor then makes performance
+claims, or offers warranties related to Product X, those performance
+claims and warranties are such Commercial Contributor's responsibility
+alone. Under this section, the Commercial Contributor would have to
+defend claims against the other Contributors related to those
+performance claims and warranties, and if a court requires any other
+Contributor to pay any damages as a result, the Commercial Contributor
+must pay those damages.</p>
+
+<p><b>5. NO WARRANTY</b></p>
+
+<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS
+PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
+OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION,
+ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY
+OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
+responsible for determining the appropriateness of using and
+distributing the Program and assumes all risks associated with its
+exercise of rights under this Agreement , including but not limited to
+the risks and costs of program errors, compliance with applicable laws,
+damage to or loss of data, programs or equipment, and unavailability or
+interruption of operations.</p>
+
+<p><b>6. DISCLAIMER OF LIABILITY</b></p>
+
+<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT
+NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING
+WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR
+DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
+HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</p>
+
+<p><b>7. GENERAL</b></p>
+
+<p>If any provision of this Agreement is invalid or unenforceable under
+applicable law, it shall not affect the validity or enforceability of
+the remainder of the terms of this Agreement, and without further action
+by the parties hereto, such provision shall be reformed to the minimum
+extent necessary to make such provision valid and enforceable.</p>
+
+<p>If Recipient institutes patent litigation against any entity
+(including a cross-claim or counterclaim in a lawsuit) alleging that the
+Program itself (excluding combinations of the Program with other
+software or hardware) infringes such Recipient's patent(s), then such
+Recipient's rights granted under Section 2(b) shall terminate as of the
+date such litigation is filed.</p>
+
+<p>All Recipient's rights under this Agreement shall terminate if it
+fails to comply with any of the material terms or conditions of this
+Agreement and does not cure such failure in a reasonable period of time
+after becoming aware of such noncompliance. If all Recipient's rights
+under this Agreement terminate, Recipient agrees to cease use and
+distribution of the Program as soon as reasonably practicable. However,
+Recipient's obligations under this Agreement and any licenses granted by
+Recipient relating to the Program shall continue and survive.</p>
+
+<p>Everyone is permitted to copy and distribute copies of this
+Agreement, but in order to avoid inconsistency the Agreement is
+copyrighted and may only be modified in the following manner. The
+Agreement Steward reserves the right to publish new versions (including
+revisions) of this Agreement from time to time. No one other than the
+Agreement Steward has the right to modify this Agreement. The Eclipse
+Foundation is the initial Agreement Steward. The Eclipse Foundation may
+assign the responsibility to serve as the Agreement Steward to a
+suitable separate entity. Each new version of the Agreement will be
+given a distinguishing version number. The Program (including
+Contributions) may always be distributed subject to the version of the
+Agreement under which it was received. In addition, after a new version
+of the Agreement is published, Contributor may elect to distribute the
+Program (including its Contributions) under the new version. Except as
+expressly stated in Sections 2(a) and 2(b) above, Recipient receives no
+rights or licenses to the intellectual property of any Contributor under
+this Agreement, whether expressly, by implication, estoppel or
+otherwise. All rights in the Program not expressly granted under this
+Agreement are reserved.</p>
+
+<p>This Agreement is governed by the laws of the State of New York and
+the intellectual property laws of the United States of America. No party
+to this Agreement will bring a legal action under this Agreement more
+than one year after the cause of action arose. Each party waives its
+rights to a jury trial in any resulting litigation.</p>
+
+
+
+</body></html>
\ No newline at end of file
diff --git a/org.eclipse.osbp.xtext.entitymock.ui/i18n/I18N.properties b/org.eclipse.osbp.xtext.entitymock.ui/i18n/I18N.properties
new file mode 100644
index 0000000..33dc1d6
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.ui/i18n/I18N.properties
@@ -0,0 +1,383 @@
+#
+#Fri Sep 09 17:37:36 CEST 2016
+org.eclipse.osbp.xtext.entitymock.CCDate=
+org.eclipse.osbp.xtext.entitymock.CCDate.today=
+org.eclipse.osbp.xtext.entitymock.CCDate.tomorrow=
+org.eclipse.osbp.xtext.entitymock.CCDate.yesterday=
+org.eclipse.osbp.xtext.entitymock.CCDateIterate=
+org.eclipse.osbp.xtext.entitymock.CCDateIterate.date=
+org.eclipse.osbp.xtext.entitymock.CCDateIterate.every=
+org.eclipse.osbp.xtext.entitymock.CCDateIterate.until=
+org.eclipse.osbp.xtext.entitymock.CCEntityMockAttributeByObject=Define the mock data generated by the temporary mock object instance.
+org.eclipse.osbp.xtext.entitymock.CCEntityMockAttributeByObject.as=
+org.eclipse.osbp.xtext.entitymock.CCEntityMockAttributeByObject.fill=
+org.eclipse.osbp.xtext.entitymock.CCEntityMockAttributeByObject.using=
+org.eclipse.osbp.xtext.entitymock.CCEntityMockAttributeByReference=Define the mock data by referencing to a previously generated entity mock data.
+org.eclipse.osbp.xtext.entitymock.CCEntityMockAttributeByReference.by-reference-on=
+org.eclipse.osbp.xtext.entitymock.CCEntityMockAttributeByReference.fill=
+org.eclipse.osbp.xtext.entitymock.CCEntityMockAttributeByReference.optional-for=
+org.eclipse.osbp.xtext.entitymock.CCEntityMockAttributeFiller=Define the mock data by a filler text rule.
+org.eclipse.osbp.xtext.entitymock.CCEntityMockAttributeFiller.fill=
+org.eclipse.osbp.xtext.entitymock.CCEntityMockAttributeFiller.with=
+org.eclipse.osbp.xtext.entitymock.CCEntityMockByResourceAttribute=Define the entity attribute to be filled with the value from the defined resource attribute name.
+org.eclipse.osbp.xtext.entitymock.CCEntityMockByResourceAttribute.as=
+org.eclipse.osbp.xtext.entitymock.CCEntityMockByResourceAttribute.fill=
+org.eclipse.osbp.xtext.entitymock.CCEntityMockDataType=
+org.eclipse.osbp.xtext.entitymock.CCEntityMockDataType.datatype=
+org.eclipse.osbp.xtext.entitymock.CCEntityMockDataTypes=
+org.eclipse.osbp.xtext.entitymock.CCEntityMockDataTypes.mock-datatypes=
+org.eclipse.osbp.xtext.entitymock.CCEntityMockEntities=Define mock data rules any entity from entitymodel defined by the package.
+org.eclipse.osbp.xtext.entitymock.CCEntityMockEntities.mock-entitymodel=
+org.eclipse.osbp.xtext.entitymock.CCEntityMockEntity=Define mock data rules an entity.
+org.eclipse.osbp.xtext.entitymock.CCEntityMockEntity.by-datainterchange=Define the Datainterchange, which should run to generate mock data.
+org.eclipse.osbp.xtext.entitymock.CCEntityMockEntity.by-resource=Define the mock resource, which should be completely persisted.
+org.eclipse.osbp.xtext.entitymock.CCEntityMockEntity.createBlobMapping=
+org.eclipse.osbp.xtext.entitymock.CCEntityMockEntity.fill-iterator=
+org.eclipse.osbp.xtext.entitymock.CCEntityMockEntity.for-entity=Define the entity, which should be mocked.
+org.eclipse.osbp.xtext.entitymock.CCEntityMockEntity.from=Define the persistence unit, the entity should be persisted into.
+org.eclipse.osbp.xtext.entitymock.CCEntityMockEntity.mock=Define the name for this mocked entity.
+org.eclipse.osbp.xtext.entitymock.CCEntityMockEntity.rows=Define the minimum number of entity instances to be mocked.
+org.eclipse.osbp.xtext.entitymock.CCEntityMockEntity.to=Define the maximum number of entity instances to be mocked.
+org.eclipse.osbp.xtext.entitymock.CCEntityMockEntityFunction=Define a calculation.
+org.eclipse.osbp.xtext.entitymock.CCEntityMockEntityFunction.based-on=Define the object attributes, which should be used as parameters for the calculation.
+org.eclipse.osbp.xtext.entitymock.CCEntityMockEntityFunction.calculate=Define a calculation.
+org.eclipse.osbp.xtext.entitymock.CCEntityMockEntityFunctionParameter=Define the object attribute, which should be used as parameters for the calculation.
+org.eclipse.osbp.xtext.entitymock.CCEntityMockModel=
+org.eclipse.osbp.xtext.entitymock.CCEntityMockObject=Define an objects to generate mock data, which should be consistent inside this object.
+org.eclipse.osbp.xtext.entitymock.CCEntityMockObject.object=Define an objects to generate mock data, which should be consistent inside this object.
+org.eclipse.osbp.xtext.entitymock.CCEntityMockObjectArrayValue=Define a list of possible text values, depending on an selected mock resource data row.
+org.eclipse.osbp.xtext.entitymock.CCEntityMockObjectArrayValue.on=Define the referenced mock resource attribute name.
+org.eclipse.osbp.xtext.entitymock.CCEntityMockObjectArrayValue.switch=Define the item of the referenced mock resource.
+org.eclipse.osbp.xtext.entitymock.CCEntityMockObjectEmbed=Define another previously defined mock object to be embedded in this mock object.
+org.eclipse.osbp.xtext.entitymock.CCEntityMockObjectEmbed.defined-as=Define the previously defined mock object.
+org.eclipse.osbp.xtext.entitymock.CCEntityMockObjectEmbed.embed=Define another previously defined mock object to be embedded in this mock object.
+org.eclipse.osbp.xtext.entitymock.CCEntityMockObjectEnum=Define the mock data by a mock resource.
+org.eclipse.osbp.xtext.entitymock.CCEntityMockObjectEnum.enum=Define the mock data by a mock resource.
+org.eclipse.osbp.xtext.entitymock.CCEntityMockObjectEnum.using=Define the resource references by this mock resource.
+org.eclipse.osbp.xtext.entitymock.CCEntityMockObjectEnumValue=Define an item of the mock resource.
+org.eclipse.osbp.xtext.entitymock.CCEntityMockObjectFill=Define the mock data by a filler text rule.
+org.eclipse.osbp.xtext.entitymock.CCEntityMockObjectFill.generate=Define the mock data by a filler text rule.
+org.eclipse.osbp.xtext.entitymock.CCEntityMockObjectFill.with=Define the mock data by a filler text rule.
+org.eclipse.osbp.xtext.entitymock.CCEntityMockObjectFunction=Define a calculation.
+org.eclipse.osbp.xtext.entitymock.CCEntityMockObjectFunction.as=Define the data type for the result of the calculation.
+org.eclipse.osbp.xtext.entitymock.CCEntityMockObjectFunction.based-on=Define the data types and object attributes, which should be used as parameters for the calculation.
+org.eclipse.osbp.xtext.entitymock.CCEntityMockObjectFunction.calculate=Define a calculation.
+org.eclipse.osbp.xtext.entitymock.CCEntityMockObjectFunctionParameter=Define the data type and object attribute, which should be used as parameters for the calculation.
+org.eclipse.osbp.xtext.entitymock.CCEntityMockObjectItemValue=Define a list of possible text values.
+org.eclipse.osbp.xtext.entitymock.CCEntityMockObjectItemValue.when=
+org.eclipse.osbp.xtext.entitymock.CCEntityMockObjectPlainValue=Define a list of possible text values.
+org.eclipse.osbp.xtext.entitymock.CCEntityMockObjectPlainValue.value=Define a list of possible text values.
+org.eclipse.osbp.xtext.entitymock.CCEntityMockObjectResourceValue=Define a mock object attribute filled with a mock resource attribute.
+org.eclipse.osbp.xtext.entitymock.CCEntityMockObjectResourceValue.resource-value=Define a mock object attribute filled with a mock resource attribute.
+org.eclipse.osbp.xtext.entitymock.CCEntityMockObjectResourceValue.with=Define the mock resource attribute name.
+org.eclipse.osbp.xtext.entitymock.CCEntityMockObjects=Define any objects to generate mock data, which should be consistent inside that objects.
+org.eclipse.osbp.xtext.entitymock.CCEntityMockObjects.mock-objects=
+org.eclipse.osbp.xtext.entitymock.CCEntityMockPackage=Define the package containing the entitymodel, for which the mock data is to be defined.
+org.eclipse.osbp.xtext.entitymock.CCEntityMockPackage.import=
+org.eclipse.osbp.xtext.entitymock.CCEntityMockPackage.mock-entitymodel-for=
+org.eclipse.osbp.xtext.entitymock.CCEntityMockQualifiedNameWithWildCard=
+org.eclipse.osbp.xtext.entitymock.CCEntityMockReferencedObjectAttribute=
+org.eclipse.osbp.xtext.entitymock.CCEntityMockResource=Define a resource used to mock objects and entity instances.
+org.eclipse.osbp.xtext.entitymock.CCEntityMockResource.attributes=Define a number of resource attribute names.
+org.eclipse.osbp.xtext.entitymock.CCEntityMockResource.by-enum=
+org.eclipse.osbp.xtext.entitymock.CCEntityMockResource.datarows=
+org.eclipse.osbp.xtext.entitymock.CCEntityMockResource.resource=Define a resource used to mock objects and entity instances.
+org.eclipse.osbp.xtext.entitymock.CCEntityMockResourceAttribute=Define a number of resource attribute names.
+org.eclipse.osbp.xtext.entitymock.CCEntityMockResourceDataRow=Define a datarow for the resource, containing one string value for each resource attribute defined above.
+org.eclipse.osbp.xtext.entitymock.CCEntityMockResources=Define resources used to mock objects and entity instances.
+org.eclipse.osbp.xtext.entitymock.CCEntityMockResources.mock-resources=
+org.eclipse.osbp.xtext.entitymock.CCEntityMockTemporary=Define a temporary instance of a mock object.
+org.eclipse.osbp.xtext.entitymock.CCEntityMockTemporary.as=Define the mock object to be used for this temporary instance.
+org.eclipse.osbp.xtext.entitymock.CCEntityMockTemporary.temporary=Define a temporary instance of a mock object.
+org.eclipse.osbp.xtext.entitymock.CCEntityModelImport=
+org.eclipse.osbp.xtext.entitymock.CCIntegerIterate=
+org.eclipse.osbp.xtext.entitymock.CCIntegerIterate.integer=
+org.eclipse.osbp.xtext.entitymock.CCIntegerIterate.step=
+org.eclipse.osbp.xtext.entitymock.CCIntegerIterate.until=
+org.eclipse.osbp.xtext.entitymock.CCPropertyFillerBoolean=
+org.eclipse.osbp.xtext.entitymock.CCPropertyFillerBoolean.filler-boolean=
+org.eclipse.osbp.xtext.entitymock.CCPropertyFillerDateFuture=Generate a date in the future, starting today up to the given number of years from now.
+org.eclipse.osbp.xtext.entitymock.CCPropertyFillerDateFuture.filler-date\ future=
+org.eclipse.osbp.xtext.entitymock.CCPropertyFillerDateFuture.years=
+org.eclipse.osbp.xtext.entitymock.CCPropertyFillerDatePast=Generate a date in the past, starting today up to the given number of years to now.
+org.eclipse.osbp.xtext.entitymock.CCPropertyFillerDatePast.filler-date\ past=
+org.eclipse.osbp.xtext.entitymock.CCPropertyFillerDatePast.years=
+org.eclipse.osbp.xtext.entitymock.CCPropertyFillerDateRange=Generate a date between two years including both years. Either year can be after 1900, otherwise the value will be interpreted as an - positive or negative - offset to the actual year
+org.eclipse.osbp.xtext.entitymock.CCPropertyFillerDateRange.filler-date\ range=
+org.eclipse.osbp.xtext.entitymock.CCPropertyFillerDateRange.up\ to\ and\ including=
+org.eclipse.osbp.xtext.entitymock.CCPropertyFillerDateRange.years=
+org.eclipse.osbp.xtext.entitymock.CCPropertyFillerSignedDoubleRandom=Generate a signed double value from a list of values.
+org.eclipse.osbp.xtext.entitymock.CCPropertyFillerSignedDoubleRandom.filler-signed-double\ random=
+org.eclipse.osbp.xtext.entitymock.CCPropertyFillerSignedDoubleRange=Generate a signed double value in the given range min..max with decimal digits.
+org.eclipse.osbp.xtext.entitymock.CCPropertyFillerSignedDoubleRange.decimals=
+org.eclipse.osbp.xtext.entitymock.CCPropertyFillerSignedDoubleRange.filler-signed-double\ range=
+org.eclipse.osbp.xtext.entitymock.CCPropertyFillerSignedDoubleRange.round\ to=
+org.eclipse.osbp.xtext.entitymock.CCPropertyFillerSignedDoubleRange.up\ to\ and\ including=
+org.eclipse.osbp.xtext.entitymock.CCPropertyFillerSignedDoubleRange.with=
+org.eclipse.osbp.xtext.entitymock.CCPropertyFillerSignedIntegerRandom=Generate a signed integer value from a list of values.
+org.eclipse.osbp.xtext.entitymock.CCPropertyFillerSignedIntegerRandom.filler-signed-integer\ random=
+org.eclipse.osbp.xtext.entitymock.CCPropertyFillerSignedIntegerRange=Generate a signed integer in the given range min..max.
+org.eclipse.osbp.xtext.entitymock.CCPropertyFillerSignedIntegerRange.filler-signed-integer\ range=
+org.eclipse.osbp.xtext.entitymock.CCPropertyFillerSignedIntegerRange.round\ to=
+org.eclipse.osbp.xtext.entitymock.CCPropertyFillerSignedIntegerRange.up\ to\ and\ including=
+org.eclipse.osbp.xtext.entitymock.CCPropertyFillerTextParagraphs=Generate a number of paragraphs with "lorem ipsum" sentences.
+org.eclipse.osbp.xtext.entitymock.CCPropertyFillerTextParagraphs.filler-text\ paragraps=
+org.eclipse.osbp.xtext.entitymock.CCPropertyFillerTextRandom=Generate a text value from a list of values.
+org.eclipse.osbp.xtext.entitymock.CCPropertyFillerTextRandom.filler-text\ random=
+org.eclipse.osbp.xtext.entitymock.CCPropertyFillerTextSentences=Generate a number of sentences with "lorem ipsum" words.
+org.eclipse.osbp.xtext.entitymock.CCPropertyFillerTextSentences.filler-text\ sentences=
+org.eclipse.osbp.xtext.entitymock.CCPropertyFillerTextWords=Generate a number of words with "lorem ipsum" text.
+org.eclipse.osbp.xtext.entitymock.CCPropertyFillerTextWords.filler-text\ words=
+org.eclipse.osbp.xtext.entitymock.CCPropertyFillerType=
+org.eclipse.osbp.xtext.entitymock.CCPropertyFillerUnsignedDoubleRandom=Generate a unsigned double value from a list of values.
+org.eclipse.osbp.xtext.entitymock.CCPropertyFillerUnsignedDoubleRandom.filler-unsigned-double\ random=
+org.eclipse.osbp.xtext.entitymock.CCPropertyFillerUnsignedDoubleRange=Generate a unsigned double value in the given range min..max with decimal digits.
+org.eclipse.osbp.xtext.entitymock.CCPropertyFillerUnsignedDoubleRange.decimals=
+org.eclipse.osbp.xtext.entitymock.CCPropertyFillerUnsignedDoubleRange.filler-unsigned-double\ range=
+org.eclipse.osbp.xtext.entitymock.CCPropertyFillerUnsignedDoubleRange.round\ to=
+org.eclipse.osbp.xtext.entitymock.CCPropertyFillerUnsignedDoubleRange.up\ to\ and\ including=
+org.eclipse.osbp.xtext.entitymock.CCPropertyFillerUnsignedDoubleRange.with=
+org.eclipse.osbp.xtext.entitymock.CCPropertyFillerUnsignedIntegerRandom=Generate a unsigned integer value from a list of values.
+org.eclipse.osbp.xtext.entitymock.CCPropertyFillerUnsignedIntegerRandom.filler-unsigned-integer\ random=
+org.eclipse.osbp.xtext.entitymock.CCPropertyFillerUnsignedIntegerRange=Generate a unsigned integer in the given range min..max.
+org.eclipse.osbp.xtext.entitymock.CCPropertyFillerUnsignedIntegerRange.filler-unsigned-integer\ range=
+org.eclipse.osbp.xtext.entitymock.CCPropertyFillerUnsignedIntegerRange.round\ to=
+org.eclipse.osbp.xtext.entitymock.CCPropertyFillerUnsignedIntegerRange.up\ to\ and\ including=
+org.eclipse.osbp.xtext.entitymock.CCRunningDataInterchange=
+org.eclipse.osbp.xtext.entitymock.CCRunningDataInterchange.input=
+org.eclipse.osbp.xtext.entitymock.CCRunningDataInterchange.run=
+org.eclipse.osbp.xtext.entitymock.CCRunningDataInterchanges=
+org.eclipse.osbp.xtext.entitymock.CCRunningDataInterchanges.run-datainterchanges=
+org.eclipse.osbp.xtext.entitymock.Date=
+org.eclipse.osbp.xtext.entitymock.Date.today=
+org.eclipse.osbp.xtext.entitymock.Date.tomorrow=
+org.eclipse.osbp.xtext.entitymock.Date.yesterday=
+org.eclipse.osbp.xtext.entitymock.DateIterate=
+org.eclipse.osbp.xtext.entitymock.DateIterate.date=
+org.eclipse.osbp.xtext.entitymock.DateIterate.date\ from=
+org.eclipse.osbp.xtext.entitymock.DateIterate.every=
+org.eclipse.osbp.xtext.entitymock.DateIterate.until=
+org.eclipse.osbp.xtext.entitymock.ECCDateStepType=
+org.eclipse.osbp.xtext.entitymock.ECCDateStepType.days=
+org.eclipse.osbp.xtext.entitymock.ECCDateStepType.months=
+org.eclipse.osbp.xtext.entitymock.ECCDateStepType.weeks=
+org.eclipse.osbp.xtext.entitymock.ECCDateStepType.years=
+org.eclipse.osbp.xtext.entitymock.EDateStepType=
+org.eclipse.osbp.xtext.entitymock.EDateStepType.days=
+org.eclipse.osbp.xtext.entitymock.EDateStepType.months=
+org.eclipse.osbp.xtext.entitymock.EDateStepType.weeks=
+org.eclipse.osbp.xtext.entitymock.EDateStepType.years=
+org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByObject=
+org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByObject.as=
+org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByObject.fill=
+org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByObject.using=
+org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByObject.var=
+org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByReference=
+org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByReference.by-reference-on=
+org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByReference.existing\ entities=
+org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByReference.existing-entities=
+org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByReference.fill=
+org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByReference.optional\ for=
+org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByReference.optional-for=
+org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByReference.percent=
+org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByReference.ref=
+org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByReference.refer=
+org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByReference.to=
+org.eclipse.osbp.xtext.entitymock.EntityMockAttributeFiller=
+org.eclipse.osbp.xtext.entitymock.EntityMockAttributeFiller.fill=
+org.eclipse.osbp.xtext.entitymock.EntityMockAttributeFiller.randomize=
+org.eclipse.osbp.xtext.entitymock.EntityMockAttributeFiller.var=
+org.eclipse.osbp.xtext.entitymock.EntityMockAttributeFiller.with=
+org.eclipse.osbp.xtext.entitymock.EntityMockByResourceAttribute=
+org.eclipse.osbp.xtext.entitymock.EntityMockByResourceAttribute.as=
+org.eclipse.osbp.xtext.entitymock.EntityMockByResourceAttribute.fill=
+org.eclipse.osbp.xtext.entitymock.EntityMockByResourceAttribute.var=
+org.eclipse.osbp.xtext.entitymock.EntityMockDataType=
+org.eclipse.osbp.xtext.entitymock.EntityMockDataType.datatype=
+org.eclipse.osbp.xtext.entitymock.EntityMockDataTypes=
+org.eclipse.osbp.xtext.entitymock.EntityMockDataTypes.datatypes=
+org.eclipse.osbp.xtext.entitymock.EntityMockDataTypes.mock-datatypes=
+org.eclipse.osbp.xtext.entitymock.EntityMockEntities=
+org.eclipse.osbp.xtext.entitymock.EntityMockEntities.mock\ entities=
+org.eclipse.osbp.xtext.entitymock.EntityMockEntities.mock-entitymodel=
+org.eclipse.osbp.xtext.entitymock.EntityMockEntity=
+org.eclipse.osbp.xtext.entitymock.EntityMockEntity.by\ resource=
+org.eclipse.osbp.xtext.entitymock.EntityMockEntity.by-resource=
+org.eclipse.osbp.xtext.entitymock.EntityMockEntity.createBlobMapping=
+org.eclipse.osbp.xtext.entitymock.EntityMockEntity.fill-iterator=
+org.eclipse.osbp.xtext.entitymock.EntityMockEntity.for\ entity=
+org.eclipse.osbp.xtext.entitymock.EntityMockEntity.for-entity=
+org.eclipse.osbp.xtext.entitymock.EntityMockEntity.from=
+org.eclipse.osbp.xtext.entitymock.EntityMockEntity.iterate=
+org.eclipse.osbp.xtext.entitymock.EntityMockEntity.mock=
+org.eclipse.osbp.xtext.entitymock.EntityMockEntity.mocking=
+org.eclipse.osbp.xtext.entitymock.EntityMockEntity.rows=
+org.eclipse.osbp.xtext.entitymock.EntityMockEntity.to=
+org.eclipse.osbp.xtext.entitymock.EntityMockEntity.with=
+org.eclipse.osbp.xtext.entitymock.EntityMockEntityFunction=
+org.eclipse.osbp.xtext.entitymock.EntityMockEntityFunction.based-on=
+org.eclipse.osbp.xtext.entitymock.EntityMockEntityFunction.calculate=
+org.eclipse.osbp.xtext.entitymock.EntityMockEntityFunction.calculate\ based\ on=
+org.eclipse.osbp.xtext.entitymock.EntityMockEntityFunction.var=
+org.eclipse.osbp.xtext.entitymock.EntityMockEntityFunctionParameter=
+org.eclipse.osbp.xtext.entitymock.EntityMockModel=
+org.eclipse.osbp.xtext.entitymock.EntityMockObject=
+org.eclipse.osbp.xtext.entitymock.EntityMockObject.object=
+org.eclipse.osbp.xtext.entitymock.EntityMockObjectArrayValue=
+org.eclipse.osbp.xtext.entitymock.EntityMockObjectArrayValue.on=
+org.eclipse.osbp.xtext.entitymock.EntityMockObjectArrayValue.switch=
+org.eclipse.osbp.xtext.entitymock.EntityMockObjectArrayValue.switch\ on=
+org.eclipse.osbp.xtext.entitymock.EntityMockObjectArrayValue.var=
+org.eclipse.osbp.xtext.entitymock.EntityMockObjectEmbed=
+org.eclipse.osbp.xtext.entitymock.EntityMockObjectEmbed.defined\ as=
+org.eclipse.osbp.xtext.entitymock.EntityMockObjectEmbed.defined-as=
+org.eclipse.osbp.xtext.entitymock.EntityMockObjectEmbed.embed=
+org.eclipse.osbp.xtext.entitymock.EntityMockObjectEnum=
+org.eclipse.osbp.xtext.entitymock.EntityMockObjectEnum.by\ enum=
+org.eclipse.osbp.xtext.entitymock.EntityMockObjectEnum.enum=
+org.eclipse.osbp.xtext.entitymock.EntityMockObjectEnum.using=
+org.eclipse.osbp.xtext.entitymock.EntityMockObjectEnum.var=
+org.eclipse.osbp.xtext.entitymock.EntityMockObjectFill=
+org.eclipse.osbp.xtext.entitymock.EntityMockObjectFill.generate=
+org.eclipse.osbp.xtext.entitymock.EntityMockObjectFill.randomize=
+org.eclipse.osbp.xtext.entitymock.EntityMockObjectFill.var=
+org.eclipse.osbp.xtext.entitymock.EntityMockObjectFill.with=
+org.eclipse.osbp.xtext.entitymock.EntityMockObjectFunction=
+org.eclipse.osbp.xtext.entitymock.EntityMockObjectFunction.as=
+org.eclipse.osbp.xtext.entitymock.EntityMockObjectFunction.based\ on=
+org.eclipse.osbp.xtext.entitymock.EntityMockObjectFunction.based-on=
+org.eclipse.osbp.xtext.entitymock.EntityMockObjectFunction.calculate=
+org.eclipse.osbp.xtext.entitymock.EntityMockObjectFunction.calculate\ as=
+org.eclipse.osbp.xtext.entitymock.EntityMockObjectFunction.var=
+org.eclipse.osbp.xtext.entitymock.EntityMockObjectFunctionParameter=
+org.eclipse.osbp.xtext.entitymock.EntityMockObjectItemValue=
+org.eclipse.osbp.xtext.entitymock.EntityMockObjectItemValue.when=
+org.eclipse.osbp.xtext.entitymock.EntityMockObjectPlainValue=
+org.eclipse.osbp.xtext.entitymock.EntityMockObjectPlainValue.value=
+org.eclipse.osbp.xtext.entitymock.EntityMockObjectPlainValue.var=
+org.eclipse.osbp.xtext.entitymock.EntityMockObjectResourceValue=
+org.eclipse.osbp.xtext.entitymock.EntityMockObjectResourceValue.resource-value=
+org.eclipse.osbp.xtext.entitymock.EntityMockObjectResourceValue.var=
+org.eclipse.osbp.xtext.entitymock.EntityMockObjectResourceValue.with=
+org.eclipse.osbp.xtext.entitymock.EntityMockObjects=
+org.eclipse.osbp.xtext.entitymock.EntityMockObjects.mock-objects=
+org.eclipse.osbp.xtext.entitymock.EntityMockObjects.objects=
+org.eclipse.osbp.xtext.entitymock.EntityMockPackage=
+org.eclipse.osbp.xtext.entitymock.EntityMockPackage.import=
+org.eclipse.osbp.xtext.entitymock.EntityMockPackage.mock\ entitymodel\ for=
+org.eclipse.osbp.xtext.entitymock.EntityMockPackage.mock-entitymodel-for=
+org.eclipse.osbp.xtext.entitymock.EntityMockPackage.run\ with\ priority=
+org.eclipse.osbp.xtext.entitymock.EntityMockPackage.run-with-priority=
+org.eclipse.osbp.xtext.entitymock.EntityMockQualifiedNameWithWildCard=
+org.eclipse.osbp.xtext.entitymock.EntityMockReferencedObjectAttribute=
+org.eclipse.osbp.xtext.entitymock.EntityMockResource=a plain mock text resource
+org.eclipse.osbp.xtext.entitymock.EntityMockResource.attributes=a list of attributes provided by the resource
+org.eclipse.osbp.xtext.entitymock.EntityMockResource.datarows=data rows for this resource
+org.eclipse.osbp.xtext.entitymock.EntityMockResource.items=
+org.eclipse.osbp.xtext.entitymock.EntityMockResource.resource=a plain mock text resource
+org.eclipse.osbp.xtext.entitymock.EntityMockResourceAttribute=
+org.eclipse.osbp.xtext.entitymock.EntityMockResourceDataRow=
+org.eclipse.osbp.xtext.entitymock.EntityMockResources=a list of pure text mock resources
+org.eclipse.osbp.xtext.entitymock.EntityMockResources.mock-resources=a list of pure text mock resources
+org.eclipse.osbp.xtext.entitymock.EntityMockResources.resources=
+org.eclipse.osbp.xtext.entitymock.EntityMockTemporary=
+org.eclipse.osbp.xtext.entitymock.EntityMockTemporary.as=
+org.eclipse.osbp.xtext.entitymock.EntityMockTemporary.by\ object=
+org.eclipse.osbp.xtext.entitymock.EntityMockTemporary.temporary=
+org.eclipse.osbp.xtext.entitymock.EntityModelImport=
+org.eclipse.osbp.xtext.entitymock.ICCEntityMockAttribute=
+org.eclipse.osbp.xtext.entitymock.ICCEntityMockEntityUsable=
+org.eclipse.osbp.xtext.entitymock.ICCEntityMockObjectAttribute=
+org.eclipse.osbp.xtext.entitymock.ICCEntityMockObjectUsable=
+org.eclipse.osbp.xtext.entitymock.ICCIterate=
+org.eclipse.osbp.xtext.entitymock.ID=
+org.eclipse.osbp.xtext.entitymock.IEntityMockAttribute=
+org.eclipse.osbp.xtext.entitymock.IEntityMockEntityUsable=
+org.eclipse.osbp.xtext.entitymock.IEntityMockObjectAttribute=
+org.eclipse.osbp.xtext.entitymock.IEntityMockObjectUsable=
+org.eclipse.osbp.xtext.entitymock.IIterate=
+org.eclipse.osbp.xtext.entitymock.IntegerIterate=
+org.eclipse.osbp.xtext.entitymock.IntegerIterate.integer=
+org.eclipse.osbp.xtext.entitymock.IntegerIterate.integer\ from=
+org.eclipse.osbp.xtext.entitymock.IntegerIterate.step=
+org.eclipse.osbp.xtext.entitymock.IntegerIterate.until=
+org.eclipse.osbp.xtext.entitymock.PRIO=
+org.eclipse.osbp.xtext.entitymock.PropertyFillerBoolean=
+org.eclipse.osbp.xtext.entitymock.PropertyFillerBoolean.boolean=
+org.eclipse.osbp.xtext.entitymock.PropertyFillerBoolean.filler-boolean=
+org.eclipse.osbp.xtext.entitymock.PropertyFillerDateFuture=
+org.eclipse.osbp.xtext.entitymock.PropertyFillerDateFuture.filler-date\ future=
+org.eclipse.osbp.xtext.entitymock.PropertyFillerDateFuture.future\ date=
+org.eclipse.osbp.xtext.entitymock.PropertyFillerDateFuture.years=
+org.eclipse.osbp.xtext.entitymock.PropertyFillerDatePast=
+org.eclipse.osbp.xtext.entitymock.PropertyFillerDatePast.filler-date\ past=
+org.eclipse.osbp.xtext.entitymock.PropertyFillerDatePast.past\ date=
+org.eclipse.osbp.xtext.entitymock.PropertyFillerDatePast.years=
+org.eclipse.osbp.xtext.entitymock.PropertyFillerDateRange=
+org.eclipse.osbp.xtext.entitymock.PropertyFillerDateRange.date\ in\ range=
+org.eclipse.osbp.xtext.entitymock.PropertyFillerDateRange.filler-date\ range=
+org.eclipse.osbp.xtext.entitymock.PropertyFillerDateRange.up\ to\ and\ including=
+org.eclipse.osbp.xtext.entitymock.PropertyFillerDateRange.years=
+org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedDoubleRandom=
+org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedDoubleRandom.filler-signed-double\ random=
+org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedDoubleRandom.signed\ double\ from=
+org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedDoubleRange=
+org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedDoubleRange.decimals=
+org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedDoubleRange.filler-signed-double\ range=
+org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedDoubleRange.round\ to=
+org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedDoubleRange.signed\ double\ in\ range=
+org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedDoubleRange.up\ to\ and\ including=
+org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedDoubleRange.with=
+org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedIntegerRandom=
+org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedIntegerRandom.filler-signed-integer\ random=
+org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedIntegerRandom.signed\ integer\ from=
+org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedIntegerRange=
+org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedIntegerRange.filler-signed-integer\ range=
+org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedIntegerRange.round\ to=
+org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedIntegerRange.signed\ integer\ in\ range=
+org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedIntegerRange.up\ to\ and\ including=
+org.eclipse.osbp.xtext.entitymock.PropertyFillerTextParagraphs=
+org.eclipse.osbp.xtext.entitymock.PropertyFillerTextParagraphs.filler-text\ paragraps=
+org.eclipse.osbp.xtext.entitymock.PropertyFillerTextParagraphs.paragraps=
+org.eclipse.osbp.xtext.entitymock.PropertyFillerTextRandom=
+org.eclipse.osbp.xtext.entitymock.PropertyFillerTextRandom.filler-text\ random=
+org.eclipse.osbp.xtext.entitymock.PropertyFillerTextRandom.text\ from=
+org.eclipse.osbp.xtext.entitymock.PropertyFillerTextSentences=
+org.eclipse.osbp.xtext.entitymock.PropertyFillerTextSentences.filler-text\ sentences=
+org.eclipse.osbp.xtext.entitymock.PropertyFillerTextSentences.sentences=
+org.eclipse.osbp.xtext.entitymock.PropertyFillerTextWords=
+org.eclipse.osbp.xtext.entitymock.PropertyFillerTextWords.filler-text\ words=
+org.eclipse.osbp.xtext.entitymock.PropertyFillerTextWords.words=
+org.eclipse.osbp.xtext.entitymock.PropertyFillerType=
+org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedDoubleRandom=
+org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedDoubleRandom.filler-unsigned-double\ random=
+org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedDoubleRandom.unsigned\ double\ from=
+org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedDoubleRange=
+org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedDoubleRange.decimals=
+org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedDoubleRange.filler-unsigned-double\ range=
+org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedDoubleRange.round\ to=
+org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedDoubleRange.unsigned\ double\ in\ range=
+org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedDoubleRange.up\ to\ and\ including=
+org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedDoubleRange.with=
+org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedIntegerRandom=
+org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedIntegerRandom.filler-unsigned-integer\ random=
+org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedIntegerRandom.unsigned\ integer\ from=
+org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedIntegerRange=
+org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedIntegerRange.filler-unsigned-integer\ range=
+org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedIntegerRange.round\ to=
+org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedIntegerRange.unsigned\ integer\ in\ range=
+org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedIntegerRange.up\ to\ and\ including=
+org.eclipse.osbp.xtext.entitymock.QualifiedName=
+org.eclipse.osbp.xtext.entitymock.RunningDataInterchange=data interchange
+org.eclipse.osbp.xtext.entitymock.RunningDataInterchange.datainterchange\ import=
+org.eclipse.osbp.xtext.entitymock.RunningDataInterchange.from\ file=
+org.eclipse.osbp.xtext.entitymock.RunningDataInterchange.input=file to be imported by the data interchange
+org.eclipse.osbp.xtext.entitymock.RunningDataInterchange.run=name of the data interchange to be executed
+org.eclipse.osbp.xtext.entitymock.RunningDataInterchanges=data interchanges
+org.eclipse.osbp.xtext.entitymock.RunningDataInterchanges.datainterchanges=
+org.eclipse.osbp.xtext.entitymock.RunningDataInterchanges.run-datainterchanges=
+org.eclipse.osbp.xtext.entitymock.SINT=
+org.eclipse.osbp.xtext.entitymock.SignedNumber=
+org.eclipse.osbp.xtext.entitymock.UnsignedNumber=
+org.eclipse.osbp.xtext.entitymock.ValidID=
+org.osbp.dsl.semantic.common.types.LImport=Define the package containing the entitymodel, for which the mock data is to be defined.
diff --git a/org.eclipse.osbp.xtext.entitymock.ui/icons/array.png b/org.eclipse.osbp.xtext.entitymock.ui/icons/array.png
new file mode 100644
index 0000000..cef3261
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.ui/icons/array.png
Binary files differ
diff --git a/org.eclipse.osbp.xtext.entitymock.ui/icons/boolean.gif b/org.eclipse.osbp.xtext.entitymock.ui/icons/boolean.gif
new file mode 100644
index 0000000..656797f
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.ui/icons/boolean.gif
Binary files differ
diff --git a/org.eclipse.osbp.xtext.entitymock.ui/icons/calendar-small.gif b/org.eclipse.osbp.xtext.entitymock.ui/icons/calendar-small.gif
new file mode 100644
index 0000000..d9629a1
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.ui/icons/calendar-small.gif
Binary files differ
diff --git a/org.eclipse.osbp.xtext.entitymock.ui/icons/class.gif b/org.eclipse.osbp.xtext.entitymock.ui/icons/class.gif
new file mode 100644
index 0000000..ce1719e
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.ui/icons/class.gif
Binary files differ
diff --git a/org.eclipse.osbp.xtext.entitymock.ui/icons/csv.png b/org.eclipse.osbp.xtext.entitymock.ui/icons/csv.png
new file mode 100644
index 0000000..8d1a903
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.ui/icons/csv.png
Binary files differ
diff --git a/org.eclipse.osbp.xtext.entitymock.ui/icons/data_interchange.png b/org.eclipse.osbp.xtext.entitymock.ui/icons/data_interchange.png
new file mode 100644
index 0000000..113157f
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.ui/icons/data_interchange.png
Binary files differ
diff --git a/org.eclipse.osbp.xtext.entitymock.ui/icons/date-iterate.png b/org.eclipse.osbp.xtext.entitymock.ui/icons/date-iterate.png
new file mode 100644
index 0000000..a17854e
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.ui/icons/date-iterate.png
Binary files differ
diff --git a/org.eclipse.osbp.xtext.entitymock.ui/icons/datetime.gif b/org.eclipse.osbp.xtext.entitymock.ui/icons/datetime.gif
new file mode 100644
index 0000000..96aae05
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.ui/icons/datetime.gif
Binary files differ
diff --git a/org.eclipse.osbp.xtext.entitymock.ui/icons/dice-16.gif b/org.eclipse.osbp.xtext.entitymock.ui/icons/dice-16.gif
new file mode 100644
index 0000000..6d4b03d
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.ui/icons/dice-16.gif
Binary files differ
diff --git a/org.eclipse.osbp.xtext.entitymock.ui/icons/double.gif b/org.eclipse.osbp.xtext.entitymock.ui/icons/double.gif
new file mode 100644
index 0000000..f1f0195
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.ui/icons/double.gif
Binary files differ
diff --git a/org.eclipse.osbp.xtext.entitymock.ui/icons/dsl_datainterchange.png b/org.eclipse.osbp.xtext.entitymock.ui/icons/dsl_datainterchange.png
new file mode 100644
index 0000000..113157f
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.ui/icons/dsl_datainterchange.png
Binary files differ
diff --git a/org.eclipse.osbp.xtext.entitymock.ui/icons/dsl_entitymock.png b/org.eclipse.osbp.xtext.entitymock.ui/icons/dsl_entitymock.png
new file mode 100644
index 0000000..b64d89a
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.ui/icons/dsl_entitymock.png
Binary files differ
diff --git a/org.eclipse.osbp.xtext.entitymock.ui/icons/dsl_import.png b/org.eclipse.osbp.xtext.entitymock.ui/icons/dsl_import.png
new file mode 100644
index 0000000..f4fdcc9
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.ui/icons/dsl_import.png
Binary files differ
diff --git a/org.eclipse.osbp.xtext.entitymock.ui/icons/edi.png b/org.eclipse.osbp.xtext.entitymock.ui/icons/edi.png
new file mode 100644
index 0000000..b011ba8
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.ui/icons/edi.png
Binary files differ
diff --git a/org.eclipse.osbp.xtext.entitymock.ui/icons/enum.gif b/org.eclipse.osbp.xtext.entitymock.ui/icons/enum.gif
new file mode 100644
index 0000000..5c0a481
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.ui/icons/enum.gif
Binary files differ
diff --git a/org.eclipse.osbp.xtext.entitymock.ui/icons/enum_alt_obj.gif b/org.eclipse.osbp.xtext.entitymock.ui/icons/enum_alt_obj.gif
new file mode 100644
index 0000000..f470d4c
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.ui/icons/enum_alt_obj.gif
Binary files differ
diff --git a/org.eclipse.osbp.xtext.entitymock.ui/icons/enum_obj.gif b/org.eclipse.osbp.xtext.entitymock.ui/icons/enum_obj.gif
new file mode 100644
index 0000000..4a77d8c
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.ui/icons/enum_obj.gif
Binary files differ
diff --git a/org.eclipse.osbp.xtext.entitymock.ui/icons/function.gif b/org.eclipse.osbp.xtext.entitymock.ui/icons/function.gif
new file mode 100644
index 0000000..aa185d0
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.ui/icons/function.gif
Binary files differ
diff --git a/org.eclipse.osbp.xtext.entitymock.ui/icons/int.gif b/org.eclipse.osbp.xtext.entitymock.ui/icons/int.gif
new file mode 100644
index 0000000..3bd99b3
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.ui/icons/int.gif
Binary files differ
diff --git a/org.eclipse.osbp.xtext.entitymock.ui/icons/model.png b/org.eclipse.osbp.xtext.entitymock.ui/icons/model.png
new file mode 100644
index 0000000..cffb857
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.ui/icons/model.png
Binary files differ
diff --git a/org.eclipse.osbp.xtext.entitymock.ui/icons/package.gif b/org.eclipse.osbp.xtext.entitymock.ui/icons/package.gif
new file mode 100644
index 0000000..34506fb
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.ui/icons/package.gif
Binary files differ
diff --git a/org.eclipse.osbp.xtext.entitymock.ui/icons/private_field.png b/org.eclipse.osbp.xtext.entitymock.ui/icons/private_field.png
new file mode 100644
index 0000000..25718ea
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.ui/icons/private_field.png
Binary files differ
diff --git a/org.eclipse.osbp.xtext.entitymock.ui/icons/private_method.png b/org.eclipse.osbp.xtext.entitymock.ui/icons/private_method.png
new file mode 100644
index 0000000..8372b48
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.ui/icons/private_method.png
Binary files differ
diff --git a/org.eclipse.osbp.xtext.entitymock.ui/icons/time.gif b/org.eclipse.osbp.xtext.entitymock.ui/icons/time.gif
new file mode 100644
index 0000000..6089d52
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.ui/icons/time.gif
Binary files differ
diff --git a/org.eclipse.osbp.xtext.entitymock.ui/icons/var_string.gif b/org.eclipse.osbp.xtext.entitymock.ui/icons/var_string.gif
new file mode 100644
index 0000000..83a3f1f
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.ui/icons/var_string.gif
Binary files differ
diff --git a/org.eclipse.osbp.xtext.entitymock.ui/icons/xml.png b/org.eclipse.osbp.xtext.entitymock.ui/icons/xml.png
new file mode 100644
index 0000000..2f0a698
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.ui/icons/xml.png
Binary files differ
diff --git a/org.eclipse.osbp.xtext.entitymock.ui/license.html b/org.eclipse.osbp.xtext.entitymock.ui/license.html
new file mode 100644
index 0000000..6e579a5
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.ui/license.html
@@ -0,0 +1,164 @@
+<!--?xml version="1.0" encoding="ISO-8859-1" ?-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Eclipse Foundation Software User Agreement</title>
+</head>
+
+<body lang="EN-US">
+<h2>Eclipse Foundation Software User Agreement</h2>
+<p>February 1, 2011</p>
+
+<h3>Usage Of Content</h3>
+
+<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
+   (COLLECTIVELY "CONTENT").  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
+   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
+   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
+   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
+   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
+
+<h3>Applicable Licenses</h3>
+
+<p>Unless otherwise indicated, all Content made available by the Eclipse
+ Foundation is provided to you under the terms and conditions of the 
+Eclipse Public License Version 1.0
+   ("EPL").  A copy of the EPL is provided with this Content and is also
+ available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+   For purposes of the EPL, "Program" will mean the Content.</p>
+
+<p>Content includes, but is not limited to, source code, object code, 
+documentation and other files maintained in the Eclipse Foundation 
+source code
+   repository ("Repository") in software modules ("Modules") and made 
+available as downloadable archives ("Downloads").</p>
+
+<ul>
+       <li>Content may be structured and packaged into modules to 
+facilitate delivering, extending, and upgrading the Content.  Typical 
+modules may include plug-ins ("Plug-ins"), plug-in fragments 
+("Fragments"), and features ("Features").</li>
+       <li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&#8482; ARchive) in a directory named "plugins".</li>
+       <li>A Feature is a bundle of one or more Plug-ins and/or 
+Fragments and associated material.  Each Feature may be packaged as a 
+sub-directory in a directory named "features".  Within a Feature, files 
+named "feature.xml" may contain a list of the names and version numbers 
+of the Plug-ins
+      and/or Fragments associated with that Feature.</li>
+       <li>Features may also include other Features ("Included 
+Features"). Within a Feature, files named "feature.xml" may contain a 
+list of the names and version numbers of Included Features.</li>
+</ul>
+
+<p>The terms and conditions governing Plug-ins and Fragments should be 
+contained in files named "about.html" ("Abouts"). The terms and 
+conditions governing Features and
+Included Features should be contained in files named "license.html" 
+("Feature Licenses").  Abouts and Feature Licenses may be located in any
+ directory of a Download or Module
+including, but not limited to the following locations:</p>
+
+<ul>
+       <li>The top-level (root) directory</li>
+       <li>Plug-in and Fragment directories</li>
+       <li>Inside Plug-ins and Fragments packaged as JARs</li>
+       <li>Sub-directories of the directory named "src" of certain Plug-ins</li>
+       <li>Feature directories</li>
+</ul>
+
+<p>Note: if a Feature made available by the Eclipse Foundation is 
+installed using the Provisioning Technology (as defined below), you must
+ agree to a license ("Feature Update License") during the
+installation process.  If the Feature contains Included Features, the 
+Feature Update License should either provide you with the terms and 
+conditions governing the Included Features or
+inform you where you can locate them.  Feature Update Licenses may be 
+found in the "license" property of files named "feature.properties" 
+found within a Feature.
+Such Abouts, Feature Licenses, and Feature Update Licenses contain the 
+terms and conditions (or references to such terms and conditions) that 
+govern your use of the associated Content in
+that directory.</p>
+
+<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER 
+TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.
+  SOME OF THESE
+OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
+
+<ul>
+       <li>Eclipse Distribution License Version 1.0 (available at <a href="http://www.eclipse.org/licenses/edl-v10.html">http://www.eclipse.org/licenses/edl-v1.0.html</a>)</li>
+       <li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
+       <li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
+       <li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
+       <li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
+       <li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
+</ul>
+
+<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND 
+CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, 
+or Feature Update License is provided, please
+contact the Eclipse Foundation to determine what terms and conditions 
+govern that particular Content.</p>
+
+
+<h3>Use of Provisioning Technology</h3>
+
+<p>The Eclipse Foundation makes available provisioning software, 
+examples of which include, but are not limited to, p2 and the Eclipse
+   Update Manager ("Provisioning Technology") for the purpose of 
+allowing users to install software, documentation, information and/or
+   other materials (collectively "Installable Software"). This 
+capability is provided with the intent of allowing such users to
+   install, extend and update Eclipse-based products. Information about 
+packaging Installable Software is available at <a href="http://eclipse.org/equinox/p2/repository_packaging.html">http://eclipse.org/equinox/p2/repository_packaging.html</a>
+   ("Specification").</p>
+
+<p>You may use Provisioning Technology to allow other parties to install
+ Installable Software. You shall be responsible for enabling the
+   applicable license agreements relating to the Installable Software to
+ be presented to, and accepted by, the users of the Provisioning 
+Technology
+   in accordance with the Specification. By using Provisioning 
+Technology in such a manner and making it available in accordance with 
+the
+   Specification, you further acknowledge your agreement to, and the 
+acquisition of all necessary rights to permit the following:</p>
+
+<ol>
+       <li>A series of actions may occur ("Provisioning Process") in 
+which a user may execute the Provisioning Technology
+       on a machine ("Target Machine") with the intent of installing, 
+extending or updating the functionality of an Eclipse-based
+       product.</li>
+       <li>During the Provisioning Process, the Provisioning Technology 
+may cause third party Installable Software or a portion thereof to be
+       accessed and copied to the Target Machine.</li>
+       <li>Pursuant to the Specification, you will provide to the user 
+the terms and conditions that govern the use of the Installable
+       Software ("Installable Software Agreement") and such Installable 
+Software Agreement shall be accessed from the Target
+       Machine in accordance with the Specification. Such Installable 
+Software Agreement must inform the user of the terms and conditions that
+ govern
+       the Installable Software and must solicit acceptance by the end 
+user in the manner prescribed in such Installable Software Agreement. 
+Upon such
+       indication of agreement by the user, the provisioning Technology 
+will complete installation of the Installable Software.</li>
+</ol>
+
+<h3>Cryptography</h3>
+
+<p>Content may contain encryption software. The country in which you are
+ currently may have restrictions on the import, possession, and use, 
+and/or re-export to
+   another country, of encryption software. BEFORE using any encryption 
+software, please check the country's laws, regulations and policies 
+concerning the import,
+   possession, or use, and re-export of encryption software, to see if 
+this is permitted.</p>
+
+<p><small>Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.</small></p>
+
+
+</body></html>
\ No newline at end of file
diff --git a/org.eclipse.osbp.xtext.entitymock.ui/plugin.xml b/org.eclipse.osbp.xtext.entitymock.ui/plugin.xml
new file mode 100644
index 0000000..0632d39
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.ui/plugin.xml
@@ -0,0 +1,570 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<plugin>
+
+    <extension
+            point="org.eclipse.ui.editors">
+        <editor
+            class="org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.XtextEditor"
+            contributorClass="org.eclipse.ui.editors.text.TextEditorActionContributor"
+            default="true"
+            extensions="entitymock"
+            icon="icons/dsl_entitymock.png"
+            id="org.eclipse.osbp.xtext.entitymock.EntityMockDSL"
+            matchingStrategy="org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLExecutableExtensionFactory:org.eclipse.xtext.xbase.ui.editor.JavaEditorInputMatcher"
+            name="OSBP EntityMockDSL Editor">
+        </editor>
+    </extension>
+    <extension
+        point="org.eclipse.ui.handlers">
+        <handler
+            class="org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclarationHandler"
+            commandId="org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclaration">
+            <activeWhen>
+                <reference
+                    definitionId="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.Editor.opened">
+                </reference>
+            </activeWhen>
+        </handler>
+        <handler
+            class="org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.handler.ValidateActionHandler"
+            commandId="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.validate">
+         <activeWhen>
+            <reference
+                    definitionId="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.Editor.opened">
+            </reference>
+         </activeWhen>
+      	</handler>
+      	<!-- copy qualified name -->
+        <handler
+            class="org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedNameHandler"
+            commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName">
+            <activeWhen>
+				<reference definitionId="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.Editor.opened" />
+            </activeWhen>
+        </handler>
+        <handler
+            class="org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedNameHandler"
+            commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName">
+            <activeWhen>
+            	<and>
+            		<reference definitionId="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.XtextEditor.opened" />
+	                <iterate>
+						<adapt type="org.eclipse.xtext.ui.editor.outline.IOutlineNode" />
+					</iterate>
+				</and>
+            </activeWhen>
+        </handler>
+    </extension>
+    <extension point="org.eclipse.core.expressions.definitions">
+        <definition id="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.Editor.opened">
+            <and>
+                <reference definitionId="isActiveEditorAnInstanceOfXtextEditor"/>
+                <with variable="activeEditor">
+                    <test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName" 
+                        value="org.eclipse.osbp.xtext.entitymock.EntityMockDSL" 
+                        forcePluginActivation="true"/>
+                </with>        
+            </and>
+        </definition>
+        <definition id="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.XtextEditor.opened">
+            <and>
+                <reference definitionId="isXtextEditorActive"/>
+                <with variable="activeEditor">
+                    <test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName" 
+                        value="org.eclipse.osbp.xtext.entitymock.EntityMockDSL" 
+                        forcePluginActivation="true"/>
+                </with>        
+            </and>
+        </definition>
+    </extension>
+    <extension
+            point="org.eclipse.ui.preferencePages">
+        <page
+            class="org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
+            id="org.eclipse.osbp.xtext.entitymock.EntityMockDSL"
+            icon="icons/dsl_entitymock.png"
+            name="OSBP EntityMockDSL">
+            <keywordReference id="org.eclipse.osbp.xtext.entitymock.ui.keyword_EntityMockDSL"/>
+        </page>
+        <page
+            category="org.eclipse.osbp.xtext.entitymock.EntityMockDSL"
+            class="org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.syntaxcoloring.SyntaxColoringPreferencePage"
+            id="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.coloring"
+            icon="icons/dsl_entitymock.png"
+            name="Syntax Coloring">
+            <keywordReference id="org.eclipse.osbp.xtext.entitymock.ui.keyword_EntityMockDSL"/>
+        </page>
+        <page
+            category="org.eclipse.osbp.xtext.entitymock.EntityMockDSL"
+            class="org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.templates.XtextTemplatePreferencePage"
+            id="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.templates"
+            icon="icons/dsl_entitymock.png"
+            name="Templates">
+            <keywordReference id="org.eclipse.osbp.xtext.entitymock.ui.keyword_EntityMockDSL"/>
+        </page>
+    </extension>
+    <extension
+            point="org.eclipse.ui.propertyPages">
+        <page
+            class="org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
+            id="org.eclipse.osbp.xtext.entitymock.EntityMockDSL"
+            icon="icons/dsl_entitymock.png"
+            name="OSBP EntityMockDSL">
+            <keywordReference id="org.eclipse.osbp.xtext.entitymock.ui.keyword_EntityMockDSL"/>
+            <enabledWhen>
+	            <adapt type="org.eclipse.core.resources.IProject"/>
+			</enabledWhen>
+	        <filter name="projectNature" value="org.eclipse.xtext.ui.shared.xtextNature"/>
+        </page>
+    </extension>
+    <extension
+        point="org.eclipse.ui.keywords">
+        <keyword
+            id="org.eclipse.osbp.xtext.entitymock.ui.keyword_EntityMockDSL"
+            label="OSBP EntityMockDSL"/>
+    </extension>
+    <extension
+         point="org.eclipse.ui.commands">
+      <command
+            description="Trigger expensive validation"
+            id="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.validate"
+            name="Validate">
+      </command>
+      <!-- copy qualified name -->
+      <command
+            id="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName"
+            categoryId="org.eclipse.ui.category.edit"
+            description="Copy the qualified name for the selected element"
+            name="Copy Qualified Name">
+      </command>
+      <command
+            id="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName"
+            categoryId="org.eclipse.ui.category.edit"
+            description="Copy the qualified name for the selected element"
+            name="Copy Qualified Name">
+      </command>
+    </extension>
+    <extension point="org.eclipse.ui.menus">
+        <menuContribution
+            locationURI="popup:#TextEditorContext?after=group.edit">
+             <command
+                 commandId="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.validate"
+                 style="push"
+                 tooltip="Trigger expensive validation">
+            <visibleWhen checkEnabled="false">
+                <reference
+                    definitionId="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.Editor.opened">
+                </reference>
+            </visibleWhen>
+         </command>  
+         </menuContribution>
+         <!-- copy qualified name -->
+         <menuContribution locationURI="popup:#TextEditorContext?after=copy">
+         	<command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName" 
+         		style="push" tooltip="Copy Qualified Name">
+            	<visibleWhen checkEnabled="false">
+                	<reference definitionId="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.Editor.opened" />
+            	</visibleWhen>
+         	</command>  
+         </menuContribution>
+         <menuContribution locationURI="menu:edit?after=copy">
+         	<command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName"
+            	style="push" tooltip="Copy Qualified Name">
+            	<visibleWhen checkEnabled="false">
+                	<reference definitionId="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.Editor.opened" />
+            	</visibleWhen>
+         	</command>  
+         </menuContribution>
+         <menuContribution locationURI="popup:org.eclipse.xtext.ui.outline?after=additions">
+			<command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName" 
+				style="push" tooltip="Copy Qualified Name">
+         		<visibleWhen checkEnabled="false">
+	            	<and>
+	            		<reference definitionId="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.XtextEditor.opened" />
+						<iterate>
+							<adapt type="org.eclipse.xtext.ui.editor.outline.IOutlineNode" />
+						</iterate>
+					</and>
+				</visibleWhen>
+			</command>
+         </menuContribution>
+    </extension>
+    <extension point="org.eclipse.ui.menus">
+		<menuContribution locationURI="popup:#TextEditorContext?endof=group.find">
+			<command commandId="org.eclipse.xtext.ui.editor.FindReferences">
+				<visibleWhen checkEnabled="false">
+                	<reference definitionId="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.Editor.opened">
+                	</reference>
+            	</visibleWhen>
+			</command>
+		</menuContribution>
+	</extension>
+	<extension point="org.eclipse.ui.handlers">
+	    <handler
+            class="org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.findrefs.FindReferencesHandler"
+            commandId="org.eclipse.xtext.ui.editor.FindReferences">
+            <activeWhen>
+                <reference
+                    definitionId="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.Editor.opened">
+                </reference>
+            </activeWhen>
+        </handler>
+    </extension>   
+
+<!-- adding resource factories -->
+
+	<extension
+		point="org.eclipse.emf.ecore.extension_parser">
+		<parser
+			class="org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLExecutableExtensionFactory:org.eclipse.xtext.resource.IResourceFactory"
+			type="entitymock">
+		</parser>
+	</extension>
+	<extension point="org.eclipse.xtext.extension_resourceServiceProvider">
+        <resourceServiceProvider
+            class="org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLExecutableExtensionFactory:org.eclipse.xtext.ui.resource.IResourceUIServiceProvider"
+            uriExtension="entitymock">
+        </resourceServiceProvider>
+    </extension>
+
+
+	<!-- marker definitions for org.eclipse.osbp.xtext.entitymock.EntityMockDSL -->
+	<extension
+	        id="entitymockdsl.check.fast"
+	        name="OSBP EntityMockDSL Problem"
+	        point="org.eclipse.core.resources.markers">
+	    <super type="org.eclipse.xtext.ui.check.fast"/>
+	    <persistent value="true"/>
+	</extension>
+	<extension
+	        id="entitymockdsl.check.normal"
+	        name="OSBP EntityMockDSL Problem"
+	        point="org.eclipse.core.resources.markers">
+	    <super type="org.eclipse.xtext.ui.check.normal"/>
+	    <persistent value="true"/>
+	</extension>
+	<extension
+	        id="entitymockdsl.check.expensive"
+	        name="OSBP EntityMockDSL Problem"
+	        point="org.eclipse.core.resources.markers">
+	    <super type="org.eclipse.xtext.ui.check.expensive"/>
+	    <persistent value="true"/>
+	</extension>
+
+   <extension
+         point="org.eclipse.xtext.builder.participant">
+      <participant
+            class="org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLExecutableExtensionFactory:org.eclipse.xtext.builder.IXtextBuilderParticipant"
+            fileExtensions="entitymock"
+            >
+      </participant>
+   </extension>
+   <extension
+            point="org.eclipse.ui.preferencePages">
+        <page
+            category="org.eclipse.osbp.xtext.entitymock.EntityMockDSL"
+            class="org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLExecutableExtensionFactory:org.eclipse.xtext.builder.preferences.BuilderPreferencePage"
+            id="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.compiler.preferencePage"
+            icon="icons/dsl_entitymock.png"
+            name="Compiler">
+            <keywordReference id="org.eclipse.osbp.xtext.entitymock.ui.keyword_EntityMockDSL"/>
+        </page>
+    </extension>
+    <extension
+            point="org.eclipse.ui.propertyPages">
+        <page
+            category="org.eclipse.osbp.xtext.entitymock.EntityMockDSL"
+            class="org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLExecutableExtensionFactory:org.eclipse.xtext.builder.preferences.BuilderPreferencePage"
+            id="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.compiler.propertyPage"
+            icon="icons/dsl_entitymock.png"
+            name="Compiler">
+            <keywordReference id="org.eclipse.osbp.xtext.entitymock.ui.keyword_EntityMockDSL"/>
+            <enabledWhen>
+	            <adapt type="org.eclipse.core.resources.IProject"/>
+			</enabledWhen>
+	        <filter name="projectNature" value="org.eclipse.xtext.ui.shared.xtextNature"/>
+        </page>
+    </extension>
+
+	<!-- Quick Outline -->
+	<extension
+		point="org.eclipse.ui.handlers">
+		<handler 
+			class="org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.outline.quickoutline.ShowQuickOutlineActionHandler"
+			commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline">
+			<activeWhen>
+				<reference
+					definitionId="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.Editor.opened">
+				</reference>
+			</activeWhen>
+		</handler>
+	</extension>
+	<extension
+		point="org.eclipse.ui.commands">
+		<command
+			description="Open the quick outline."
+			id="org.eclipse.xtext.ui.editor.outline.QuickOutline"
+			name="Quick Outline">
+		</command>
+	</extension>
+	<extension point="org.eclipse.ui.menus">
+		<menuContribution
+			locationURI="popup:#TextEditorContext?after=group.open">
+			<command commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline"
+				style="push"
+				tooltip="Open Quick Outline">
+				<visibleWhen checkEnabled="false">
+					<reference definitionId="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.Editor.opened"/>
+				</visibleWhen>
+			</command>
+		</menuContribution>
+	</extension>
+    <!-- quickfix marker resolution generator for org.eclipse.osbp.xtext.entitymock.EntityMockDSL -->
+    <extension
+            point="org.eclipse.ui.ide.markerResolution">
+        <markerResolutionGenerator
+            class="org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
+            markerType="org.eclipse.osbp.xtext.entitymock.ui.entitymockdsl.check.fast">
+            <attribute
+                name="FIXABLE_KEY"
+                value="true">
+            </attribute>
+        </markerResolutionGenerator>
+        <markerResolutionGenerator
+            class="org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
+            markerType="org.eclipse.osbp.xtext.entitymock.ui.entitymockdsl.check.normal">
+            <attribute
+                name="FIXABLE_KEY"
+                value="true">
+            </attribute>
+        </markerResolutionGenerator>
+        <markerResolutionGenerator
+            class="org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
+            markerType="org.eclipse.osbp.xtext.entitymock.ui.entitymockdsl.check.expensive">
+            <attribute
+                name="FIXABLE_KEY"
+                value="true">
+            </attribute>
+        </markerResolutionGenerator>
+    </extension>
+   	<!-- Rename Refactoring -->
+	<extension point="org.eclipse.ui.handlers">
+		<handler 
+			class="org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLExecutableExtensionFactory:org.eclipse.xtext.ui.refactoring.ui.DefaultRenameElementHandler"
+			commandId="org.eclipse.xtext.ui.refactoring.RenameElement">
+			<activeWhen>
+				<reference
+					definitionId="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.Editor.opened">
+				</reference>
+			</activeWhen>
+		</handler>
+	</extension>
+    <extension point="org.eclipse.ui.menus">
+         <menuContribution
+            locationURI="popup:#TextEditorContext?after=group.edit">
+         <command commandId="org.eclipse.xtext.ui.refactoring.RenameElement"
+               style="push">
+            <visibleWhen checkEnabled="false">
+               <reference
+                     definitionId="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.Editor.opened">
+               </reference>
+            </visibleWhen>
+         </command>
+      </menuContribution>
+   </extension>
+   <extension point="org.eclipse.ui.preferencePages">
+	    <page
+	        category="org.eclipse.osbp.xtext.entitymock.EntityMockDSL"
+	        class="org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLExecutableExtensionFactory:org.eclipse.xtext.ui.refactoring.ui.RefactoringPreferencePage"
+	        id="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.refactoring"
+            icon="icons/dsl_entitymock.png"
+	        name="Refactoring">
+	        <keywordReference id="org.eclipse.osbp.xtext.entitymock.ui.keyword_EntityMockDSL"/>
+	    </page>
+	</extension>
+
+<!-- Type Hierarchy  -->
+	<extension
+		point="org.eclipse.ui.handlers">
+		<handler 
+			class="org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLExecutableExtensionFactory:org.eclipse.xtext.xbase.ui.hierarchy.OpenTypeHierarchyHandler"
+			commandId="org.eclipse.xtext.xbase.ui.hierarchy.OpenTypeHierarchy">
+			<activeWhen>
+				<reference
+					definitionId="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.Editor.opened">
+				</reference>
+			</activeWhen>
+		</handler>
+		<handler 
+			class="org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLExecutableExtensionFactory:org.eclipse.xtext.xbase.ui.hierarchy.QuickTypeHierarchyHandler"
+			commandId="org.eclipse.jdt.ui.edit.text.java.open.hierarchy">
+			<activeWhen>
+				<reference
+					definitionId="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.Editor.opened">
+				</reference>
+			</activeWhen>
+		</handler>
+	</extension>
+	<extension point="org.eclipse.ui.menus">
+		<menuContribution
+			locationURI="popup:#TextEditorContext?after=group.open">
+			<command commandId="org.eclipse.xtext.xbase.ui.hierarchy.OpenTypeHierarchy"
+				style="push"
+				tooltip="Open Type Hierarchy">
+				<visibleWhen checkEnabled="false">
+					<reference definitionId="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.Editor.opened"/>
+				</visibleWhen>
+			</command>
+		</menuContribution>
+		<menuContribution
+			locationURI="popup:#TextEditorContext?after=group.open">
+			<command commandId="org.eclipse.jdt.ui.edit.text.java.open.hierarchy"
+				style="push"
+				tooltip="Quick Type Hierarchy">
+				<visibleWhen checkEnabled="false">
+					<reference definitionId="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.Editor.opened"/>
+				</visibleWhen>
+			</command>
+		</menuContribution>
+	</extension>
+	<!-- Call Hierachy -->
+	<extension
+		point="org.eclipse.ui.handlers">
+		<handler 
+			class="org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLExecutableExtensionFactory:org.eclipse.xtext.xbase.ui.hierarchy.OpenCallHierachyHandler"
+			commandId="org.eclipse.xtext.xbase.ui.hierarchy.OpenCallHierarchy">
+			<activeWhen>
+				<reference
+					definitionId="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.Editor.opened">
+				</reference>
+			</activeWhen>
+		</handler>
+	</extension>
+	
+	<extension point="org.eclipse.ui.menus">
+		<menuContribution
+			locationURI="popup:#TextEditorContext?after=group.open">
+			<command commandId="org.eclipse.xtext.xbase.ui.hierarchy.OpenCallHierarchy"
+				style="push"
+				tooltip="Open Call Hierarchy">
+				<visibleWhen checkEnabled="false">
+					<reference definitionId="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.Editor.opened"/>
+				</visibleWhen>
+			</command>
+		</menuContribution>
+	</extension>
+	<extension
+         point="org.eclipse.core.runtime.adapters">
+      <factory class="org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLExecutableExtensionFactory:org.eclipse.xtext.builder.smap.StratumBreakpointAdapterFactory"
+         adaptableType="org.eclipse.xtext.ui.editor.XtextEditor">
+         <adapter type="org.eclipse.debug.ui.actions.IToggleBreakpointsTarget"/>
+      </factory> 
+   </extension>
+   <extension point="org.eclipse.ui.editorActions">
+      <editorContribution targetID="org.eclipse.osbp.xtext.entitymock.EntityMockDSL" 
+                          id="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.rulerActions">
+	     <action
+	             label="Not Used"
+	             class="org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLExecutableExtensionFactory:org.eclipse.debug.ui.actions.RulerToggleBreakpointActionDelegate"
+	             style="push"
+	             actionID="RulerDoubleClick"
+	             id="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.doubleClickBreakpointAction"/>
+	  </editorContribution>
+   </extension>
+   <extension point="org.eclipse.ui.popupMenus">
+      <viewerContribution
+         targetID="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.RulerContext"
+         id="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.RulerPopupActions">
+         <action
+            label="Toggle Breakpoint"
+            class="org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLExecutableExtensionFactory:org.eclipse.debug.ui.actions.RulerToggleBreakpointActionDelegate"
+            menubarPath="debug"
+            id="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.rulerContextMenu.toggleBreakpointAction">
+         </action>
+         <action
+            label="Not used"
+            class="org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLExecutableExtensionFactory:org.eclipse.debug.ui.actions.RulerEnableDisableBreakpointActionDelegate"
+            menubarPath="debug"
+            id="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.rulerContextMenu.enableDisableBreakpointAction">
+         </action>
+         <action
+           label="Breakpoint Properties"
+           helpContextId="breakpoint_properties_action_context"
+           class="org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLExecutableExtensionFactory:org.eclipse.jdt.debug.ui.actions.JavaBreakpointPropertiesRulerActionDelegate"
+           menubarPath="group.properties"
+           id="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.rulerContextMenu.openBreapointPropertiesAction">
+         </action>
+      </viewerContribution>
+   </extension>
+    <!-- Introduce Local Variable Refactoring -->
+	<extension point="org.eclipse.ui.handlers">
+		<handler 
+			class="org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLExecutableExtensionFactory:org.eclipse.xtext.xbase.ui.refactoring.ExtractVariableHandler"
+			commandId="org.eclipse.xtext.xbase.ui.refactoring.ExtractLocalVariable">
+			<activeWhen>
+				<reference
+					definitionId="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.Editor.opened">
+				</reference>
+			</activeWhen>
+		</handler>
+	</extension>
+    <extension point="org.eclipse.ui.menus">
+         <menuContribution
+            locationURI="popup:#TextEditorContext?after=group.edit">
+         <command commandId="org.eclipse.xtext.xbase.ui.refactoring.ExtractLocalVariable"
+               style="push">
+            <visibleWhen checkEnabled="false">
+               <reference
+                     definitionId="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.Editor.opened">
+               </reference>
+            </visibleWhen>
+         </command>
+      </menuContribution>
+   </extension>  
+   <!-- Open implementation -->
+   <extension point="org.eclipse.ui.handlers">
+      <handler
+            class="org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLExecutableExtensionFactory:org.eclipse.xtext.xbase.ui.navigation.OpenImplementationHandler"
+            commandId="org.eclipse.xtext.xbase.ui.OpenImplementationCommand">
+            <activeWhen>
+				<reference
+					definitionId="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.Editor.opened">
+				</reference>
+			</activeWhen>
+      </handler>
+   </extension>
+ <extension point="org.eclipse.ui.menus">
+       <menuContribution
+            locationURI="menu:navigate?after=open.ext4">
+         <command commandId="org.eclipse.xtext.xbase.ui.OpenImplementationCommand">
+		<visibleWhen checkEnabled="false">
+              <reference
+                 definitionId="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.Editor.opened">
+              </reference>
+		</visibleWhen>
+         </command>
+      </menuContribution>
+   </extension>
+
+  <extension point="org.eclipse.compare.contentViewers">
+    <viewer id="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.compare.contentViewers"
+            class="org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLExecutableExtensionFactory:org.eclipse.xtext.ui.compare.InjectableViewerCreator"
+            extensions="entitymock">
+    </viewer>
+  </extension>
+  <extension point="org.eclipse.compare.contentMergeViewers">
+    <viewer id="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.compare.contentMergeViewers"
+            class="org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLExecutableExtensionFactory:org.eclipse.xtext.ui.compare.InjectableViewerCreator"
+            extensions="entitymock" label="EntityMockDSL Compare">
+     </viewer>
+  </extension>
+  <extension point="org.eclipse.ui.editors.documentProviders">
+    <provider id="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.editors.documentProviders"
+            class="org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.model.XtextDocumentProvider"
+            extensions="entitymock">
+    </provider>
+  </extension>
+
+</plugin>
diff --git a/org.eclipse.osbp.xtext.entitymock.ui/plugin.xml_gen b/org.eclipse.osbp.xtext.entitymock.ui/plugin.xml_gen
new file mode 100644
index 0000000..bbeefb6
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.ui/plugin.xml_gen
@@ -0,0 +1,562 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<plugin>
+
+    <extension
+            point="org.eclipse.ui.editors">
+        <editor
+            class="org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.XtextEditor"
+            contributorClass="org.eclipse.ui.editors.text.TextEditorActionContributor"
+            default="true"
+            extensions="entitymock"
+            id="org.eclipse.osbp.xtext.entitymock.EntityMockDSL"
+            matchingStrategy="org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLExecutableExtensionFactory:org.eclipse.xtext.xbase.ui.editor.JavaEditorInputMatcher"
+            name="EntityMockDSL Editor">
+        </editor>
+    </extension>
+    <extension
+        point="org.eclipse.ui.handlers">
+        <handler
+            class="org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclarationHandler"
+            commandId="org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclaration">
+            <activeWhen>
+                <reference
+                    definitionId="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.Editor.opened">
+                </reference>
+            </activeWhen>
+        </handler>
+        <handler
+            class="org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.handler.ValidateActionHandler"
+            commandId="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.validate">
+         <activeWhen>
+            <reference
+                    definitionId="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.Editor.opened">
+            </reference>
+         </activeWhen>
+      	</handler>
+      	<!-- copy qualified name -->
+        <handler
+            class="org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedNameHandler"
+            commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName">
+            <activeWhen>
+				<reference definitionId="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.Editor.opened" />
+            </activeWhen>
+        </handler>
+        <handler
+            class="org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedNameHandler"
+            commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName">
+            <activeWhen>
+            	<and>
+            		<reference definitionId="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.XtextEditor.opened" />
+	                <iterate>
+						<adapt type="org.eclipse.xtext.ui.editor.outline.IOutlineNode" />
+					</iterate>
+				</and>
+            </activeWhen>
+        </handler>
+    </extension>
+    <extension point="org.eclipse.core.expressions.definitions">
+        <definition id="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.Editor.opened">
+            <and>
+                <reference definitionId="isActiveEditorAnInstanceOfXtextEditor"/>
+                <with variable="activeEditor">
+                    <test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName" 
+                        value="org.eclipse.osbp.xtext.entitymock.EntityMockDSL" 
+                        forcePluginActivation="true"/>
+                </with>        
+            </and>
+        </definition>
+        <definition id="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.XtextEditor.opened">
+            <and>
+                <reference definitionId="isXtextEditorActive"/>
+                <with variable="activeEditor">
+                    <test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName" 
+                        value="org.eclipse.osbp.xtext.entitymock.EntityMockDSL" 
+                        forcePluginActivation="true"/>
+                </with>        
+            </and>
+        </definition>
+    </extension>
+    <extension
+            point="org.eclipse.ui.preferencePages">
+        <page
+            class="org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
+            id="org.eclipse.osbp.xtext.entitymock.EntityMockDSL"
+            name="EntityMockDSL">
+            <keywordReference id="org.eclipse.osbp.xtext.entitymock.ui.keyword_EntityMockDSL"/>
+        </page>
+        <page
+            category="org.eclipse.osbp.xtext.entitymock.EntityMockDSL"
+            class="org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.syntaxcoloring.SyntaxColoringPreferencePage"
+            id="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.coloring"
+            name="Syntax Coloring">
+            <keywordReference id="org.eclipse.osbp.xtext.entitymock.ui.keyword_EntityMockDSL"/>
+        </page>
+        <page
+            category="org.eclipse.osbp.xtext.entitymock.EntityMockDSL"
+            class="org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.templates.XtextTemplatePreferencePage"
+            id="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.templates"
+            name="Templates">
+            <keywordReference id="org.eclipse.osbp.xtext.entitymock.ui.keyword_EntityMockDSL"/>
+        </page>
+    </extension>
+    <extension
+            point="org.eclipse.ui.propertyPages">
+        <page
+            class="org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
+            id="org.eclipse.osbp.xtext.entitymock.EntityMockDSL"
+            name="EntityMockDSL">
+            <keywordReference id="org.eclipse.osbp.xtext.entitymock.ui.keyword_EntityMockDSL"/>
+            <enabledWhen>
+	            <adapt type="org.eclipse.core.resources.IProject"/>
+			</enabledWhen>
+	        <filter name="projectNature" value="org.eclipse.xtext.ui.shared.xtextNature"/>
+        </page>
+    </extension>
+    <extension
+        point="org.eclipse.ui.keywords">
+        <keyword
+            id="org.eclipse.osbp.xtext.entitymock.ui.keyword_EntityMockDSL"
+            label="EntityMockDSL"/>
+    </extension>
+    <extension
+         point="org.eclipse.ui.commands">
+      <command
+            description="Trigger expensive validation"
+            id="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.validate"
+            name="Validate">
+      </command>
+      <!-- copy qualified name -->
+      <command
+            id="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName"
+            categoryId="org.eclipse.ui.category.edit"
+            description="Copy the qualified name for the selected element"
+            name="Copy Qualified Name">
+      </command>
+      <command
+            id="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName"
+            categoryId="org.eclipse.ui.category.edit"
+            description="Copy the qualified name for the selected element"
+            name="Copy Qualified Name">
+      </command>
+    </extension>
+    <extension point="org.eclipse.ui.menus">
+        <menuContribution
+            locationURI="popup:#TextEditorContext?after=group.edit">
+             <command
+                 commandId="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.validate"
+                 style="push"
+                 tooltip="Trigger expensive validation">
+            <visibleWhen checkEnabled="false">
+                <reference
+                    definitionId="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.Editor.opened">
+                </reference>
+            </visibleWhen>
+         </command>  
+         </menuContribution>
+         <!-- copy qualified name -->
+         <menuContribution locationURI="popup:#TextEditorContext?after=copy">
+         	<command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName" 
+         		style="push" tooltip="Copy Qualified Name">
+            	<visibleWhen checkEnabled="false">
+                	<reference definitionId="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.Editor.opened" />
+            	</visibleWhen>
+         	</command>  
+         </menuContribution>
+         <menuContribution locationURI="menu:edit?after=copy">
+         	<command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName"
+            	style="push" tooltip="Copy Qualified Name">
+            	<visibleWhen checkEnabled="false">
+                	<reference definitionId="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.Editor.opened" />
+            	</visibleWhen>
+         	</command>  
+         </menuContribution>
+         <menuContribution locationURI="popup:org.eclipse.xtext.ui.outline?after=additions">
+			<command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName" 
+				style="push" tooltip="Copy Qualified Name">
+         		<visibleWhen checkEnabled="false">
+	            	<and>
+	            		<reference definitionId="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.XtextEditor.opened" />
+						<iterate>
+							<adapt type="org.eclipse.xtext.ui.editor.outline.IOutlineNode" />
+						</iterate>
+					</and>
+				</visibleWhen>
+			</command>
+         </menuContribution>
+    </extension>
+    <extension point="org.eclipse.ui.menus">
+		<menuContribution locationURI="popup:#TextEditorContext?endof=group.find">
+			<command commandId="org.eclipse.xtext.ui.editor.FindReferences">
+				<visibleWhen checkEnabled="false">
+                	<reference definitionId="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.Editor.opened">
+                	</reference>
+            	</visibleWhen>
+			</command>
+		</menuContribution>
+	</extension>
+	<extension point="org.eclipse.ui.handlers">
+	    <handler
+            class="org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.findrefs.FindReferencesHandler"
+            commandId="org.eclipse.xtext.ui.editor.FindReferences">
+            <activeWhen>
+                <reference
+                    definitionId="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.Editor.opened">
+                </reference>
+            </activeWhen>
+        </handler>
+    </extension>   
+
+<!-- adding resource factories -->
+
+	<extension
+		point="org.eclipse.emf.ecore.extension_parser">
+		<parser
+			class="org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLExecutableExtensionFactory:org.eclipse.xtext.resource.IResourceFactory"
+			type="entitymock">
+		</parser>
+	</extension>
+	<extension point="org.eclipse.xtext.extension_resourceServiceProvider">
+        <resourceServiceProvider
+            class="org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLExecutableExtensionFactory:org.eclipse.xtext.ui.resource.IResourceUIServiceProvider"
+            uriExtension="entitymock">
+        </resourceServiceProvider>
+    </extension>
+
+
+	<!-- marker definitions for org.eclipse.osbp.xtext.entitymock.EntityMockDSL -->
+	<extension
+	        id="entitymockdsl.check.fast"
+	        name="EntityMockDSL Problem"
+	        point="org.eclipse.core.resources.markers">
+	    <super type="org.eclipse.xtext.ui.check.fast"/>
+	    <persistent value="true"/>
+	</extension>
+	<extension
+	        id="entitymockdsl.check.normal"
+	        name="EntityMockDSL Problem"
+	        point="org.eclipse.core.resources.markers">
+	    <super type="org.eclipse.xtext.ui.check.normal"/>
+	    <persistent value="true"/>
+	</extension>
+	<extension
+	        id="entitymockdsl.check.expensive"
+	        name="EntityMockDSL Problem"
+	        point="org.eclipse.core.resources.markers">
+	    <super type="org.eclipse.xtext.ui.check.expensive"/>
+	    <persistent value="true"/>
+	</extension>
+
+   <extension
+         point="org.eclipse.xtext.builder.participant">
+      <participant
+            class="org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLExecutableExtensionFactory:org.eclipse.xtext.builder.IXtextBuilderParticipant"
+            fileExtensions="entitymock"
+            >
+      </participant>
+   </extension>
+   <extension
+            point="org.eclipse.ui.preferencePages">
+        <page
+            category="org.eclipse.osbp.xtext.entitymock.EntityMockDSL"
+            class="org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLExecutableExtensionFactory:org.eclipse.xtext.builder.preferences.BuilderPreferencePage"
+            id="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.compiler.preferencePage"
+            name="Compiler">
+            <keywordReference id="org.eclipse.osbp.xtext.entitymock.ui.keyword_EntityMockDSL"/>
+        </page>
+    </extension>
+    <extension
+            point="org.eclipse.ui.propertyPages">
+        <page
+            category="org.eclipse.osbp.xtext.entitymock.EntityMockDSL"
+            class="org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLExecutableExtensionFactory:org.eclipse.xtext.builder.preferences.BuilderPreferencePage"
+            id="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.compiler.propertyPage"
+            name="Compiler">
+            <keywordReference id="org.eclipse.osbp.xtext.entitymock.ui.keyword_EntityMockDSL"/>
+            <enabledWhen>
+	            <adapt type="org.eclipse.core.resources.IProject"/>
+			</enabledWhen>
+	        <filter name="projectNature" value="org.eclipse.xtext.ui.shared.xtextNature"/>
+        </page>
+    </extension>
+
+	<!-- Quick Outline -->
+	<extension
+		point="org.eclipse.ui.handlers">
+		<handler 
+			class="org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.outline.quickoutline.ShowQuickOutlineActionHandler"
+			commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline">
+			<activeWhen>
+				<reference
+					definitionId="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.Editor.opened">
+				</reference>
+			</activeWhen>
+		</handler>
+	</extension>
+	<extension
+		point="org.eclipse.ui.commands">
+		<command
+			description="Open the quick outline."
+			id="org.eclipse.xtext.ui.editor.outline.QuickOutline"
+			name="Quick Outline">
+		</command>
+	</extension>
+	<extension point="org.eclipse.ui.menus">
+		<menuContribution
+			locationURI="popup:#TextEditorContext?after=group.open">
+			<command commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline"
+				style="push"
+				tooltip="Open Quick Outline">
+				<visibleWhen checkEnabled="false">
+					<reference definitionId="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.Editor.opened"/>
+				</visibleWhen>
+			</command>
+		</menuContribution>
+	</extension>
+    <!-- quickfix marker resolution generator for org.eclipse.osbp.xtext.entitymock.EntityMockDSL -->
+    <extension
+            point="org.eclipse.ui.ide.markerResolution">
+        <markerResolutionGenerator
+            class="org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
+            markerType="org.eclipse.osbp.xtext.entitymock.ui.entitymockdsl.check.fast">
+            <attribute
+                name="FIXABLE_KEY"
+                value="true">
+            </attribute>
+        </markerResolutionGenerator>
+        <markerResolutionGenerator
+            class="org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
+            markerType="org.eclipse.osbp.xtext.entitymock.ui.entitymockdsl.check.normal">
+            <attribute
+                name="FIXABLE_KEY"
+                value="true">
+            </attribute>
+        </markerResolutionGenerator>
+        <markerResolutionGenerator
+            class="org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
+            markerType="org.eclipse.osbp.xtext.entitymock.ui.entitymockdsl.check.expensive">
+            <attribute
+                name="FIXABLE_KEY"
+                value="true">
+            </attribute>
+        </markerResolutionGenerator>
+    </extension>
+   	<!-- Rename Refactoring -->
+	<extension point="org.eclipse.ui.handlers">
+		<handler 
+			class="org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLExecutableExtensionFactory:org.eclipse.xtext.ui.refactoring.ui.DefaultRenameElementHandler"
+			commandId="org.eclipse.xtext.ui.refactoring.RenameElement">
+			<activeWhen>
+				<reference
+					definitionId="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.Editor.opened">
+				</reference>
+			</activeWhen>
+		</handler>
+	</extension>
+    <extension point="org.eclipse.ui.menus">
+         <menuContribution
+            locationURI="popup:#TextEditorContext?after=group.edit">
+         <command commandId="org.eclipse.xtext.ui.refactoring.RenameElement"
+               style="push">
+            <visibleWhen checkEnabled="false">
+               <reference
+                     definitionId="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.Editor.opened">
+               </reference>
+            </visibleWhen>
+         </command>
+      </menuContribution>
+   </extension>
+   <extension point="org.eclipse.ui.preferencePages">
+	    <page
+	        category="org.eclipse.osbp.xtext.entitymock.EntityMockDSL"
+	        class="org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLExecutableExtensionFactory:org.eclipse.xtext.ui.refactoring.ui.RefactoringPreferencePage"
+	        id="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.refactoring"
+	        name="Refactoring">
+	        <keywordReference id="org.eclipse.osbp.xtext.entitymock.ui.keyword_EntityMockDSL"/>
+	    </page>
+	</extension>
+
+<!-- Type Hierarchy  -->
+	<extension
+		point="org.eclipse.ui.handlers">
+		<handler 
+			class="org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLExecutableExtensionFactory:org.eclipse.xtext.xbase.ui.hierarchy.OpenTypeHierarchyHandler"
+			commandId="org.eclipse.xtext.xbase.ui.hierarchy.OpenTypeHierarchy">
+			<activeWhen>
+				<reference
+					definitionId="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.Editor.opened">
+				</reference>
+			</activeWhen>
+		</handler>
+		<handler 
+			class="org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLExecutableExtensionFactory:org.eclipse.xtext.xbase.ui.hierarchy.QuickTypeHierarchyHandler"
+			commandId="org.eclipse.jdt.ui.edit.text.java.open.hierarchy">
+			<activeWhen>
+				<reference
+					definitionId="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.Editor.opened">
+				</reference>
+			</activeWhen>
+		</handler>
+	</extension>
+	<extension point="org.eclipse.ui.menus">
+		<menuContribution
+			locationURI="popup:#TextEditorContext?after=group.open">
+			<command commandId="org.eclipse.xtext.xbase.ui.hierarchy.OpenTypeHierarchy"
+				style="push"
+				tooltip="Open Type Hierarchy">
+				<visibleWhen checkEnabled="false">
+					<reference definitionId="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.Editor.opened"/>
+				</visibleWhen>
+			</command>
+		</menuContribution>
+		<menuContribution
+			locationURI="popup:#TextEditorContext?after=group.open">
+			<command commandId="org.eclipse.jdt.ui.edit.text.java.open.hierarchy"
+				style="push"
+				tooltip="Quick Type Hierarchy">
+				<visibleWhen checkEnabled="false">
+					<reference definitionId="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.Editor.opened"/>
+				</visibleWhen>
+			</command>
+		</menuContribution>
+	</extension>
+	<!-- Call Hierachy -->
+	<extension
+		point="org.eclipse.ui.handlers">
+		<handler 
+			class="org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLExecutableExtensionFactory:org.eclipse.xtext.xbase.ui.hierarchy.OpenCallHierachyHandler"
+			commandId="org.eclipse.xtext.xbase.ui.hierarchy.OpenCallHierarchy">
+			<activeWhen>
+				<reference
+					definitionId="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.Editor.opened">
+				</reference>
+			</activeWhen>
+		</handler>
+	</extension>
+	
+	<extension point="org.eclipse.ui.menus">
+		<menuContribution
+			locationURI="popup:#TextEditorContext?after=group.open">
+			<command commandId="org.eclipse.xtext.xbase.ui.hierarchy.OpenCallHierarchy"
+				style="push"
+				tooltip="Open Call Hierarchy">
+				<visibleWhen checkEnabled="false">
+					<reference definitionId="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.Editor.opened"/>
+				</visibleWhen>
+			</command>
+		</menuContribution>
+	</extension>
+	<extension
+         point="org.eclipse.core.runtime.adapters">
+      <factory class="org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLExecutableExtensionFactory:org.eclipse.xtext.builder.smap.StratumBreakpointAdapterFactory"
+         adaptableType="org.eclipse.xtext.ui.editor.XtextEditor">
+         <adapter type="org.eclipse.debug.ui.actions.IToggleBreakpointsTarget"/>
+      </factory> 
+   </extension>
+   <extension point="org.eclipse.ui.editorActions">
+      <editorContribution targetID="org.eclipse.osbp.xtext.entitymock.EntityMockDSL" 
+                          id="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.rulerActions">
+	     <action
+	             label="Not Used"
+	             class="org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLExecutableExtensionFactory:org.eclipse.debug.ui.actions.RulerToggleBreakpointActionDelegate"
+	             style="push"
+	             actionID="RulerDoubleClick"
+	             id="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.doubleClickBreakpointAction"/>
+	  </editorContribution>
+   </extension>
+   <extension point="org.eclipse.ui.popupMenus">
+      <viewerContribution
+         targetID="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.RulerContext"
+         id="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.RulerPopupActions">
+         <action
+            label="Toggle Breakpoint"
+            class="org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLExecutableExtensionFactory:org.eclipse.debug.ui.actions.RulerToggleBreakpointActionDelegate"
+            menubarPath="debug"
+            id="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.rulerContextMenu.toggleBreakpointAction">
+         </action>
+         <action
+            label="Not used"
+            class="org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLExecutableExtensionFactory:org.eclipse.debug.ui.actions.RulerEnableDisableBreakpointActionDelegate"
+            menubarPath="debug"
+            id="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.rulerContextMenu.enableDisableBreakpointAction">
+         </action>
+         <action
+           label="Breakpoint Properties"
+           helpContextId="breakpoint_properties_action_context"
+           class="org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLExecutableExtensionFactory:org.eclipse.jdt.debug.ui.actions.JavaBreakpointPropertiesRulerActionDelegate"
+           menubarPath="group.properties"
+           id="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.rulerContextMenu.openBreapointPropertiesAction">
+         </action>
+      </viewerContribution>
+   </extension>
+    <!-- Introduce Local Variable Refactoring -->
+	<extension point="org.eclipse.ui.handlers">
+		<handler 
+			class="org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLExecutableExtensionFactory:org.eclipse.xtext.xbase.ui.refactoring.ExtractVariableHandler"
+			commandId="org.eclipse.xtext.xbase.ui.refactoring.ExtractLocalVariable">
+			<activeWhen>
+				<reference
+					definitionId="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.Editor.opened">
+				</reference>
+			</activeWhen>
+		</handler>
+	</extension>
+    <extension point="org.eclipse.ui.menus">
+         <menuContribution
+            locationURI="popup:#TextEditorContext?after=group.edit">
+         <command commandId="org.eclipse.xtext.xbase.ui.refactoring.ExtractLocalVariable"
+               style="push">
+            <visibleWhen checkEnabled="false">
+               <reference
+                     definitionId="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.Editor.opened">
+               </reference>
+            </visibleWhen>
+         </command>
+      </menuContribution>
+   </extension>  
+   <!-- Open implementation -->
+   <extension point="org.eclipse.ui.handlers">
+      <handler
+            class="org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLExecutableExtensionFactory:org.eclipse.xtext.xbase.ui.navigation.OpenImplementationHandler"
+            commandId="org.eclipse.xtext.xbase.ui.OpenImplementationCommand">
+            <activeWhen>
+				<reference
+					definitionId="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.Editor.opened">
+				</reference>
+			</activeWhen>
+      </handler>
+   </extension>
+ <extension point="org.eclipse.ui.menus">
+       <menuContribution
+            locationURI="menu:navigate?after=open.ext4">
+         <command commandId="org.eclipse.xtext.xbase.ui.OpenImplementationCommand">
+		<visibleWhen checkEnabled="false">
+              <reference
+                 definitionId="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.Editor.opened">
+              </reference>
+		</visibleWhen>
+         </command>
+      </menuContribution>
+   </extension>
+
+  <extension point="org.eclipse.compare.contentViewers">
+    <viewer id="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.compare.contentViewers"
+            class="org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLExecutableExtensionFactory:org.eclipse.xtext.ui.compare.InjectableViewerCreator"
+            extensions="entitymock">
+    </viewer>
+  </extension>
+  <extension point="org.eclipse.compare.contentMergeViewers">
+    <viewer id="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.compare.contentMergeViewers"
+            class="org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLExecutableExtensionFactory:org.eclipse.xtext.ui.compare.InjectableViewerCreator"
+            extensions="entitymock" label="EntityMockDSL Compare">
+     </viewer>
+  </extension>
+  <extension point="org.eclipse.ui.editors.documentProviders">
+    <provider id="org.eclipse.osbp.xtext.entitymock.EntityMockDSL.editors.documentProviders"
+            class="org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.model.XtextDocumentProvider"
+            extensions="entitymock">
+    </provider>
+  </extension>
+
+</plugin>
diff --git a/org.eclipse.osbp.xtext.entitymock.ui/pom.xml b/org.eclipse.osbp.xtext.entitymock.ui/pom.xml
new file mode 100644
index 0000000..2d07542
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.ui/pom.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--#======================================================================= -->
+<!--# Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) -->
+<!--# 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: -->
+<!--#     Christophe Loetz (Loetz GmbH&Co.KG) - initial API and implementation -->
+<!--#======================================================================= -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <artifactId>org.eclipse.osbp.xtext.entitymock.ui</artifactId>
+    <packaging>eclipse-plugin</packaging>
+    <parent>
+        <groupId>org.eclipse.osbp.xtext.entitymock</groupId>
+        <artifactId>org.eclipse.osbp.xtext.entitymock.aggregator</artifactId>
+        <version>0.9.0-SNAPSHOT</version>
+        <relativePath>..</relativePath>
+    </parent>
+
+</project>
diff --git a/org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/AbstractEntityMockDSLUiModule.java b/org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/AbstractEntityMockDSLUiModule.java
new file mode 100644
index 0000000..a330e32
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/AbstractEntityMockDSLUiModule.java
@@ -0,0 +1,375 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  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:                                                      
+ * 	   Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ * 
+ */
+
+package org.eclipse.osbp.xtext.entitymock.ui;
+
+import org.eclipse.xtext.ui.DefaultUiModule;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+
+/**
+ * Manual modifications go to {org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLUiModule}
+ */
+@SuppressWarnings("all")
+public abstract class AbstractEntityMockDSLUiModule extends DefaultUiModule {
+	
+	public AbstractEntityMockDSLUiModule(AbstractUIPlugin plugin) {
+		super(plugin);
+	}
+	
+	
+	// contributed by org.eclipse.xtext.ui.generator.ImplicitUiFragment
+	public com.google.inject.Provider<org.eclipse.xtext.resource.containers.IAllContainersState> provideIAllContainersState() {
+		return org.eclipse.xtext.ui.shared.Access.getJavaProjectsState();
+	}
+
+	// contributed by org.eclipse.xtext.ui.generator.ImplicitUiFragment
+	public Class<? extends org.eclipse.xtext.ui.editor.XtextEditor> bindXtextEditor() {
+		return org.eclipse.xtext.xbase.ui.editor.XbaseEditor.class;
+	}
+
+	// contributed by org.eclipse.xtext.ui.generator.ImplicitUiFragment
+	public Class<? extends org.eclipse.xtext.ui.editor.model.XtextDocumentProvider> bindXtextDocumentProvider() {
+		return org.eclipse.xtext.xbase.ui.editor.XbaseDocumentProvider.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+	public Class<? extends org.eclipse.xtext.ui.editor.contentassist.IProposalConflictHelper> bindIProposalConflictHelper() {
+		return org.eclipse.xtext.ui.editor.contentassist.antlr.AntlrProposalConflictHelper.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+	public void configureHighlightingLexer(com.google.inject.Binder binder) {
+		binder.bind(org.eclipse.xtext.parser.antlr.Lexer.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.ui.LexerUIBindings.HIGHLIGHTING)).to(org.eclipse.osbp.xtext.entitymock.parser.antlr.internal.InternalEntityMockDSLLexer.class);
+	}
+
+	// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+	public void configureHighlightingTokenDefProvider(com.google.inject.Binder binder) {
+		binder.bind(org.eclipse.xtext.parser.antlr.ITokenDefProvider.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.ui.LexerUIBindings.HIGHLIGHTING)).to(org.eclipse.xtext.parser.antlr.AntlrTokenDefProvider.class);
+	}
+
+	// contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
+	public void configureIResourceDescriptionsBuilderScope(com.google.inject.Binder binder) {
+		binder.bind(org.eclipse.xtext.resource.IResourceDescriptions.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.resource.impl.ResourceDescriptionsProvider.NAMED_BUILDER_SCOPE)).to(org.eclipse.xtext.builder.clustering.CurrentDescriptions.ResourceSetAware.class);
+	}
+
+	// contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
+	public Class<? extends org.eclipse.xtext.ui.editor.IXtextEditorCallback> bindIXtextEditorCallback() {
+		return org.eclipse.xtext.builder.nature.NatureAddingEditorCallback.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
+	public void configureIResourceDescriptionsPersisted(com.google.inject.Binder binder) {
+		binder.bind(org.eclipse.xtext.resource.IResourceDescriptions.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.resource.impl.ResourceDescriptionsProvider.PERSISTED_DESCRIPTIONS)).to(org.eclipse.xtext.builder.builderState.IBuilderState.class);
+	}
+
+	// contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
+	public Class<? extends org.eclipse.xtext.ui.editor.DocumentBasedDirtyResource> bindDocumentBasedDirtyResource() {
+		return org.eclipse.xtext.builder.impl.PersistentDataAwareDirtyResource.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.generator.GeneratorFragment
+	public Class<? extends org.eclipse.xtext.builder.IXtextBuilderParticipant> bindIXtextBuilderParticipant() {
+		return org.eclipse.xtext.builder.BuilderParticipant.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.generator.GeneratorFragment
+	public org.eclipse.core.resources.IWorkspaceRoot bindIWorkspaceRootToInstance() {
+		return org.eclipse.core.resources.ResourcesPlugin.getWorkspace().getRoot();
+	}
+
+	// contributed by org.eclipse.xtext.generator.generator.GeneratorFragment
+	public void configureBuilderPreferenceStoreInitializer(com.google.inject.Binder binder) {
+		binder.bind(org.eclipse.xtext.ui.editor.preferences.IPreferenceStoreInitializer.class).annotatedWith(com.google.inject.name.Names.named("builderPreferenceInitializer")).to(org.eclipse.xtext.builder.preferences.BuilderPreferenceAccess.Initializer.class);
+	}
+
+	// contributed by org.eclipse.xtext.ui.generator.labeling.LabelProviderFragment
+	public Class<? extends org.eclipse.jface.viewers.ILabelProvider> bindILabelProvider() {
+		return org.eclipse.osbp.xtext.entitymock.ui.labeling.EntityMockDSLLabelProvider.class;
+	}
+
+	// contributed by org.eclipse.xtext.ui.generator.labeling.LabelProviderFragment
+	public void configureResourceUIServiceLabelProvider(com.google.inject.Binder binder) {
+		binder.bind(org.eclipse.jface.viewers.ILabelProvider.class).annotatedWith(org.eclipse.xtext.ui.resource.ResourceServiceDescriptionLabelProvider.class).to(org.eclipse.osbp.xtext.entitymock.ui.labeling.EntityMockDSLDescriptionLabelProvider.class);
+	}
+
+	// contributed by org.eclipse.xtext.ui.generator.outline.OutlineTreeProviderFragment
+	public Class<? extends org.eclipse.xtext.ui.editor.outline.IOutlineTreeProvider> bindIOutlineTreeProvider() {
+		return org.eclipse.osbp.xtext.entitymock.ui.outline.EntityMockDSLOutlineTreeProvider.class;
+	}
+
+	// contributed by org.eclipse.xtext.ui.generator.outline.OutlineTreeProviderFragment
+	public Class<? extends org.eclipse.xtext.ui.editor.outline.impl.IOutlineTreeStructureProvider> bindIOutlineTreeStructureProvider() {
+		return org.eclipse.osbp.xtext.entitymock.ui.outline.EntityMockDSLOutlineTreeProvider.class;
+	}
+
+	// contributed by org.eclipse.xtext.ui.generator.quickfix.QuickfixProviderFragment
+	public Class<? extends org.eclipse.xtext.ui.editor.quickfix.IssueResolutionProvider> bindIssueResolutionProvider() {
+		return org.eclipse.osbp.xtext.entitymock.ui.quickfix.EntityMockDSLQuickfixProvider.class;
+	}
+
+	// contributed by org.eclipse.xtext.ui.generator.contentAssist.ContentAssistFragment
+	public Class<? extends org.eclipse.xtext.ui.editor.contentassist.IContentProposalProvider> bindIContentProposalProvider() {
+		return org.eclipse.osbp.xtext.entitymock.ui.contentassist.EntityMockDSLProposalProvider.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrUiGeneratorFragment
+	public Class<? extends org.eclipse.xtext.ui.editor.contentassist.ContentAssistContext.Factory> bindContentAssistContext$Factory() {
+		return org.eclipse.xtext.ui.editor.contentassist.antlr.ParserBasedContentAssistContextFactory.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrUiGeneratorFragment
+	public Class<? extends org.eclipse.xtext.ui.editor.contentassist.antlr.IContentAssistParser> bindIContentAssistParser() {
+		return org.eclipse.osbp.xtext.entitymock.ui.contentassist.antlr.EntityMockDSLParser.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrUiGeneratorFragment
+	public void configureContentAssistLexerProvider(com.google.inject.Binder binder) {
+		binder.bind(org.eclipse.osbp.xtext.entitymock.ui.contentassist.antlr.internal.InternalEntityMockDSLLexer.class).toProvider(org.eclipse.xtext.parser.antlr.LexerProvider.create(org.eclipse.osbp.xtext.entitymock.ui.contentassist.antlr.internal.InternalEntityMockDSLLexer.class));
+	}
+
+	// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrUiGeneratorFragment
+	public void configureContentAssistLexer(com.google.inject.Binder binder) {
+		binder.bind(org.eclipse.xtext.ui.editor.contentassist.antlr.internal.Lexer.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.ui.LexerUIBindings.CONTENT_ASSIST)).to(org.eclipse.osbp.xtext.entitymock.ui.contentassist.antlr.internal.InternalEntityMockDSLLexer.class);
+	}
+
+	// contributed by org.eclipse.xtext.ui.generator.refactoring.RefactorElementNameFragment
+	public void configureIPreferenceStoreInitializer(com.google.inject.Binder binder) {
+		binder.bind(org.eclipse.xtext.ui.editor.preferences.IPreferenceStoreInitializer.class).annotatedWith(com.google.inject.name.Names.named("RefactoringPreferences")).to(org.eclipse.xtext.ui.refactoring.ui.RefactoringPreferences.Initializer.class);
+	}
+
+	// contributed by org.eclipse.xtext.ui.generator.refactoring.RefactorElementNameFragment
+	public Class<? extends org.eclipse.xtext.ui.refactoring.ui.IRenameSupport.Factory> bindIRenameSupport$Factory() {
+		return org.eclipse.xtext.common.types.ui.refactoring.JdtRenameSupport.Factory.class;
+	}
+
+	// contributed by org.eclipse.xtext.ui.generator.refactoring.RefactorElementNameFragment
+	public Class<? extends org.eclipse.xtext.ui.refactoring.IRenameStrategy.Provider> bindIRenameStrategy$Provider() {
+		return org.eclipse.xtext.common.types.ui.refactoring.participant.JvmMemberRenameStrategy.Provider.class;
+	}
+
+	// contributed by org.eclipse.xtext.ui.generator.refactoring.RefactorElementNameFragment
+	public void configureJvmMemberRenameStrategy$Provider$Delegate(com.google.inject.Binder binder) {
+		binder.bind(org.eclipse.xtext.ui.refactoring.IRenameStrategy.Provider.class).annotatedWith(org.eclipse.xtext.common.types.ui.refactoring.participant.JvmMemberRenameStrategy.Provider.Delegate.class).to(org.eclipse.xtext.ui.refactoring.impl.DefaultRenameStrategyProvider.class);
+	}
+
+	// contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+	public java.lang.ClassLoader bindClassLoaderToInstance() {
+		return getClass().getClassLoader();
+	}
+
+	// contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+	public Class<? extends org.eclipse.xtext.common.types.access.IJvmTypeProvider.Factory> bindIJvmTypeProvider$Factory() {
+		return org.eclipse.xtext.common.types.access.jdt.JdtTypeProviderFactory.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+	public Class<? extends org.eclipse.xtext.common.types.xtext.AbstractTypeScopeProvider> bindAbstractTypeScopeProvider() {
+		return org.eclipse.xtext.common.types.xtext.ui.JdtBasedSimpleTypeScopeProvider.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+	public Class<? extends org.eclipse.xtext.common.types.xtext.ui.ITypesProposalProvider> bindITypesProposalProvider() {
+		return org.eclipse.xtext.common.types.xtext.ui.JdtTypesProposalProvider.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+	public Class<? extends org.eclipse.xtext.common.types.access.jdt.IJavaProjectProvider> bindIJavaProjectProvider() {
+		return org.eclipse.xtext.common.types.xtext.ui.XtextResourceSetBasedProjectProvider.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+	public Class<? extends org.eclipse.xtext.ui.editor.contentassist.PrefixMatcher> bindPrefixMatcher() {
+		return org.eclipse.xtext.ui.editor.contentassist.FQNPrefixMatcher.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+	public Class<? extends org.eclipse.xtext.ui.editor.IValidationJobScheduler> bindIValidationJobScheduler() {
+		return org.eclipse.xtext.common.types.xtext.ui.JdtValidationJobScheduler.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+	public Class<? extends org.eclipse.xtext.ui.refactoring.impl.RefactoringResourceSetProvider> bindRefactoringResourceSetProvider() {
+		return org.eclipse.xtext.common.types.ui.refactoring.JvmRefactoringResourceSetProvider.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+	public Class<? extends org.eclipse.xtext.ui.editor.syntaxcoloring.AbstractAntlrTokenToAttributeIdMapper> bindAbstractAntlrTokenToAttributeIdMapper() {
+		return org.eclipse.xtext.xbase.ui.syntaxcoloring.XbaseTokenToAttributeIdMapper.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+	public Class<? extends org.eclipse.xtext.ui.editor.contentassist.AbstractJavaBasedContentProposalProvider.ReferenceProposalCreator> bindAbstractJavaBasedContentProposalProvider$ReferenceProposalCreator() {
+		return org.eclipse.xtext.xbase.ui.contentassist.XbaseReferenceProposalCreator.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+	public Class<? extends org.eclipse.jface.text.contentassist.IContentAssistProcessor> bindIContentAssistProcessor() {
+		return org.eclipse.xtext.ui.editor.contentassist.RepeatedContentAssistProcessor.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+	public Class<? extends org.eclipse.xtext.ui.editor.syntaxcoloring.ISemanticHighlightingCalculator> bindISemanticHighlightingCalculator() {
+		return org.eclipse.xtext.xbase.ui.highlighting.XbaseHighlightingCalculator.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+	public Class<? extends org.eclipse.xtext.ui.editor.syntaxcoloring.IHighlightingConfiguration> bindIHighlightingConfiguration() {
+		return org.eclipse.xtext.xbase.ui.highlighting.XbaseHighlightingConfiguration.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+	public Class<? extends org.eclipse.xtext.ui.editor.hover.IEObjectHoverProvider> bindIEObjectHoverProvider() {
+		return org.eclipse.xtext.xbase.ui.hover.XbaseHoverProvider.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+	public Class<? extends org.eclipse.xtext.ui.editor.hover.IEObjectHover> bindIEObjectHover() {
+		return org.eclipse.xtext.xbase.ui.hover.XbaseDispatchingEObjectTextHover.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+	public Class<? extends org.eclipse.xtext.ui.editor.hover.html.IEObjectHoverDocumentationProvider> bindIEObjectHoverDocumentationProvider() {
+		return org.eclipse.xtext.xbase.ui.hover.XbaseHoverDocumentationProvider.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+	public Class<? extends org.eclipse.xtext.ui.editor.quickfix.DefaultQuickfixProvider.CrossRefResolutionConverter> bindDefaultQuickfixProvider$CrossRefResolutionConverter() {
+		return org.eclipse.xtext.xbase.ui.quickfix.XbaseCrossRefResolutionConverter.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+	@org.eclipse.xtext.service.SingletonBinding(eager=true)	public Class<? extends org.eclipse.xtext.xbase.ui.validation.XbaseUIValidator> bindXbaseUIValidator() {
+		return org.eclipse.xtext.xbase.ui.validation.XbaseUIValidator.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+	public Class<? extends org.eclipse.xtext.ui.editor.hyperlinking.IHyperlinkHelper> bindIHyperlinkHelper() {
+		return org.eclipse.xtext.xbase.ui.navigation.TypeLiteralAwareHyperlinkHelper.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+	public Class<? extends org.eclipse.xtext.xbase.typesystem.internal.IFeatureScopeTracker.Provider> bindIFeatureScopeTracker$Provider() {
+		return org.eclipse.xtext.xbase.typesystem.internal.OptimizingFeatureScopeTrackerProvider.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+	public Class<? extends org.eclipse.xtext.ui.editor.findrefs.FindReferencesHandler> bindFindReferencesHandler() {
+		return org.eclipse.xtext.xbase.ui.jvmmodel.findrefs.JvmModelFindReferenceHandler.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+	public Class<? extends org.eclipse.xtext.ui.editor.findrefs.ReferenceQueryExecutor> bindReferenceQueryExecutor() {
+		return org.eclipse.xtext.xbase.ui.jvmmodel.findrefs.JvmModelReferenceQueryExecutor.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+	public Class<? extends org.eclipse.xtext.ui.refactoring.IDependentElementsCalculator> bindIDependentElementsCalculator() {
+		return org.eclipse.xtext.xbase.ui.jvmmodel.refactoring.JvmModelDependentElementsCalculator.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+	public Class<? extends org.eclipse.xtext.ui.refactoring.IRenameRefactoringProvider> bindIRenameRefactoringProvider() {
+		return org.eclipse.xtext.xbase.ui.jvmmodel.refactoring.jdt.CombinedJvmJdtRenameRefactoringProvider.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+	public Class<? extends org.eclipse.xtext.ui.refactoring.IReferenceUpdater> bindIReferenceUpdater() {
+		return org.eclipse.xtext.xbase.ui.refactoring.XbaseReferenceUpdater.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+	public Class<? extends org.eclipse.xtext.ui.refactoring.ui.IRenameContextFactory> bindIRenameContextFactory() {
+		return org.eclipse.xtext.xbase.ui.jvmmodel.refactoring.jdt.CombinedJvmJdtRenameContextFactory.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+	public Class<? extends org.eclipse.xtext.common.types.ui.refactoring.participant.JdtRenameParticipant.ContextFactory> bindJdtRenameParticipant$ContextFactory() {
+		return org.eclipse.xtext.xbase.ui.jvmmodel.refactoring.JvmModelJdtRenameParticipantContext.ContextFactory.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+	public Class<? extends org.eclipse.xtext.ui.refactoring.IRenameStrategy> bindIRenameStrategy() {
+		return org.eclipse.xtext.xbase.ui.jvmmodel.refactoring.DefaultJvmModelRenameStrategy.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+	public Class<? extends org.eclipse.xtext.ui.editor.outline.impl.OutlineNodeElementOpener> bindOutlineNodeElementOpener() {
+		return org.eclipse.xtext.xbase.ui.jvmmodel.outline.JvmOutlineNodeElementOpener.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+	public Class<? extends org.eclipse.xtext.ui.editor.GlobalURIEditorOpener> bindGlobalURIEditorOpener() {
+		return org.eclipse.xtext.common.types.ui.navigation.GlobalDerivedMemberAwareURIEditorOpener.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+	public Class<? extends org.eclipse.xtext.ui.editor.occurrences.IOccurrenceComputer> bindIOccurrenceComputer() {
+		return org.eclipse.xtext.xbase.ui.jvmmodel.occurrence.JvmModelOccurrenceComputer.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+	public Class<? extends org.eclipse.xtext.common.types.ui.query.IJavaSearchParticipation> bindIJavaSearchParticipation() {
+		return org.eclipse.xtext.common.types.ui.query.IJavaSearchParticipation.No.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+	public void configureLanguageSpecificURIEditorOpener(com.google.inject.Binder binder) {
+		if (org.eclipse.ui.PlatformUI.isWorkbenchRunning()) { 
+			binder.bind(org.eclipse.xtext.ui.editor.IURIEditorOpener.class).annotatedWith(org.eclipse.xtext.ui.LanguageSpecific.class).to(org.eclipse.xtext.xbase.ui.jvmmodel.navigation.DerivedMemberAwareEditorOpener.class); 
+			binder.bind(org.eclipse.xtext.common.types.ui.navigation.IDerivedMemberAwareEditorOpener.class).to(org.eclipse.xtext.xbase.ui.jvmmodel.navigation.DerivedMemberAwareEditorOpener.class); 
+		};
+	}
+
+	// contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+	public Class<? extends org.eclipse.jface.text.hyperlink.IHyperlinkDetector> bindIHyperlinkDetector() {
+		return org.eclipse.xtext.xbase.ui.navigation.XbaseHyperlinkDetector.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+	public Class<? extends org.eclipse.xtext.xbase.ui.quickfix.JavaTypeQuickfixes> bindJavaTypeQuickfixes() {
+		return org.eclipse.xtext.xbase.ui.quickfix.JavaTypeQuickfixesNoImportSection.class;
+	}
+
+	// contributed by org.eclipse.xtext.ui.generator.templates.CodetemplatesGeneratorFragment
+	public com.google.inject.Provider<org.eclipse.xtext.ui.codetemplates.ui.preferences.TemplatesLanguageConfiguration> provideTemplatesLanguageConfiguration() {
+		return org.eclipse.xtext.ui.codetemplates.ui.AccessibleCodetemplatesActivator.getTemplatesLanguageConfigurationProvider();
+	}
+
+	// contributed by org.eclipse.xtext.ui.generator.templates.CodetemplatesGeneratorFragment
+	public com.google.inject.Provider<org.eclipse.xtext.ui.codetemplates.ui.registry.LanguageRegistry> provideLanguageRegistry() {
+		return org.eclipse.xtext.ui.codetemplates.ui.AccessibleCodetemplatesActivator.getLanguageRegistry();
+	}
+
+	// contributed by org.eclipse.xtext.ui.generator.templates.CodetemplatesGeneratorFragment
+	@org.eclipse.xtext.service.SingletonBinding(eager=true)	public Class<? extends org.eclipse.xtext.ui.codetemplates.ui.registry.LanguageRegistrar> bindLanguageRegistrar() {
+		return org.eclipse.xtext.ui.codetemplates.ui.registry.LanguageRegistrar.class;
+	}
+
+	// contributed by org.eclipse.xtext.ui.generator.templates.CodetemplatesGeneratorFragment
+	public Class<? extends org.eclipse.xtext.ui.editor.templates.XtextTemplatePreferencePage> bindXtextTemplatePreferencePage() {
+		return org.eclipse.xtext.ui.codetemplates.ui.preferences.AdvancedTemplatesPreferencePage.class;
+	}
+
+	// contributed by org.eclipse.xtext.ui.generator.templates.CodetemplatesGeneratorFragment
+	public Class<? extends org.eclipse.xtext.ui.codetemplates.ui.partialEditing.IPartialContentAssistParser> bindIPartialContentAssistParser() {
+		return org.eclipse.osbp.xtext.entitymock.ui.contentassist.antlr.PartialEntityMockDSLContentAssistParser.class;
+	}
+
+	// contributed by org.eclipse.xtext.ui.generator.compare.CompareFragment
+	public Class<? extends org.eclipse.compare.IViewerCreator> bindIViewerCreator() {
+		return org.eclipse.xtext.ui.compare.DefaultViewerCreator.class;
+	}
+
+
+}
diff --git a/org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/EntityMockDSLExecutableExtensionFactory.java b/org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/EntityMockDSLExecutableExtensionFactory.java
new file mode 100644
index 0000000..6936631
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/EntityMockDSLExecutableExtensionFactory.java
@@ -0,0 +1,40 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  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:                                                      
+ * 	   Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ * 
+ */
+
+package org.eclipse.osbp.xtext.entitymock.ui;
+
+import org.eclipse.xtext.ui.guice.AbstractGuiceAwareExecutableExtensionFactory;
+import org.osgi.framework.Bundle;
+
+import com.google.inject.Injector;
+
+import org.eclipse.osbp.xtext.entitymock.ui.internal.EntityMockDSLActivator;
+
+/**
+ * This class was generated. Customizations should only happen in a newly
+ * introduced subclass. 
+ */
+public class EntityMockDSLExecutableExtensionFactory extends AbstractGuiceAwareExecutableExtensionFactory {
+
+	@Override
+	protected Bundle getBundle() {
+		return EntityMockDSLActivator.getInstance().getBundle();
+	}
+	
+	@Override
+	protected Injector getInjector() {
+		return EntityMockDSLActivator.getInstance().getInjector(EntityMockDSLActivator.ORG_ECLIPSE_OSBP_XTEXT_ENTITYMOCK_ENTITYMOCKDSL);
+	}
+	
+}
diff --git a/org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/AbstractEntityMockDSLProposalProvider.java b/org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/AbstractEntityMockDSLProposalProvider.java
new file mode 100644
index 0000000..905c519
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/AbstractEntityMockDSLProposalProvider.java
@@ -0,0 +1,616 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  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:                                                      
+ * 	   Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ * 
+ */
+
+package org.eclipse.osbp.xtext.entitymock.ui.contentassist;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.xtext.*;
+import org.eclipse.xtext.ui.editor.contentassist.ICompletionProposalAcceptor;
+import org.eclipse.xtext.ui.editor.contentassist.ContentAssistContext;
+
+/**
+ * Represents a generated, default implementation of superclass {@link org.eclipse.xtext.xbase.annotations.ui.contentassist.XbaseWithAnnotationsProposalProvider}.
+ * Methods are dynamically dispatched on the first parameter, i.e., you can override them 
+ * with a more concrete subtype. 
+ */
+@SuppressWarnings("all")
+public class AbstractEntityMockDSLProposalProvider extends org.eclipse.xtext.xbase.annotations.ui.contentassist.XbaseWithAnnotationsProposalProvider {
+		
+	public void completeEntityMockModel_Packages(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockPackage_Imports(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockPackage_RunPriority(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockPackage_Datainterchanges(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockPackage_Resources(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockPackage_Objects(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockPackage_Datatypes(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockPackage_Entities(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityModelImport_ImportedNamespace(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeRunningDataInterchanges_Datainterchanges(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeRunningDataInterchange_DatainterchangeRef(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeRunningDataInterchange_FileURL(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockResources_Resources(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockResource_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockResource_Attributes(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockResource_Datarows(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockResourceAttribute_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockResourceDataRow_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockResourceDataRow_Values(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockObjects_Objects(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockObject_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockObject_Enumerations(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockObject_Attributes(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockObject_Calculations(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockObjectEnum_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockObjectEnum_UsingResource(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockDataTypes_Datatypes(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockObjectPlainValue_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockObjectPlainValue_Values(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockObjectResourceValue_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockObjectResourceValue_ResourceEnum(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockObjectResourceValue_ResourceAttribute(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockObjectArrayValue_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockObjectArrayValue_Enumeration(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockObjectArrayValue_Items(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockObjectItemValue_Datarow(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockObjectItemValue_Values(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockObjectEmbed_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockObjectEmbed_Object(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockObjectFunction_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockObjectFunction_Oftype(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockObjectFunction_Params(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockObjectFunction_Body(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockObjectFunctionParameter_ParameterType(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockObjectFunctionParameter_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockObjectFill_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockObjectFill_FillerType(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completePropertyFillerDateFuture_DateFutureYears(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completePropertyFillerDatePast_DatePastYears(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completePropertyFillerDateRange_DateBeginYears(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completePropertyFillerDateRange_DateEndYears(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completePropertyFillerSignedDoubleRange_BeginRange(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completePropertyFillerSignedDoubleRange_BeginRangeRef(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+	}
+	public void completePropertyFillerSignedDoubleRange_EndRange(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completePropertyFillerSignedDoubleRange_EndRangeRef(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+	}
+	public void completePropertyFillerSignedDoubleRange_Decimals(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completePropertyFillerSignedDoubleRange_Rounded(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completePropertyFillerSignedDoubleRandom_Items(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completePropertyFillerSignedIntegerRange_BeginRange(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completePropertyFillerSignedIntegerRange_BeginRangeRef(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+	}
+	public void completePropertyFillerSignedIntegerRange_EndRange(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completePropertyFillerSignedIntegerRange_EndRangeRef(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+	}
+	public void completePropertyFillerSignedIntegerRange_Rounded(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completePropertyFillerSignedIntegerRandom_Items(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completePropertyFillerTextRandom_Items(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completePropertyFillerTextParagraphs_Count(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completePropertyFillerTextSentences_Count(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completePropertyFillerTextWords_Count(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completePropertyFillerUnsignedDoubleRange_BeginRange(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completePropertyFillerUnsignedDoubleRange_BeginRangeRef(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+	}
+	public void completePropertyFillerUnsignedDoubleRange_EndRange(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completePropertyFillerUnsignedDoubleRange_EndRangeRef(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+	}
+	public void completePropertyFillerUnsignedDoubleRange_Decimals(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completePropertyFillerUnsignedDoubleRange_Rounded(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completePropertyFillerUnsignedDoubleRandom_Items(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completePropertyFillerUnsignedIntegerRange_BeginRange(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completePropertyFillerUnsignedIntegerRange_BeginRangeRef(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+	}
+	public void completePropertyFillerUnsignedIntegerRange_EndRange(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completePropertyFillerUnsignedIntegerRange_EndRangeRef(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+	}
+	public void completePropertyFillerUnsignedIntegerRange_Rounded(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completePropertyFillerUnsignedIntegerRandom_Items(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockDataType_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockEntities_Entities(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockEntity_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockEntity_EntityRef(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockEntity_MinRows(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockEntity_MaxRows(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockEntity_Temporaries(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockEntity_Attributes(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockEntity_Calculations(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockEntity_ByResource(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockEntity_ByResourceAttributes(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockEntity_CreateBlobMapping(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void completeEntityMockEntity_Iterator(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockEntity_Iterate(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeIntegerIterate_From(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeIntegerIterate_Until(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeIntegerIterate_Step(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeDateIterate_From(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeDateIterate_Until(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeDateIterate_StepCount(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeDateIterate_StepType(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeDate_Yesterday(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void completeDate_Today(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void completeDate_Tomorrow(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void completeDate_Year(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeDate_Month(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeDate_Day(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockByResourceAttribute_AttributeRef(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockByResourceAttribute_ResourceAttribute(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockTemporary_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockTemporary_Object(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockEntityFunction_AttributeRef(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockEntityFunction_Params(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockEntityFunction_Body(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockEntityFunctionParameter_AttributeRef(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockEntityFunctionParameter_ReferencePaths(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockEntityFunctionParameter_ReferenceRef(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockReferencedObjectAttribute_Temporary(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockReferencedObjectAttribute_Embedded(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockReferencedObjectAttribute_Attribute(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockAttributeByObject_AttributeRef(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockAttributeByObject_Reference(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockAttributeByObject_ResourceEnum(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockAttributeByObject_ResourceAttribute(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockAttributeFiller_AttributeRef(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockAttributeFiller_FillerType(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockAttributeByReference_AttributeRef(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockAttributeByReference_MockedEntity(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeEntityMockAttributeByReference_OptionalFor(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+    
+	public void complete_EntityMockModel(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_EntityMockPackage(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_EntityModelImport(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_EntityMockQualifiedNameWithWildCard(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_RunningDataInterchanges(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_RunningDataInterchange(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_EntityMockResources(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_EntityMockResource(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_EntityMockResourceAttribute(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_EntityMockResourceDataRow(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_EntityMockObjects(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_EntityMockObject(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_EntityMockObjectEnum(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_EntityMockDataTypes(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_IEntityMockObjectUsable(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_IEntityMockObjectAttribute(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_EntityMockObjectPlainValue(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_EntityMockObjectResourceValue(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_EntityMockObjectArrayValue(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_EntityMockObjectItemValue(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_EntityMockObjectEmbed(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_EntityMockObjectFunction(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_EntityMockObjectFunctionParameter(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_EntityMockObjectFill(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_PropertyFillerType(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_PropertyFillerDateFuture(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_PropertyFillerDatePast(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_PropertyFillerBoolean(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_PropertyFillerDateRange(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_PropertyFillerSignedDoubleRange(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_PropertyFillerSignedDoubleRandom(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_PropertyFillerSignedIntegerRange(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_PropertyFillerSignedIntegerRandom(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_PropertyFillerTextRandom(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_PropertyFillerTextParagraphs(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_PropertyFillerTextSentences(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_PropertyFillerTextWords(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_PropertyFillerUnsignedDoubleRange(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_PropertyFillerUnsignedDoubleRandom(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_PropertyFillerUnsignedIntegerRange(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_PropertyFillerUnsignedIntegerRandom(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_EntityMockDataType(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_EntityMockEntities(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_EntityMockEntity(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_IIterate(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_IntegerIterate(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_DateIterate(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_Date(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_EDateStepType(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_EntityMockByResourceAttribute(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_EntityMockTemporary(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_IEntityMockEntityUsable(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_IEntityMockAttribute(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_EntityMockEntityFunction(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_EntityMockEntityFunctionParameter(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_EntityMockReferencedObjectAttribute(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_EntityMockAttributeByObject(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_EntityMockAttributeFiller(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_EntityMockAttributeByReference(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_SignedNumber(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_UnsignedNumber(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_SINT(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_QualifiedName(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_ValidID(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_ID(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+}
diff --git a/org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/EntityMockDSLParser.java b/org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/EntityMockDSLParser.java
new file mode 100644
index 0000000..5fa009c
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/EntityMockDSLParser.java
@@ -0,0 +1,718 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  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:                                                      
+ * 	   Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ * 
+ */
+
+package org.eclipse.osbp.xtext.entitymock.ui.contentassist.antlr;
+
+import java.util.Collection;
+import java.util.Map;
+import java.util.HashMap;
+
+import org.antlr.runtime.RecognitionException;
+import org.eclipse.xtext.AbstractElement;
+import org.eclipse.xtext.ui.editor.contentassist.antlr.AbstractContentAssistParser;
+import org.eclipse.xtext.ui.editor.contentassist.antlr.FollowElement;
+import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
+
+import com.google.inject.Inject;
+
+import org.eclipse.osbp.xtext.entitymock.services.EntityMockDSLGrammarAccess;
+
+public class EntityMockDSLParser extends AbstractContentAssistParser {
+	
+	@Inject
+	private EntityMockDSLGrammarAccess grammarAccess;
+	
+	private Map<AbstractElement, String> nameMappings;
+	
+	@Override
+	protected org.eclipse.osbp.xtext.entitymock.ui.contentassist.antlr.internal.InternalEntityMockDSLParser createParser() {
+		org.eclipse.osbp.xtext.entitymock.ui.contentassist.antlr.internal.InternalEntityMockDSLParser result = new org.eclipse.osbp.xtext.entitymock.ui.contentassist.antlr.internal.InternalEntityMockDSLParser(null);
+		result.setGrammarAccess(grammarAccess);
+		return result;
+	}
+	
+	@Override
+	protected String getRuleName(AbstractElement element) {
+		if (nameMappings == null) {
+			nameMappings = new HashMap<AbstractElement, String>() {
+				private static final long serialVersionUID = 1L;
+				{
+					put(grammarAccess.getIEntityMockObjectUsableAccess().getAlternatives(), "rule__IEntityMockObjectUsable__Alternatives");
+					put(grammarAccess.getIEntityMockObjectAttributeAccess().getAlternatives(), "rule__IEntityMockObjectAttribute__Alternatives");
+					put(grammarAccess.getPropertyFillerTypeAccess().getAlternatives(), "rule__PropertyFillerType__Alternatives");
+					put(grammarAccess.getPropertyFillerSignedDoubleRangeAccess().getAlternatives_1_0(), "rule__PropertyFillerSignedDoubleRange__Alternatives_1_0");
+					put(grammarAccess.getPropertyFillerSignedDoubleRangeAccess().getAlternatives_1_2(), "rule__PropertyFillerSignedDoubleRange__Alternatives_1_2");
+					put(grammarAccess.getPropertyFillerSignedIntegerRangeAccess().getAlternatives_2_0(), "rule__PropertyFillerSignedIntegerRange__Alternatives_2_0");
+					put(grammarAccess.getPropertyFillerSignedIntegerRangeAccess().getAlternatives_2_2(), "rule__PropertyFillerSignedIntegerRange__Alternatives_2_2");
+					put(grammarAccess.getPropertyFillerUnsignedDoubleRangeAccess().getAlternatives_1_0(), "rule__PropertyFillerUnsignedDoubleRange__Alternatives_1_0");
+					put(grammarAccess.getPropertyFillerUnsignedDoubleRangeAccess().getAlternatives_1_2(), "rule__PropertyFillerUnsignedDoubleRange__Alternatives_1_2");
+					put(grammarAccess.getPropertyFillerUnsignedIntegerRangeAccess().getAlternatives_2_0(), "rule__PropertyFillerUnsignedIntegerRange__Alternatives_2_0");
+					put(grammarAccess.getPropertyFillerUnsignedIntegerRangeAccess().getAlternatives_2_2(), "rule__PropertyFillerUnsignedIntegerRange__Alternatives_2_2");
+					put(grammarAccess.getEntityMockEntityAccess().getAlternatives_4(), "rule__EntityMockEntity__Alternatives_4");
+					put(grammarAccess.getIIterateAccess().getAlternatives(), "rule__IIterate__Alternatives");
+					put(grammarAccess.getDateAccess().getAlternatives(), "rule__Date__Alternatives");
+					put(grammarAccess.getIEntityMockEntityUsableAccess().getAlternatives(), "rule__IEntityMockEntityUsable__Alternatives");
+					put(grammarAccess.getIEntityMockAttributeAccess().getAlternatives(), "rule__IEntityMockAttribute__Alternatives");
+					put(grammarAccess.getEntityMockEntityFunctionParameterAccess().getAlternatives(), "rule__EntityMockEntityFunctionParameter__Alternatives");
+					put(grammarAccess.getEntityMockAttributeByObjectAccess().getAlternatives(), "rule__EntityMockAttributeByObject__Alternatives");
+					put(grammarAccess.getEntityMockAttributeByReferenceAccess().getAlternatives_3(), "rule__EntityMockAttributeByReference__Alternatives_3");
+					put(grammarAccess.getXAnnotationAccess().getAlternatives_3_1(), "rule__XAnnotation__Alternatives_3_1");
+					put(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getAlternatives(), "rule__XAnnotationElementValueOrCommaList__Alternatives");
+					put(grammarAccess.getXAnnotationElementValueAccess().getAlternatives(), "rule__XAnnotationElementValue__Alternatives");
+					put(grammarAccess.getXAnnotationOrExpressionAccess().getAlternatives(), "rule__XAnnotationOrExpression__Alternatives");
+					put(grammarAccess.getXAssignmentAccess().getAlternatives(), "rule__XAssignment__Alternatives");
+					put(grammarAccess.getOpMultiAssignAccess().getAlternatives(), "rule__OpMultiAssign__Alternatives");
+					put(grammarAccess.getOpEqualityAccess().getAlternatives(), "rule__OpEquality__Alternatives");
+					put(grammarAccess.getXRelationalExpressionAccess().getAlternatives_1(), "rule__XRelationalExpression__Alternatives_1");
+					put(grammarAccess.getOpCompareAccess().getAlternatives(), "rule__OpCompare__Alternatives");
+					put(grammarAccess.getOpOtherAccess().getAlternatives(), "rule__OpOther__Alternatives");
+					put(grammarAccess.getOpOtherAccess().getAlternatives_5_1(), "rule__OpOther__Alternatives_5_1");
+					put(grammarAccess.getOpOtherAccess().getAlternatives_6_1(), "rule__OpOther__Alternatives_6_1");
+					put(grammarAccess.getOpAddAccess().getAlternatives(), "rule__OpAdd__Alternatives");
+					put(grammarAccess.getOpMultiAccess().getAlternatives(), "rule__OpMulti__Alternatives");
+					put(grammarAccess.getXUnaryOperationAccess().getAlternatives(), "rule__XUnaryOperation__Alternatives");
+					put(grammarAccess.getOpUnaryAccess().getAlternatives(), "rule__OpUnary__Alternatives");
+					put(grammarAccess.getOpPostfixAccess().getAlternatives(), "rule__OpPostfix__Alternatives");
+					put(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1(), "rule__XMemberFeatureCall__Alternatives_1");
+					put(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1_0_0_0_1(), "rule__XMemberFeatureCall__Alternatives_1_0_0_0_1");
+					put(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1_1_0_0_1(), "rule__XMemberFeatureCall__Alternatives_1_1_0_0_1");
+					put(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1_1_3_1(), "rule__XMemberFeatureCall__Alternatives_1_1_3_1");
+					put(grammarAccess.getXPrimaryExpressionAccess().getAlternatives(), "rule__XPrimaryExpression__Alternatives");
+					put(grammarAccess.getXLiteralAccess().getAlternatives(), "rule__XLiteral__Alternatives");
+					put(grammarAccess.getXCollectionLiteralAccess().getAlternatives(), "rule__XCollectionLiteral__Alternatives");
+					put(grammarAccess.getXSwitchExpressionAccess().getAlternatives_2(), "rule__XSwitchExpression__Alternatives_2");
+					put(grammarAccess.getXCasePartAccess().getAlternatives_3(), "rule__XCasePart__Alternatives_3");
+					put(grammarAccess.getXExpressionOrVarDeclarationAccess().getAlternatives(), "rule__XExpressionOrVarDeclaration__Alternatives");
+					put(grammarAccess.getXVariableDeclarationAccess().getAlternatives_1(), "rule__XVariableDeclaration__Alternatives_1");
+					put(grammarAccess.getXVariableDeclarationAccess().getAlternatives_2(), "rule__XVariableDeclaration__Alternatives_2");
+					put(grammarAccess.getXFeatureCallAccess().getAlternatives_3_1(), "rule__XFeatureCall__Alternatives_3_1");
+					put(grammarAccess.getFeatureCallIDAccess().getAlternatives(), "rule__FeatureCallID__Alternatives");
+					put(grammarAccess.getIdOrSuperAccess().getAlternatives(), "rule__IdOrSuper__Alternatives");
+					put(grammarAccess.getXConstructorCallAccess().getAlternatives_4_1(), "rule__XConstructorCall__Alternatives_4_1");
+					put(grammarAccess.getXBooleanLiteralAccess().getAlternatives_1(), "rule__XBooleanLiteral__Alternatives_1");
+					put(grammarAccess.getXTryCatchFinallyExpressionAccess().getAlternatives_3(), "rule__XTryCatchFinallyExpression__Alternatives_3");
+					put(grammarAccess.getNumberAccess().getAlternatives(), "rule__Number__Alternatives");
+					put(grammarAccess.getNumberAccess().getAlternatives_1_0(), "rule__Number__Alternatives_1_0");
+					put(grammarAccess.getNumberAccess().getAlternatives_1_1_1(), "rule__Number__Alternatives_1_1_1");
+					put(grammarAccess.getJvmTypeReferenceAccess().getAlternatives(), "rule__JvmTypeReference__Alternatives");
+					put(grammarAccess.getJvmArgumentTypeReferenceAccess().getAlternatives(), "rule__JvmArgumentTypeReference__Alternatives");
+					put(grammarAccess.getJvmWildcardTypeReferenceAccess().getAlternatives_2(), "rule__JvmWildcardTypeReference__Alternatives_2");
+					put(grammarAccess.getXImportDeclarationAccess().getAlternatives_1(), "rule__XImportDeclaration__Alternatives_1");
+					put(grammarAccess.getXImportDeclarationAccess().getAlternatives_1_0_3(), "rule__XImportDeclaration__Alternatives_1_0_3");
+					put(grammarAccess.getEDateStepTypeAccess().getAlternatives(), "rule__EDateStepType__Alternatives");
+					put(grammarAccess.getEntityMockPackageAccess().getGroup(), "rule__EntityMockPackage__Group__0");
+					put(grammarAccess.getEntityMockPackageAccess().getGroup_3(), "rule__EntityMockPackage__Group_3__0");
+					put(grammarAccess.getEntityMockPackageAccess().getGroup_4(), "rule__EntityMockPackage__Group_4__0");
+					put(grammarAccess.getEntityMockQualifiedNameWithWildCardAccess().getGroup(), "rule__EntityMockQualifiedNameWithWildCard__Group__0");
+					put(grammarAccess.getEntityMockQualifiedNameWithWildCardAccess().getGroup_1(), "rule__EntityMockQualifiedNameWithWildCard__Group_1__0");
+					put(grammarAccess.getRunningDataInterchangesAccess().getGroup(), "rule__RunningDataInterchanges__Group__0");
+					put(grammarAccess.getRunningDataInterchangeAccess().getGroup(), "rule__RunningDataInterchange__Group__0");
+					put(grammarAccess.getEntityMockResourcesAccess().getGroup(), "rule__EntityMockResources__Group__0");
+					put(grammarAccess.getEntityMockResourceAccess().getGroup(), "rule__EntityMockResource__Group__0");
+					put(grammarAccess.getEntityMockResourceAccess().getGroup_3(), "rule__EntityMockResource__Group_3__0");
+					put(grammarAccess.getEntityMockResourceAccess().getGroup_3_2(), "rule__EntityMockResource__Group_3_2__0");
+					put(grammarAccess.getEntityMockResourceAttributeAccess().getGroup(), "rule__EntityMockResourceAttribute__Group__0");
+					put(grammarAccess.getEntityMockResourceDataRowAccess().getGroup(), "rule__EntityMockResourceDataRow__Group__0");
+					put(grammarAccess.getEntityMockResourceDataRowAccess().getGroup_2(), "rule__EntityMockResourceDataRow__Group_2__0");
+					put(grammarAccess.getEntityMockResourceDataRowAccess().getGroup_2_1(), "rule__EntityMockResourceDataRow__Group_2_1__0");
+					put(grammarAccess.getEntityMockObjectsAccess().getGroup(), "rule__EntityMockObjects__Group__0");
+					put(grammarAccess.getEntityMockObjectAccess().getGroup(), "rule__EntityMockObject__Group__0");
+					put(grammarAccess.getEntityMockObjectEnumAccess().getGroup(), "rule__EntityMockObjectEnum__Group__0");
+					put(grammarAccess.getEntityMockDataTypesAccess().getGroup(), "rule__EntityMockDataTypes__Group__0");
+					put(grammarAccess.getEntityMockObjectPlainValueAccess().getGroup(), "rule__EntityMockObjectPlainValue__Group__0");
+					put(grammarAccess.getEntityMockObjectPlainValueAccess().getGroup_3(), "rule__EntityMockObjectPlainValue__Group_3__0");
+					put(grammarAccess.getEntityMockObjectResourceValueAccess().getGroup(), "rule__EntityMockObjectResourceValue__Group__0");
+					put(grammarAccess.getEntityMockObjectResourceValueAccess().getGroup_4(), "rule__EntityMockObjectResourceValue__Group_4__0");
+					put(grammarAccess.getEntityMockObjectArrayValueAccess().getGroup(), "rule__EntityMockObjectArrayValue__Group__0");
+					put(grammarAccess.getEntityMockObjectItemValueAccess().getGroup(), "rule__EntityMockObjectItemValue__Group__0");
+					put(grammarAccess.getEntityMockObjectItemValueAccess().getGroup_3(), "rule__EntityMockObjectItemValue__Group_3__0");
+					put(grammarAccess.getEntityMockObjectEmbedAccess().getGroup(), "rule__EntityMockObjectEmbed__Group__0");
+					put(grammarAccess.getEntityMockObjectFunctionAccess().getGroup(), "rule__EntityMockObjectFunction__Group__0");
+					put(grammarAccess.getEntityMockObjectFunctionAccess().getGroup_6(), "rule__EntityMockObjectFunction__Group_6__0");
+					put(grammarAccess.getEntityMockObjectFunctionAccess().getGroup_6_1(), "rule__EntityMockObjectFunction__Group_6_1__0");
+					put(grammarAccess.getEntityMockObjectFunctionParameterAccess().getGroup(), "rule__EntityMockObjectFunctionParameter__Group__0");
+					put(grammarAccess.getEntityMockObjectFillAccess().getGroup(), "rule__EntityMockObjectFill__Group__0");
+					put(grammarAccess.getPropertyFillerDateFutureAccess().getGroup(), "rule__PropertyFillerDateFuture__Group__0");
+					put(grammarAccess.getPropertyFillerDatePastAccess().getGroup(), "rule__PropertyFillerDatePast__Group__0");
+					put(grammarAccess.getPropertyFillerBooleanAccess().getGroup(), "rule__PropertyFillerBoolean__Group__0");
+					put(grammarAccess.getPropertyFillerDateRangeAccess().getGroup(), "rule__PropertyFillerDateRange__Group__0");
+					put(grammarAccess.getPropertyFillerSignedDoubleRangeAccess().getGroup(), "rule__PropertyFillerSignedDoubleRange__Group__0");
+					put(grammarAccess.getPropertyFillerSignedDoubleRangeAccess().getGroup_1(), "rule__PropertyFillerSignedDoubleRange__Group_1__0");
+					put(grammarAccess.getPropertyFillerSignedDoubleRangeAccess().getGroup_5(), "rule__PropertyFillerSignedDoubleRange__Group_5__0");
+					put(grammarAccess.getPropertyFillerSignedDoubleRandomAccess().getGroup(), "rule__PropertyFillerSignedDoubleRandom__Group__0");
+					put(grammarAccess.getPropertyFillerSignedIntegerRangeAccess().getGroup(), "rule__PropertyFillerSignedIntegerRange__Group__0");
+					put(grammarAccess.getPropertyFillerSignedIntegerRangeAccess().getGroup_2(), "rule__PropertyFillerSignedIntegerRange__Group_2__0");
+					put(grammarAccess.getPropertyFillerSignedIntegerRangeAccess().getGroup_3(), "rule__PropertyFillerSignedIntegerRange__Group_3__0");
+					put(grammarAccess.getPropertyFillerSignedIntegerRandomAccess().getGroup(), "rule__PropertyFillerSignedIntegerRandom__Group__0");
+					put(grammarAccess.getPropertyFillerTextRandomAccess().getGroup(), "rule__PropertyFillerTextRandom__Group__0");
+					put(grammarAccess.getPropertyFillerTextParagraphsAccess().getGroup(), "rule__PropertyFillerTextParagraphs__Group__0");
+					put(grammarAccess.getPropertyFillerTextSentencesAccess().getGroup(), "rule__PropertyFillerTextSentences__Group__0");
+					put(grammarAccess.getPropertyFillerTextWordsAccess().getGroup(), "rule__PropertyFillerTextWords__Group__0");
+					put(grammarAccess.getPropertyFillerUnsignedDoubleRangeAccess().getGroup(), "rule__PropertyFillerUnsignedDoubleRange__Group__0");
+					put(grammarAccess.getPropertyFillerUnsignedDoubleRangeAccess().getGroup_1(), "rule__PropertyFillerUnsignedDoubleRange__Group_1__0");
+					put(grammarAccess.getPropertyFillerUnsignedDoubleRangeAccess().getGroup_5(), "rule__PropertyFillerUnsignedDoubleRange__Group_5__0");
+					put(grammarAccess.getPropertyFillerUnsignedDoubleRandomAccess().getGroup(), "rule__PropertyFillerUnsignedDoubleRandom__Group__0");
+					put(grammarAccess.getPropertyFillerUnsignedIntegerRangeAccess().getGroup(), "rule__PropertyFillerUnsignedIntegerRange__Group__0");
+					put(grammarAccess.getPropertyFillerUnsignedIntegerRangeAccess().getGroup_2(), "rule__PropertyFillerUnsignedIntegerRange__Group_2__0");
+					put(grammarAccess.getPropertyFillerUnsignedIntegerRangeAccess().getGroup_3(), "rule__PropertyFillerUnsignedIntegerRange__Group_3__0");
+					put(grammarAccess.getPropertyFillerUnsignedIntegerRandomAccess().getGroup(), "rule__PropertyFillerUnsignedIntegerRandom__Group__0");
+					put(grammarAccess.getEntityMockDataTypeAccess().getGroup(), "rule__EntityMockDataType__Group__0");
+					put(grammarAccess.getEntityMockEntitiesAccess().getGroup(), "rule__EntityMockEntities__Group__0");
+					put(grammarAccess.getEntityMockEntityAccess().getGroup(), "rule__EntityMockEntity__Group__0");
+					put(grammarAccess.getEntityMockEntityAccess().getGroup_4_0(), "rule__EntityMockEntity__Group_4_0__0");
+					put(grammarAccess.getEntityMockEntityAccess().getGroup_4_1(), "rule__EntityMockEntity__Group_4_1__0");
+					put(grammarAccess.getEntityMockEntityAccess().getGroup_4_2(), "rule__EntityMockEntity__Group_4_2__0");
+					put(grammarAccess.getIntegerIterateAccess().getGroup(), "rule__IntegerIterate__Group__0");
+					put(grammarAccess.getDateIterateAccess().getGroup(), "rule__DateIterate__Group__0");
+					put(grammarAccess.getDateAccess().getGroup_3(), "rule__Date__Group_3__0");
+					put(grammarAccess.getEntityMockByResourceAttributeAccess().getGroup(), "rule__EntityMockByResourceAttribute__Group__0");
+					put(grammarAccess.getEntityMockTemporaryAccess().getGroup(), "rule__EntityMockTemporary__Group__0");
+					put(grammarAccess.getEntityMockEntityFunctionAccess().getGroup(), "rule__EntityMockEntityFunction__Group__0");
+					put(grammarAccess.getEntityMockEntityFunctionAccess().getGroup_4(), "rule__EntityMockEntityFunction__Group_4__0");
+					put(grammarAccess.getEntityMockEntityFunctionAccess().getGroup_4_1(), "rule__EntityMockEntityFunction__Group_4_1__0");
+					put(grammarAccess.getEntityMockEntityFunctionParameterAccess().getGroup_1(), "rule__EntityMockEntityFunctionParameter__Group_1__0");
+					put(grammarAccess.getEntityMockEntityFunctionParameterAccess().getGroup_1_1(), "rule__EntityMockEntityFunctionParameter__Group_1_1__0");
+					put(grammarAccess.getEntityMockReferencedObjectAttributeAccess().getGroup(), "rule__EntityMockReferencedObjectAttribute__Group__0");
+					put(grammarAccess.getEntityMockReferencedObjectAttributeAccess().getGroup_2(), "rule__EntityMockReferencedObjectAttribute__Group_2__0");
+					put(grammarAccess.getEntityMockAttributeByObjectAccess().getGroup_0(), "rule__EntityMockAttributeByObject__Group_0__0");
+					put(grammarAccess.getEntityMockAttributeByObjectAccess().getGroup_0_2(), "rule__EntityMockAttributeByObject__Group_0_2__0");
+					put(grammarAccess.getEntityMockAttributeByObjectAccess().getGroup_1(), "rule__EntityMockAttributeByObject__Group_1__0");
+					put(grammarAccess.getEntityMockAttributeFillerAccess().getGroup(), "rule__EntityMockAttributeFiller__Group__0");
+					put(grammarAccess.getEntityMockAttributeByReferenceAccess().getGroup(), "rule__EntityMockAttributeByReference__Group__0");
+					put(grammarAccess.getEntityMockAttributeByReferenceAccess().getGroup_4(), "rule__EntityMockAttributeByReference__Group_4__0");
+					put(grammarAccess.getSignedNumberAccess().getGroup(), "rule__SignedNumber__Group__0");
+					put(grammarAccess.getUnsignedNumberAccess().getGroup(), "rule__UnsignedNumber__Group__0");
+					put(grammarAccess.getUnsignedNumberAccess().getGroup_1(), "rule__UnsignedNumber__Group_1__0");
+					put(grammarAccess.getSINTAccess().getGroup(), "rule__SINT__Group__0");
+					put(grammarAccess.getQualifiedNameAccess().getGroup(), "rule__QualifiedName__Group__0");
+					put(grammarAccess.getQualifiedNameAccess().getGroup_1(), "rule__QualifiedName__Group_1__0");
+					put(grammarAccess.getXAnnotationAccess().getGroup(), "rule__XAnnotation__Group__0");
+					put(grammarAccess.getXAnnotationAccess().getGroup_3(), "rule__XAnnotation__Group_3__0");
+					put(grammarAccess.getXAnnotationAccess().getGroup_3_1_0(), "rule__XAnnotation__Group_3_1_0__0");
+					put(grammarAccess.getXAnnotationAccess().getGroup_3_1_0_1(), "rule__XAnnotation__Group_3_1_0_1__0");
+					put(grammarAccess.getXAnnotationElementValuePairAccess().getGroup(), "rule__XAnnotationElementValuePair__Group__0");
+					put(grammarAccess.getXAnnotationElementValuePairAccess().getGroup_0(), "rule__XAnnotationElementValuePair__Group_0__0");
+					put(grammarAccess.getXAnnotationElementValuePairAccess().getGroup_0_0(), "rule__XAnnotationElementValuePair__Group_0_0__0");
+					put(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_0(), "rule__XAnnotationElementValueOrCommaList__Group_0__0");
+					put(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_0_0(), "rule__XAnnotationElementValueOrCommaList__Group_0_0__0");
+					put(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_0_0_0(), "rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0");
+					put(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_0_1(), "rule__XAnnotationElementValueOrCommaList__Group_0_1__0");
+					put(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_0_1_1(), "rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0");
+					put(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_1(), "rule__XAnnotationElementValueOrCommaList__Group_1__0");
+					put(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_1_1(), "rule__XAnnotationElementValueOrCommaList__Group_1_1__0");
+					put(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_1_1_1(), "rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0");
+					put(grammarAccess.getXAnnotationElementValueAccess().getGroup_0(), "rule__XAnnotationElementValue__Group_0__0");
+					put(grammarAccess.getXAnnotationElementValueAccess().getGroup_0_0(), "rule__XAnnotationElementValue__Group_0_0__0");
+					put(grammarAccess.getXAnnotationElementValueAccess().getGroup_0_0_0(), "rule__XAnnotationElementValue__Group_0_0_0__0");
+					put(grammarAccess.getXAnnotationElementValueAccess().getGroup_0_1(), "rule__XAnnotationElementValue__Group_0_1__0");
+					put(grammarAccess.getXAnnotationElementValueAccess().getGroup_0_1_1(), "rule__XAnnotationElementValue__Group_0_1_1__0");
+					put(grammarAccess.getXAssignmentAccess().getGroup_0(), "rule__XAssignment__Group_0__0");
+					put(grammarAccess.getXAssignmentAccess().getGroup_1(), "rule__XAssignment__Group_1__0");
+					put(grammarAccess.getXAssignmentAccess().getGroup_1_1(), "rule__XAssignment__Group_1_1__0");
+					put(grammarAccess.getXAssignmentAccess().getGroup_1_1_0(), "rule__XAssignment__Group_1_1_0__0");
+					put(grammarAccess.getXAssignmentAccess().getGroup_1_1_0_0(), "rule__XAssignment__Group_1_1_0_0__0");
+					put(grammarAccess.getOpMultiAssignAccess().getGroup_5(), "rule__OpMultiAssign__Group_5__0");
+					put(grammarAccess.getOpMultiAssignAccess().getGroup_6(), "rule__OpMultiAssign__Group_6__0");
+					put(grammarAccess.getXOrExpressionAccess().getGroup(), "rule__XOrExpression__Group__0");
+					put(grammarAccess.getXOrExpressionAccess().getGroup_1(), "rule__XOrExpression__Group_1__0");
+					put(grammarAccess.getXOrExpressionAccess().getGroup_1_0(), "rule__XOrExpression__Group_1_0__0");
+					put(grammarAccess.getXOrExpressionAccess().getGroup_1_0_0(), "rule__XOrExpression__Group_1_0_0__0");
+					put(grammarAccess.getXAndExpressionAccess().getGroup(), "rule__XAndExpression__Group__0");
+					put(grammarAccess.getXAndExpressionAccess().getGroup_1(), "rule__XAndExpression__Group_1__0");
+					put(grammarAccess.getXAndExpressionAccess().getGroup_1_0(), "rule__XAndExpression__Group_1_0__0");
+					put(grammarAccess.getXAndExpressionAccess().getGroup_1_0_0(), "rule__XAndExpression__Group_1_0_0__0");
+					put(grammarAccess.getXEqualityExpressionAccess().getGroup(), "rule__XEqualityExpression__Group__0");
+					put(grammarAccess.getXEqualityExpressionAccess().getGroup_1(), "rule__XEqualityExpression__Group_1__0");
+					put(grammarAccess.getXEqualityExpressionAccess().getGroup_1_0(), "rule__XEqualityExpression__Group_1_0__0");
+					put(grammarAccess.getXEqualityExpressionAccess().getGroup_1_0_0(), "rule__XEqualityExpression__Group_1_0_0__0");
+					put(grammarAccess.getXRelationalExpressionAccess().getGroup(), "rule__XRelationalExpression__Group__0");
+					put(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0(), "rule__XRelationalExpression__Group_1_0__0");
+					put(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0_0(), "rule__XRelationalExpression__Group_1_0_0__0");
+					put(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0_0_0(), "rule__XRelationalExpression__Group_1_0_0_0__0");
+					put(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1(), "rule__XRelationalExpression__Group_1_1__0");
+					put(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1_0(), "rule__XRelationalExpression__Group_1_1_0__0");
+					put(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1_0_0(), "rule__XRelationalExpression__Group_1_1_0_0__0");
+					put(grammarAccess.getOpCompareAccess().getGroup_1(), "rule__OpCompare__Group_1__0");
+					put(grammarAccess.getXOtherOperatorExpressionAccess().getGroup(), "rule__XOtherOperatorExpression__Group__0");
+					put(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1(), "rule__XOtherOperatorExpression__Group_1__0");
+					put(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1_0(), "rule__XOtherOperatorExpression__Group_1_0__0");
+					put(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1_0_0(), "rule__XOtherOperatorExpression__Group_1_0_0__0");
+					put(grammarAccess.getOpOtherAccess().getGroup_2(), "rule__OpOther__Group_2__0");
+					put(grammarAccess.getOpOtherAccess().getGroup_5(), "rule__OpOther__Group_5__0");
+					put(grammarAccess.getOpOtherAccess().getGroup_5_1_0(), "rule__OpOther__Group_5_1_0__0");
+					put(grammarAccess.getOpOtherAccess().getGroup_5_1_0_0(), "rule__OpOther__Group_5_1_0_0__0");
+					put(grammarAccess.getOpOtherAccess().getGroup_6(), "rule__OpOther__Group_6__0");
+					put(grammarAccess.getOpOtherAccess().getGroup_6_1_0(), "rule__OpOther__Group_6_1_0__0");
+					put(grammarAccess.getOpOtherAccess().getGroup_6_1_0_0(), "rule__OpOther__Group_6_1_0_0__0");
+					put(grammarAccess.getXAdditiveExpressionAccess().getGroup(), "rule__XAdditiveExpression__Group__0");
+					put(grammarAccess.getXAdditiveExpressionAccess().getGroup_1(), "rule__XAdditiveExpression__Group_1__0");
+					put(grammarAccess.getXAdditiveExpressionAccess().getGroup_1_0(), "rule__XAdditiveExpression__Group_1_0__0");
+					put(grammarAccess.getXAdditiveExpressionAccess().getGroup_1_0_0(), "rule__XAdditiveExpression__Group_1_0_0__0");
+					put(grammarAccess.getXMultiplicativeExpressionAccess().getGroup(), "rule__XMultiplicativeExpression__Group__0");
+					put(grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1(), "rule__XMultiplicativeExpression__Group_1__0");
+					put(grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1_0(), "rule__XMultiplicativeExpression__Group_1_0__0");
+					put(grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1_0_0(), "rule__XMultiplicativeExpression__Group_1_0_0__0");
+					put(grammarAccess.getXUnaryOperationAccess().getGroup_0(), "rule__XUnaryOperation__Group_0__0");
+					put(grammarAccess.getXCastedExpressionAccess().getGroup(), "rule__XCastedExpression__Group__0");
+					put(grammarAccess.getXCastedExpressionAccess().getGroup_1(), "rule__XCastedExpression__Group_1__0");
+					put(grammarAccess.getXCastedExpressionAccess().getGroup_1_0(), "rule__XCastedExpression__Group_1_0__0");
+					put(grammarAccess.getXCastedExpressionAccess().getGroup_1_0_0(), "rule__XCastedExpression__Group_1_0_0__0");
+					put(grammarAccess.getXPostfixOperationAccess().getGroup(), "rule__XPostfixOperation__Group__0");
+					put(grammarAccess.getXPostfixOperationAccess().getGroup_1(), "rule__XPostfixOperation__Group_1__0");
+					put(grammarAccess.getXPostfixOperationAccess().getGroup_1_0(), "rule__XPostfixOperation__Group_1_0__0");
+					put(grammarAccess.getXMemberFeatureCallAccess().getGroup(), "rule__XMemberFeatureCall__Group__0");
+					put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0(), "rule__XMemberFeatureCall__Group_1_0__0");
+					put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0_0(), "rule__XMemberFeatureCall__Group_1_0_0__0");
+					put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0_0_0(), "rule__XMemberFeatureCall__Group_1_0_0_0__0");
+					put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1(), "rule__XMemberFeatureCall__Group_1_1__0");
+					put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_0(), "rule__XMemberFeatureCall__Group_1_1_0__0");
+					put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_0_0(), "rule__XMemberFeatureCall__Group_1_1_0_0__0");
+					put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_1(), "rule__XMemberFeatureCall__Group_1_1_1__0");
+					put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_1_2(), "rule__XMemberFeatureCall__Group_1_1_1_2__0");
+					put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3(), "rule__XMemberFeatureCall__Group_1_1_3__0");
+					put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3_1_1(), "rule__XMemberFeatureCall__Group_1_1_3_1_1__0");
+					put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3_1_1_1(), "rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0");
+					put(grammarAccess.getXSetLiteralAccess().getGroup(), "rule__XSetLiteral__Group__0");
+					put(grammarAccess.getXSetLiteralAccess().getGroup_3(), "rule__XSetLiteral__Group_3__0");
+					put(grammarAccess.getXSetLiteralAccess().getGroup_3_1(), "rule__XSetLiteral__Group_3_1__0");
+					put(grammarAccess.getXListLiteralAccess().getGroup(), "rule__XListLiteral__Group__0");
+					put(grammarAccess.getXListLiteralAccess().getGroup_3(), "rule__XListLiteral__Group_3__0");
+					put(grammarAccess.getXListLiteralAccess().getGroup_3_1(), "rule__XListLiteral__Group_3_1__0");
+					put(grammarAccess.getXClosureAccess().getGroup(), "rule__XClosure__Group__0");
+					put(grammarAccess.getXClosureAccess().getGroup_0(), "rule__XClosure__Group_0__0");
+					put(grammarAccess.getXClosureAccess().getGroup_0_0(), "rule__XClosure__Group_0_0__0");
+					put(grammarAccess.getXClosureAccess().getGroup_1(), "rule__XClosure__Group_1__0");
+					put(grammarAccess.getXClosureAccess().getGroup_1_0(), "rule__XClosure__Group_1_0__0");
+					put(grammarAccess.getXClosureAccess().getGroup_1_0_0(), "rule__XClosure__Group_1_0_0__0");
+					put(grammarAccess.getXClosureAccess().getGroup_1_0_0_1(), "rule__XClosure__Group_1_0_0_1__0");
+					put(grammarAccess.getXExpressionInClosureAccess().getGroup(), "rule__XExpressionInClosure__Group__0");
+					put(grammarAccess.getXExpressionInClosureAccess().getGroup_1(), "rule__XExpressionInClosure__Group_1__0");
+					put(grammarAccess.getXShortClosureAccess().getGroup(), "rule__XShortClosure__Group__0");
+					put(grammarAccess.getXShortClosureAccess().getGroup_0(), "rule__XShortClosure__Group_0__0");
+					put(grammarAccess.getXShortClosureAccess().getGroup_0_0(), "rule__XShortClosure__Group_0_0__0");
+					put(grammarAccess.getXShortClosureAccess().getGroup_0_0_1(), "rule__XShortClosure__Group_0_0_1__0");
+					put(grammarAccess.getXShortClosureAccess().getGroup_0_0_1_1(), "rule__XShortClosure__Group_0_0_1_1__0");
+					put(grammarAccess.getXParenthesizedExpressionAccess().getGroup(), "rule__XParenthesizedExpression__Group__0");
+					put(grammarAccess.getXIfExpressionAccess().getGroup(), "rule__XIfExpression__Group__0");
+					put(grammarAccess.getXIfExpressionAccess().getGroup_6(), "rule__XIfExpression__Group_6__0");
+					put(grammarAccess.getXSwitchExpressionAccess().getGroup(), "rule__XSwitchExpression__Group__0");
+					put(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0(), "rule__XSwitchExpression__Group_2_0__0");
+					put(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0_0(), "rule__XSwitchExpression__Group_2_0_0__0");
+					put(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0_0_0(), "rule__XSwitchExpression__Group_2_0_0_0__0");
+					put(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1(), "rule__XSwitchExpression__Group_2_1__0");
+					put(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1_0(), "rule__XSwitchExpression__Group_2_1_0__0");
+					put(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1_0_0(), "rule__XSwitchExpression__Group_2_1_0_0__0");
+					put(grammarAccess.getXSwitchExpressionAccess().getGroup_5(), "rule__XSwitchExpression__Group_5__0");
+					put(grammarAccess.getXCasePartAccess().getGroup(), "rule__XCasePart__Group__0");
+					put(grammarAccess.getXCasePartAccess().getGroup_2(), "rule__XCasePart__Group_2__0");
+					put(grammarAccess.getXCasePartAccess().getGroup_3_0(), "rule__XCasePart__Group_3_0__0");
+					put(grammarAccess.getXForLoopExpressionAccess().getGroup(), "rule__XForLoopExpression__Group__0");
+					put(grammarAccess.getXForLoopExpressionAccess().getGroup_0(), "rule__XForLoopExpression__Group_0__0");
+					put(grammarAccess.getXForLoopExpressionAccess().getGroup_0_0(), "rule__XForLoopExpression__Group_0_0__0");
+					put(grammarAccess.getXBasicForLoopExpressionAccess().getGroup(), "rule__XBasicForLoopExpression__Group__0");
+					put(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_3(), "rule__XBasicForLoopExpression__Group_3__0");
+					put(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_3_1(), "rule__XBasicForLoopExpression__Group_3_1__0");
+					put(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_7(), "rule__XBasicForLoopExpression__Group_7__0");
+					put(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_7_1(), "rule__XBasicForLoopExpression__Group_7_1__0");
+					put(grammarAccess.getXWhileExpressionAccess().getGroup(), "rule__XWhileExpression__Group__0");
+					put(grammarAccess.getXDoWhileExpressionAccess().getGroup(), "rule__XDoWhileExpression__Group__0");
+					put(grammarAccess.getXBlockExpressionAccess().getGroup(), "rule__XBlockExpression__Group__0");
+					put(grammarAccess.getXBlockExpressionAccess().getGroup_2(), "rule__XBlockExpression__Group_2__0");
+					put(grammarAccess.getXVariableDeclarationAccess().getGroup(), "rule__XVariableDeclaration__Group__0");
+					put(grammarAccess.getXVariableDeclarationAccess().getGroup_2_0(), "rule__XVariableDeclaration__Group_2_0__0");
+					put(grammarAccess.getXVariableDeclarationAccess().getGroup_2_0_0(), "rule__XVariableDeclaration__Group_2_0_0__0");
+					put(grammarAccess.getXVariableDeclarationAccess().getGroup_3(), "rule__XVariableDeclaration__Group_3__0");
+					put(grammarAccess.getJvmFormalParameterAccess().getGroup(), "rule__JvmFormalParameter__Group__0");
+					put(grammarAccess.getFullJvmFormalParameterAccess().getGroup(), "rule__FullJvmFormalParameter__Group__0");
+					put(grammarAccess.getXFeatureCallAccess().getGroup(), "rule__XFeatureCall__Group__0");
+					put(grammarAccess.getXFeatureCallAccess().getGroup_1(), "rule__XFeatureCall__Group_1__0");
+					put(grammarAccess.getXFeatureCallAccess().getGroup_1_2(), "rule__XFeatureCall__Group_1_2__0");
+					put(grammarAccess.getXFeatureCallAccess().getGroup_3(), "rule__XFeatureCall__Group_3__0");
+					put(grammarAccess.getXFeatureCallAccess().getGroup_3_1_1(), "rule__XFeatureCall__Group_3_1_1__0");
+					put(grammarAccess.getXFeatureCallAccess().getGroup_3_1_1_1(), "rule__XFeatureCall__Group_3_1_1_1__0");
+					put(grammarAccess.getXConstructorCallAccess().getGroup(), "rule__XConstructorCall__Group__0");
+					put(grammarAccess.getXConstructorCallAccess().getGroup_3(), "rule__XConstructorCall__Group_3__0");
+					put(grammarAccess.getXConstructorCallAccess().getGroup_3_2(), "rule__XConstructorCall__Group_3_2__0");
+					put(grammarAccess.getXConstructorCallAccess().getGroup_4(), "rule__XConstructorCall__Group_4__0");
+					put(grammarAccess.getXConstructorCallAccess().getGroup_4_1_1(), "rule__XConstructorCall__Group_4_1_1__0");
+					put(grammarAccess.getXConstructorCallAccess().getGroup_4_1_1_1(), "rule__XConstructorCall__Group_4_1_1_1__0");
+					put(grammarAccess.getXBooleanLiteralAccess().getGroup(), "rule__XBooleanLiteral__Group__0");
+					put(grammarAccess.getXNullLiteralAccess().getGroup(), "rule__XNullLiteral__Group__0");
+					put(grammarAccess.getXNumberLiteralAccess().getGroup(), "rule__XNumberLiteral__Group__0");
+					put(grammarAccess.getXStringLiteralAccess().getGroup(), "rule__XStringLiteral__Group__0");
+					put(grammarAccess.getXTypeLiteralAccess().getGroup(), "rule__XTypeLiteral__Group__0");
+					put(grammarAccess.getXThrowExpressionAccess().getGroup(), "rule__XThrowExpression__Group__0");
+					put(grammarAccess.getXReturnExpressionAccess().getGroup(), "rule__XReturnExpression__Group__0");
+					put(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup(), "rule__XTryCatchFinallyExpression__Group__0");
+					put(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_0(), "rule__XTryCatchFinallyExpression__Group_3_0__0");
+					put(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_0_1(), "rule__XTryCatchFinallyExpression__Group_3_0_1__0");
+					put(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_1(), "rule__XTryCatchFinallyExpression__Group_3_1__0");
+					put(grammarAccess.getXSynchronizedExpressionAccess().getGroup(), "rule__XSynchronizedExpression__Group__0");
+					put(grammarAccess.getXSynchronizedExpressionAccess().getGroup_0(), "rule__XSynchronizedExpression__Group_0__0");
+					put(grammarAccess.getXSynchronizedExpressionAccess().getGroup_0_0(), "rule__XSynchronizedExpression__Group_0_0__0");
+					put(grammarAccess.getXCatchClauseAccess().getGroup(), "rule__XCatchClause__Group__0");
+					put(grammarAccess.getNumberAccess().getGroup_1(), "rule__Number__Group_1__0");
+					put(grammarAccess.getNumberAccess().getGroup_1_1(), "rule__Number__Group_1_1__0");
+					put(grammarAccess.getStaticQualifierAccess().getGroup(), "rule__StaticQualifier__Group__0");
+					put(grammarAccess.getJvmTypeReferenceAccess().getGroup_0(), "rule__JvmTypeReference__Group_0__0");
+					put(grammarAccess.getJvmTypeReferenceAccess().getGroup_0_1(), "rule__JvmTypeReference__Group_0_1__0");
+					put(grammarAccess.getJvmTypeReferenceAccess().getGroup_0_1_0(), "rule__JvmTypeReference__Group_0_1_0__0");
+					put(grammarAccess.getArrayBracketsAccess().getGroup(), "rule__ArrayBrackets__Group__0");
+					put(grammarAccess.getXFunctionTypeRefAccess().getGroup(), "rule__XFunctionTypeRef__Group__0");
+					put(grammarAccess.getXFunctionTypeRefAccess().getGroup_0(), "rule__XFunctionTypeRef__Group_0__0");
+					put(grammarAccess.getXFunctionTypeRefAccess().getGroup_0_1(), "rule__XFunctionTypeRef__Group_0_1__0");
+					put(grammarAccess.getXFunctionTypeRefAccess().getGroup_0_1_1(), "rule__XFunctionTypeRef__Group_0_1_1__0");
+					put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup(), "rule__JvmParameterizedTypeReference__Group__0");
+					put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1(), "rule__JvmParameterizedTypeReference__Group_1__0");
+					put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_2(), "rule__JvmParameterizedTypeReference__Group_1_2__0");
+					put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4(), "rule__JvmParameterizedTypeReference__Group_1_4__0");
+					put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_0(), "rule__JvmParameterizedTypeReference__Group_1_4_0__0");
+					put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_0_0(), "rule__JvmParameterizedTypeReference__Group_1_4_0_0__0");
+					put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_2(), "rule__JvmParameterizedTypeReference__Group_1_4_2__0");
+					put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_2_2(), "rule__JvmParameterizedTypeReference__Group_1_4_2_2__0");
+					put(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup(), "rule__JvmWildcardTypeReference__Group__0");
+					put(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup_2_0(), "rule__JvmWildcardTypeReference__Group_2_0__0");
+					put(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup_2_1(), "rule__JvmWildcardTypeReference__Group_2_1__0");
+					put(grammarAccess.getJvmUpperBoundAccess().getGroup(), "rule__JvmUpperBound__Group__0");
+					put(grammarAccess.getJvmUpperBoundAndedAccess().getGroup(), "rule__JvmUpperBoundAnded__Group__0");
+					put(grammarAccess.getJvmLowerBoundAccess().getGroup(), "rule__JvmLowerBound__Group__0");
+					put(grammarAccess.getJvmLowerBoundAndedAccess().getGroup(), "rule__JvmLowerBoundAnded__Group__0");
+					put(grammarAccess.getJvmTypeParameterAccess().getGroup(), "rule__JvmTypeParameter__Group__0");
+					put(grammarAccess.getJvmTypeParameterAccess().getGroup_1(), "rule__JvmTypeParameter__Group_1__0");
+					put(grammarAccess.getQualifiedNameWithWildcardAccess().getGroup(), "rule__QualifiedNameWithWildcard__Group__0");
+					put(grammarAccess.getXImportDeclarationAccess().getGroup(), "rule__XImportDeclaration__Group__0");
+					put(grammarAccess.getXImportDeclarationAccess().getGroup_1_0(), "rule__XImportDeclaration__Group_1_0__0");
+					put(grammarAccess.getQualifiedNameInStaticImportAccess().getGroup(), "rule__QualifiedNameInStaticImport__Group__0");
+					put(grammarAccess.getEntityMockModelAccess().getPackagesAssignment(), "rule__EntityMockModel__PackagesAssignment");
+					put(grammarAccess.getEntityMockPackageAccess().getImportsAssignment_1(), "rule__EntityMockPackage__ImportsAssignment_1");
+					put(grammarAccess.getEntityMockPackageAccess().getRunPriorityAssignment_3_1(), "rule__EntityMockPackage__RunPriorityAssignment_3_1");
+					put(grammarAccess.getEntityMockPackageAccess().getImportsAssignment_4_1(), "rule__EntityMockPackage__ImportsAssignment_4_1");
+					put(grammarAccess.getEntityMockPackageAccess().getDatainterchangesAssignment_5(), "rule__EntityMockPackage__DatainterchangesAssignment_5");
+					put(grammarAccess.getEntityMockPackageAccess().getResourcesAssignment_6(), "rule__EntityMockPackage__ResourcesAssignment_6");
+					put(grammarAccess.getEntityMockPackageAccess().getObjectsAssignment_7(), "rule__EntityMockPackage__ObjectsAssignment_7");
+					put(grammarAccess.getEntityMockPackageAccess().getDatatypesAssignment_8(), "rule__EntityMockPackage__DatatypesAssignment_8");
+					put(grammarAccess.getEntityMockPackageAccess().getEntitiesAssignment_9(), "rule__EntityMockPackage__EntitiesAssignment_9");
+					put(grammarAccess.getEntityModelImportAccess().getImportedNamespaceAssignment(), "rule__EntityModelImport__ImportedNamespaceAssignment");
+					put(grammarAccess.getRunningDataInterchangesAccess().getDatainterchangesAssignment_3(), "rule__RunningDataInterchanges__DatainterchangesAssignment_3");
+					put(grammarAccess.getRunningDataInterchangeAccess().getDatainterchangeRefAssignment_2(), "rule__RunningDataInterchange__DatainterchangeRefAssignment_2");
+					put(grammarAccess.getRunningDataInterchangeAccess().getFileURLAssignment_4(), "rule__RunningDataInterchange__FileURLAssignment_4");
+					put(grammarAccess.getEntityMockResourcesAccess().getResourcesAssignment_3(), "rule__EntityMockResources__ResourcesAssignment_3");
+					put(grammarAccess.getEntityMockResourceAccess().getNameAssignment_1(), "rule__EntityMockResource__NameAssignment_1");
+					put(grammarAccess.getEntityMockResourceAccess().getAttributesAssignment_3_2_0(), "rule__EntityMockResource__AttributesAssignment_3_2_0");
+					put(grammarAccess.getEntityMockResourceAccess().getDatarowsAssignment_6(), "rule__EntityMockResource__DatarowsAssignment_6");
+					put(grammarAccess.getEntityMockResourceAttributeAccess().getNameAssignment_1(), "rule__EntityMockResourceAttribute__NameAssignment_1");
+					put(grammarAccess.getEntityMockResourceDataRowAccess().getNameAssignment_1(), "rule__EntityMockResourceDataRow__NameAssignment_1");
+					put(grammarAccess.getEntityMockResourceDataRowAccess().getValuesAssignment_2_1_0(), "rule__EntityMockResourceDataRow__ValuesAssignment_2_1_0");
+					put(grammarAccess.getEntityMockObjectsAccess().getObjectsAssignment_3(), "rule__EntityMockObjects__ObjectsAssignment_3");
+					put(grammarAccess.getEntityMockObjectAccess().getNameAssignment_1(), "rule__EntityMockObject__NameAssignment_1");
+					put(grammarAccess.getEntityMockObjectAccess().getEnumerationsAssignment_3(), "rule__EntityMockObject__EnumerationsAssignment_3");
+					put(grammarAccess.getEntityMockObjectAccess().getAttributesAssignment_4(), "rule__EntityMockObject__AttributesAssignment_4");
+					put(grammarAccess.getEntityMockObjectAccess().getCalculationsAssignment_5(), "rule__EntityMockObject__CalculationsAssignment_5");
+					put(grammarAccess.getEntityMockObjectEnumAccess().getNameAssignment_1(), "rule__EntityMockObjectEnum__NameAssignment_1");
+					put(grammarAccess.getEntityMockObjectEnumAccess().getUsingResourceAssignment_3(), "rule__EntityMockObjectEnum__UsingResourceAssignment_3");
+					put(grammarAccess.getEntityMockDataTypesAccess().getDatatypesAssignment_3(), "rule__EntityMockDataTypes__DatatypesAssignment_3");
+					put(grammarAccess.getEntityMockObjectPlainValueAccess().getNameAssignment_1(), "rule__EntityMockObjectPlainValue__NameAssignment_1");
+					put(grammarAccess.getEntityMockObjectPlainValueAccess().getValuesAssignment_3_0(), "rule__EntityMockObjectPlainValue__ValuesAssignment_3_0");
+					put(grammarAccess.getEntityMockObjectResourceValueAccess().getNameAssignment_1(), "rule__EntityMockObjectResourceValue__NameAssignment_1");
+					put(grammarAccess.getEntityMockObjectResourceValueAccess().getResourceEnumAssignment_3(), "rule__EntityMockObjectResourceValue__ResourceEnumAssignment_3");
+					put(grammarAccess.getEntityMockObjectResourceValueAccess().getResourceAttributeAssignment_4_1(), "rule__EntityMockObjectResourceValue__ResourceAttributeAssignment_4_1");
+					put(grammarAccess.getEntityMockObjectArrayValueAccess().getNameAssignment_1(), "rule__EntityMockObjectArrayValue__NameAssignment_1");
+					put(grammarAccess.getEntityMockObjectArrayValueAccess().getEnumerationAssignment_3(), "rule__EntityMockObjectArrayValue__EnumerationAssignment_3");
+					put(grammarAccess.getEntityMockObjectArrayValueAccess().getItemsAssignment_5(), "rule__EntityMockObjectArrayValue__ItemsAssignment_5");
+					put(grammarAccess.getEntityMockObjectItemValueAccess().getDatarowAssignment_1(), "rule__EntityMockObjectItemValue__DatarowAssignment_1");
+					put(grammarAccess.getEntityMockObjectItemValueAccess().getValuesAssignment_3_0(), "rule__EntityMockObjectItemValue__ValuesAssignment_3_0");
+					put(grammarAccess.getEntityMockObjectEmbedAccess().getNameAssignment_2(), "rule__EntityMockObjectEmbed__NameAssignment_2");
+					put(grammarAccess.getEntityMockObjectEmbedAccess().getObjectAssignment_4(), "rule__EntityMockObjectEmbed__ObjectAssignment_4");
+					put(grammarAccess.getEntityMockObjectFunctionAccess().getNameAssignment_1(), "rule__EntityMockObjectFunction__NameAssignment_1");
+					put(grammarAccess.getEntityMockObjectFunctionAccess().getOftypeAssignment_3(), "rule__EntityMockObjectFunction__OftypeAssignment_3");
+					put(grammarAccess.getEntityMockObjectFunctionAccess().getParamsAssignment_6_0(), "rule__EntityMockObjectFunction__ParamsAssignment_6_0");
+					put(grammarAccess.getEntityMockObjectFunctionAccess().getParamsAssignment_6_1_1(), "rule__EntityMockObjectFunction__ParamsAssignment_6_1_1");
+					put(grammarAccess.getEntityMockObjectFunctionAccess().getBodyAssignment_8(), "rule__EntityMockObjectFunction__BodyAssignment_8");
+					put(grammarAccess.getEntityMockObjectFunctionParameterAccess().getParameterTypeAssignment_0(), "rule__EntityMockObjectFunctionParameter__ParameterTypeAssignment_0");
+					put(grammarAccess.getEntityMockObjectFunctionParameterAccess().getNameAssignment_1(), "rule__EntityMockObjectFunctionParameter__NameAssignment_1");
+					put(grammarAccess.getEntityMockObjectFillAccess().getNameAssignment_1(), "rule__EntityMockObjectFill__NameAssignment_1");
+					put(grammarAccess.getEntityMockObjectFillAccess().getFillerTypeAssignment_3(), "rule__EntityMockObjectFill__FillerTypeAssignment_3");
+					put(grammarAccess.getPropertyFillerDateFutureAccess().getDateFutureYearsAssignment_1(), "rule__PropertyFillerDateFuture__DateFutureYearsAssignment_1");
+					put(grammarAccess.getPropertyFillerDatePastAccess().getDatePastYearsAssignment_1(), "rule__PropertyFillerDatePast__DatePastYearsAssignment_1");
+					put(grammarAccess.getPropertyFillerDateRangeAccess().getDateBeginYearsAssignment_1(), "rule__PropertyFillerDateRange__DateBeginYearsAssignment_1");
+					put(grammarAccess.getPropertyFillerDateRangeAccess().getDateEndYearsAssignment_3(), "rule__PropertyFillerDateRange__DateEndYearsAssignment_3");
+					put(grammarAccess.getPropertyFillerSignedDoubleRangeAccess().getBeginRangeAssignment_1_0_0(), "rule__PropertyFillerSignedDoubleRange__BeginRangeAssignment_1_0_0");
+					put(grammarAccess.getPropertyFillerSignedDoubleRangeAccess().getBeginRangeRefAssignment_1_0_1(), "rule__PropertyFillerSignedDoubleRange__BeginRangeRefAssignment_1_0_1");
+					put(grammarAccess.getPropertyFillerSignedDoubleRangeAccess().getEndRangeAssignment_1_2_0(), "rule__PropertyFillerSignedDoubleRange__EndRangeAssignment_1_2_0");
+					put(grammarAccess.getPropertyFillerSignedDoubleRangeAccess().getEndRangeRefAssignment_1_2_1(), "rule__PropertyFillerSignedDoubleRange__EndRangeRefAssignment_1_2_1");
+					put(grammarAccess.getPropertyFillerSignedDoubleRangeAccess().getDecimalsAssignment_3(), "rule__PropertyFillerSignedDoubleRange__DecimalsAssignment_3");
+					put(grammarAccess.getPropertyFillerSignedDoubleRangeAccess().getRoundedAssignment_5_1(), "rule__PropertyFillerSignedDoubleRange__RoundedAssignment_5_1");
+					put(grammarAccess.getPropertyFillerSignedDoubleRandomAccess().getItemsAssignment_2(), "rule__PropertyFillerSignedDoubleRandom__ItemsAssignment_2");
+					put(grammarAccess.getPropertyFillerSignedIntegerRangeAccess().getBeginRangeAssignment_2_0_0(), "rule__PropertyFillerSignedIntegerRange__BeginRangeAssignment_2_0_0");
+					put(grammarAccess.getPropertyFillerSignedIntegerRangeAccess().getBeginRangeRefAssignment_2_0_1(), "rule__PropertyFillerSignedIntegerRange__BeginRangeRefAssignment_2_0_1");
+					put(grammarAccess.getPropertyFillerSignedIntegerRangeAccess().getEndRangeAssignment_2_2_0(), "rule__PropertyFillerSignedIntegerRange__EndRangeAssignment_2_2_0");
+					put(grammarAccess.getPropertyFillerSignedIntegerRangeAccess().getEndRangeRefAssignment_2_2_1(), "rule__PropertyFillerSignedIntegerRange__EndRangeRefAssignment_2_2_1");
+					put(grammarAccess.getPropertyFillerSignedIntegerRangeAccess().getRoundedAssignment_3_1(), "rule__PropertyFillerSignedIntegerRange__RoundedAssignment_3_1");
+					put(grammarAccess.getPropertyFillerSignedIntegerRandomAccess().getItemsAssignment_2(), "rule__PropertyFillerSignedIntegerRandom__ItemsAssignment_2");
+					put(grammarAccess.getPropertyFillerTextRandomAccess().getItemsAssignment_2(), "rule__PropertyFillerTextRandom__ItemsAssignment_2");
+					put(grammarAccess.getPropertyFillerTextParagraphsAccess().getCountAssignment_2(), "rule__PropertyFillerTextParagraphs__CountAssignment_2");
+					put(grammarAccess.getPropertyFillerTextSentencesAccess().getCountAssignment_2(), "rule__PropertyFillerTextSentences__CountAssignment_2");
+					put(grammarAccess.getPropertyFillerTextWordsAccess().getCountAssignment_2(), "rule__PropertyFillerTextWords__CountAssignment_2");
+					put(grammarAccess.getPropertyFillerUnsignedDoubleRangeAccess().getBeginRangeAssignment_1_0_0(), "rule__PropertyFillerUnsignedDoubleRange__BeginRangeAssignment_1_0_0");
+					put(grammarAccess.getPropertyFillerUnsignedDoubleRangeAccess().getBeginRangeRefAssignment_1_0_1(), "rule__PropertyFillerUnsignedDoubleRange__BeginRangeRefAssignment_1_0_1");
+					put(grammarAccess.getPropertyFillerUnsignedDoubleRangeAccess().getEndRangeAssignment_1_2_0(), "rule__PropertyFillerUnsignedDoubleRange__EndRangeAssignment_1_2_0");
+					put(grammarAccess.getPropertyFillerUnsignedDoubleRangeAccess().getEndRangeRefAssignment_1_2_1(), "rule__PropertyFillerUnsignedDoubleRange__EndRangeRefAssignment_1_2_1");
+					put(grammarAccess.getPropertyFillerUnsignedDoubleRangeAccess().getDecimalsAssignment_3(), "rule__PropertyFillerUnsignedDoubleRange__DecimalsAssignment_3");
+					put(grammarAccess.getPropertyFillerUnsignedDoubleRangeAccess().getRoundedAssignment_5_1(), "rule__PropertyFillerUnsignedDoubleRange__RoundedAssignment_5_1");
+					put(grammarAccess.getPropertyFillerUnsignedDoubleRandomAccess().getItemsAssignment_2(), "rule__PropertyFillerUnsignedDoubleRandom__ItemsAssignment_2");
+					put(grammarAccess.getPropertyFillerUnsignedIntegerRangeAccess().getBeginRangeAssignment_2_0_0(), "rule__PropertyFillerUnsignedIntegerRange__BeginRangeAssignment_2_0_0");
+					put(grammarAccess.getPropertyFillerUnsignedIntegerRangeAccess().getBeginRangeRefAssignment_2_0_1(), "rule__PropertyFillerUnsignedIntegerRange__BeginRangeRefAssignment_2_0_1");
+					put(grammarAccess.getPropertyFillerUnsignedIntegerRangeAccess().getEndRangeAssignment_2_2_0(), "rule__PropertyFillerUnsignedIntegerRange__EndRangeAssignment_2_2_0");
+					put(grammarAccess.getPropertyFillerUnsignedIntegerRangeAccess().getEndRangeRefAssignment_2_2_1(), "rule__PropertyFillerUnsignedIntegerRange__EndRangeRefAssignment_2_2_1");
+					put(grammarAccess.getPropertyFillerUnsignedIntegerRangeAccess().getRoundedAssignment_3_1(), "rule__PropertyFillerUnsignedIntegerRange__RoundedAssignment_3_1");
+					put(grammarAccess.getPropertyFillerUnsignedIntegerRandomAccess().getItemsAssignment_2(), "rule__PropertyFillerUnsignedIntegerRandom__ItemsAssignment_2");
+					put(grammarAccess.getEntityMockDataTypeAccess().getNameAssignment_1(), "rule__EntityMockDataType__NameAssignment_1");
+					put(grammarAccess.getEntityMockEntitiesAccess().getEntitiesAssignment_3(), "rule__EntityMockEntities__EntitiesAssignment_3");
+					put(grammarAccess.getEntityMockEntityAccess().getNameAssignment_1(), "rule__EntityMockEntity__NameAssignment_1");
+					put(grammarAccess.getEntityMockEntityAccess().getEntityRefAssignment_3(), "rule__EntityMockEntity__EntityRefAssignment_3");
+					put(grammarAccess.getEntityMockEntityAccess().getMinRowsAssignment_4_0_1(), "rule__EntityMockEntity__MinRowsAssignment_4_0_1");
+					put(grammarAccess.getEntityMockEntityAccess().getMaxRowsAssignment_4_0_3(), "rule__EntityMockEntity__MaxRowsAssignment_4_0_3");
+					put(grammarAccess.getEntityMockEntityAccess().getTemporariesAssignment_4_0_5(), "rule__EntityMockEntity__TemporariesAssignment_4_0_5");
+					put(grammarAccess.getEntityMockEntityAccess().getAttributesAssignment_4_0_6(), "rule__EntityMockEntity__AttributesAssignment_4_0_6");
+					put(grammarAccess.getEntityMockEntityAccess().getCalculationsAssignment_4_0_7(), "rule__EntityMockEntity__CalculationsAssignment_4_0_7");
+					put(grammarAccess.getEntityMockEntityAccess().getByResourceAssignment_4_1_1(), "rule__EntityMockEntity__ByResourceAssignment_4_1_1");
+					put(grammarAccess.getEntityMockEntityAccess().getByResourceAttributesAssignment_4_1_3(), "rule__EntityMockEntity__ByResourceAttributesAssignment_4_1_3");
+					put(grammarAccess.getEntityMockEntityAccess().getCreateBlobMappingAssignment_4_1_4(), "rule__EntityMockEntity__CreateBlobMappingAssignment_4_1_4");
+					put(grammarAccess.getEntityMockEntityAccess().getIteratorAssignment_4_2_1(), "rule__EntityMockEntity__IteratorAssignment_4_2_1");
+					put(grammarAccess.getEntityMockEntityAccess().getIterateAssignment_4_2_3(), "rule__EntityMockEntity__IterateAssignment_4_2_3");
+					put(grammarAccess.getEntityMockEntityAccess().getTemporariesAssignment_4_2_5(), "rule__EntityMockEntity__TemporariesAssignment_4_2_5");
+					put(grammarAccess.getEntityMockEntityAccess().getAttributesAssignment_4_2_6(), "rule__EntityMockEntity__AttributesAssignment_4_2_6");
+					put(grammarAccess.getEntityMockEntityAccess().getCalculationsAssignment_4_2_7(), "rule__EntityMockEntity__CalculationsAssignment_4_2_7");
+					put(grammarAccess.getIntegerIterateAccess().getFromAssignment_1(), "rule__IntegerIterate__FromAssignment_1");
+					put(grammarAccess.getIntegerIterateAccess().getUntilAssignment_3(), "rule__IntegerIterate__UntilAssignment_3");
+					put(grammarAccess.getIntegerIterateAccess().getStepAssignment_5(), "rule__IntegerIterate__StepAssignment_5");
+					put(grammarAccess.getDateIterateAccess().getFromAssignment_1(), "rule__DateIterate__FromAssignment_1");
+					put(grammarAccess.getDateIterateAccess().getUntilAssignment_3(), "rule__DateIterate__UntilAssignment_3");
+					put(grammarAccess.getDateIterateAccess().getStepCountAssignment_5(), "rule__DateIterate__StepCountAssignment_5");
+					put(grammarAccess.getDateIterateAccess().getStepTypeAssignment_6(), "rule__DateIterate__StepTypeAssignment_6");
+					put(grammarAccess.getDateAccess().getYesterdayAssignment_0(), "rule__Date__YesterdayAssignment_0");
+					put(grammarAccess.getDateAccess().getTodayAssignment_1(), "rule__Date__TodayAssignment_1");
+					put(grammarAccess.getDateAccess().getTomorrowAssignment_2(), "rule__Date__TomorrowAssignment_2");
+					put(grammarAccess.getDateAccess().getYearAssignment_3_0(), "rule__Date__YearAssignment_3_0");
+					put(grammarAccess.getDateAccess().getMonthAssignment_3_2(), "rule__Date__MonthAssignment_3_2");
+					put(grammarAccess.getDateAccess().getDayAssignment_3_4(), "rule__Date__DayAssignment_3_4");
+					put(grammarAccess.getEntityMockByResourceAttributeAccess().getAttributeRefAssignment_2(), "rule__EntityMockByResourceAttribute__AttributeRefAssignment_2");
+					put(grammarAccess.getEntityMockByResourceAttributeAccess().getResourceAttributeAssignment_4(), "rule__EntityMockByResourceAttribute__ResourceAttributeAssignment_4");
+					put(grammarAccess.getEntityMockTemporaryAccess().getNameAssignment_1(), "rule__EntityMockTemporary__NameAssignment_1");
+					put(grammarAccess.getEntityMockTemporaryAccess().getObjectAssignment_3(), "rule__EntityMockTemporary__ObjectAssignment_3");
+					put(grammarAccess.getEntityMockEntityFunctionAccess().getAttributeRefAssignment_1(), "rule__EntityMockEntityFunction__AttributeRefAssignment_1");
+					put(grammarAccess.getEntityMockEntityFunctionAccess().getParamsAssignment_4_0(), "rule__EntityMockEntityFunction__ParamsAssignment_4_0");
+					put(grammarAccess.getEntityMockEntityFunctionAccess().getParamsAssignment_4_1_1(), "rule__EntityMockEntityFunction__ParamsAssignment_4_1_1");
+					put(grammarAccess.getEntityMockEntityFunctionAccess().getBodyAssignment_6(), "rule__EntityMockEntityFunction__BodyAssignment_6");
+					put(grammarAccess.getEntityMockEntityFunctionParameterAccess().getAttributeRefAssignment_0(), "rule__EntityMockEntityFunctionParameter__AttributeRefAssignment_0");
+					put(grammarAccess.getEntityMockEntityFunctionParameterAccess().getReferencePathsAssignment_1_0(), "rule__EntityMockEntityFunctionParameter__ReferencePathsAssignment_1_0");
+					put(grammarAccess.getEntityMockEntityFunctionParameterAccess().getReferencePathsAssignment_1_1_1(), "rule__EntityMockEntityFunctionParameter__ReferencePathsAssignment_1_1_1");
+					put(grammarAccess.getEntityMockEntityFunctionParameterAccess().getReferenceRefAssignment_1_3(), "rule__EntityMockEntityFunctionParameter__ReferenceRefAssignment_1_3");
+					put(grammarAccess.getEntityMockReferencedObjectAttributeAccess().getTemporaryAssignment_1(), "rule__EntityMockReferencedObjectAttribute__TemporaryAssignment_1");
+					put(grammarAccess.getEntityMockReferencedObjectAttributeAccess().getEmbeddedAssignment_2_1(), "rule__EntityMockReferencedObjectAttribute__EmbeddedAssignment_2_1");
+					put(grammarAccess.getEntityMockReferencedObjectAttributeAccess().getAttributeAssignment_4(), "rule__EntityMockReferencedObjectAttribute__AttributeAssignment_4");
+					put(grammarAccess.getEntityMockAttributeByObjectAccess().getAttributeRefAssignment_0_1(), "rule__EntityMockAttributeByObject__AttributeRefAssignment_0_1");
+					put(grammarAccess.getEntityMockAttributeByObjectAccess().getReferenceAssignment_0_2_1(), "rule__EntityMockAttributeByObject__ReferenceAssignment_0_2_1");
+					put(grammarAccess.getEntityMockAttributeByObjectAccess().getResourceEnumAssignment_1_1(), "rule__EntityMockAttributeByObject__ResourceEnumAssignment_1_1");
+					put(grammarAccess.getEntityMockAttributeByObjectAccess().getResourceAttributeAssignment_1_3(), "rule__EntityMockAttributeByObject__ResourceAttributeAssignment_1_3");
+					put(grammarAccess.getEntityMockAttributeFillerAccess().getAttributeRefAssignment_1(), "rule__EntityMockAttributeFiller__AttributeRefAssignment_1");
+					put(grammarAccess.getEntityMockAttributeFillerAccess().getFillerTypeAssignment_3(), "rule__EntityMockAttributeFiller__FillerTypeAssignment_3");
+					put(grammarAccess.getEntityMockAttributeByReferenceAccess().getAttributeRefAssignment_1(), "rule__EntityMockAttributeByReference__AttributeRefAssignment_1");
+					put(grammarAccess.getEntityMockAttributeByReferenceAccess().getMockedEntityAssignment_3_1(), "rule__EntityMockAttributeByReference__MockedEntityAssignment_3_1");
+					put(grammarAccess.getEntityMockAttributeByReferenceAccess().getOptionalForAssignment_4_1(), "rule__EntityMockAttributeByReference__OptionalForAssignment_4_1");
+					put(grammarAccess.getXAnnotationAccess().getAnnotationTypeAssignment_2(), "rule__XAnnotation__AnnotationTypeAssignment_2");
+					put(grammarAccess.getXAnnotationAccess().getElementValuePairsAssignment_3_1_0_0(), "rule__XAnnotation__ElementValuePairsAssignment_3_1_0_0");
+					put(grammarAccess.getXAnnotationAccess().getElementValuePairsAssignment_3_1_0_1_1(), "rule__XAnnotation__ElementValuePairsAssignment_3_1_0_1_1");
+					put(grammarAccess.getXAnnotationAccess().getValueAssignment_3_1_1(), "rule__XAnnotation__ValueAssignment_3_1_1");
+					put(grammarAccess.getXAnnotationElementValuePairAccess().getElementAssignment_0_0_0(), "rule__XAnnotationElementValuePair__ElementAssignment_0_0_0");
+					put(grammarAccess.getXAnnotationElementValuePairAccess().getValueAssignment_1(), "rule__XAnnotationElementValuePair__ValueAssignment_1");
+					put(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getElementsAssignment_0_1_0(), "rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_0");
+					put(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getElementsAssignment_0_1_1_1(), "rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_1_1");
+					put(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getElementsAssignment_1_1_1_1(), "rule__XAnnotationElementValueOrCommaList__ElementsAssignment_1_1_1_1");
+					put(grammarAccess.getXAnnotationElementValueAccess().getElementsAssignment_0_1_0(), "rule__XAnnotationElementValue__ElementsAssignment_0_1_0");
+					put(grammarAccess.getXAnnotationElementValueAccess().getElementsAssignment_0_1_1_1(), "rule__XAnnotationElementValue__ElementsAssignment_0_1_1_1");
+					put(grammarAccess.getXAssignmentAccess().getFeatureAssignment_0_1(), "rule__XAssignment__FeatureAssignment_0_1");
+					put(grammarAccess.getXAssignmentAccess().getValueAssignment_0_3(), "rule__XAssignment__ValueAssignment_0_3");
+					put(grammarAccess.getXAssignmentAccess().getFeatureAssignment_1_1_0_0_1(), "rule__XAssignment__FeatureAssignment_1_1_0_0_1");
+					put(grammarAccess.getXAssignmentAccess().getRightOperandAssignment_1_1_1(), "rule__XAssignment__RightOperandAssignment_1_1_1");
+					put(grammarAccess.getXOrExpressionAccess().getFeatureAssignment_1_0_0_1(), "rule__XOrExpression__FeatureAssignment_1_0_0_1");
+					put(grammarAccess.getXOrExpressionAccess().getRightOperandAssignment_1_1(), "rule__XOrExpression__RightOperandAssignment_1_1");
+					put(grammarAccess.getXAndExpressionAccess().getFeatureAssignment_1_0_0_1(), "rule__XAndExpression__FeatureAssignment_1_0_0_1");
+					put(grammarAccess.getXAndExpressionAccess().getRightOperandAssignment_1_1(), "rule__XAndExpression__RightOperandAssignment_1_1");
+					put(grammarAccess.getXEqualityExpressionAccess().getFeatureAssignment_1_0_0_1(), "rule__XEqualityExpression__FeatureAssignment_1_0_0_1");
+					put(grammarAccess.getXEqualityExpressionAccess().getRightOperandAssignment_1_1(), "rule__XEqualityExpression__RightOperandAssignment_1_1");
+					put(grammarAccess.getXRelationalExpressionAccess().getTypeAssignment_1_0_1(), "rule__XRelationalExpression__TypeAssignment_1_0_1");
+					put(grammarAccess.getXRelationalExpressionAccess().getFeatureAssignment_1_1_0_0_1(), "rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1");
+					put(grammarAccess.getXRelationalExpressionAccess().getRightOperandAssignment_1_1_1(), "rule__XRelationalExpression__RightOperandAssignment_1_1_1");
+					put(grammarAccess.getXOtherOperatorExpressionAccess().getFeatureAssignment_1_0_0_1(), "rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1");
+					put(grammarAccess.getXOtherOperatorExpressionAccess().getRightOperandAssignment_1_1(), "rule__XOtherOperatorExpression__RightOperandAssignment_1_1");
+					put(grammarAccess.getXAdditiveExpressionAccess().getFeatureAssignment_1_0_0_1(), "rule__XAdditiveExpression__FeatureAssignment_1_0_0_1");
+					put(grammarAccess.getXAdditiveExpressionAccess().getRightOperandAssignment_1_1(), "rule__XAdditiveExpression__RightOperandAssignment_1_1");
+					put(grammarAccess.getXMultiplicativeExpressionAccess().getFeatureAssignment_1_0_0_1(), "rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1");
+					put(grammarAccess.getXMultiplicativeExpressionAccess().getRightOperandAssignment_1_1(), "rule__XMultiplicativeExpression__RightOperandAssignment_1_1");
+					put(grammarAccess.getXUnaryOperationAccess().getFeatureAssignment_0_1(), "rule__XUnaryOperation__FeatureAssignment_0_1");
+					put(grammarAccess.getXUnaryOperationAccess().getOperandAssignment_0_2(), "rule__XUnaryOperation__OperandAssignment_0_2");
+					put(grammarAccess.getXCastedExpressionAccess().getTypeAssignment_1_1(), "rule__XCastedExpression__TypeAssignment_1_1");
+					put(grammarAccess.getXPostfixOperationAccess().getFeatureAssignment_1_0_1(), "rule__XPostfixOperation__FeatureAssignment_1_0_1");
+					put(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticAssignment_1_0_0_0_1_1(), "rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1");
+					put(grammarAccess.getXMemberFeatureCallAccess().getFeatureAssignment_1_0_0_0_2(), "rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2");
+					put(grammarAccess.getXMemberFeatureCallAccess().getValueAssignment_1_0_1(), "rule__XMemberFeatureCall__ValueAssignment_1_0_1");
+					put(grammarAccess.getXMemberFeatureCallAccess().getNullSafeAssignment_1_1_0_0_1_1(), "rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1");
+					put(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticAssignment_1_1_0_0_1_2(), "rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2");
+					put(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsAssignment_1_1_1_1(), "rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1");
+					put(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsAssignment_1_1_1_2_1(), "rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1");
+					put(grammarAccess.getXMemberFeatureCallAccess().getFeatureAssignment_1_1_2(), "rule__XMemberFeatureCall__FeatureAssignment_1_1_2");
+					put(grammarAccess.getXMemberFeatureCallAccess().getExplicitOperationCallAssignment_1_1_3_0(), "rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0");
+					put(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_0(), "rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0");
+					put(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_1_0(), "rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0");
+					put(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_1_1_1(), "rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1");
+					put(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_4(), "rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4");
+					put(grammarAccess.getXSetLiteralAccess().getElementsAssignment_3_0(), "rule__XSetLiteral__ElementsAssignment_3_0");
+					put(grammarAccess.getXSetLiteralAccess().getElementsAssignment_3_1_1(), "rule__XSetLiteral__ElementsAssignment_3_1_1");
+					put(grammarAccess.getXListLiteralAccess().getElementsAssignment_3_0(), "rule__XListLiteral__ElementsAssignment_3_0");
+					put(grammarAccess.getXListLiteralAccess().getElementsAssignment_3_1_1(), "rule__XListLiteral__ElementsAssignment_3_1_1");
+					put(grammarAccess.getXClosureAccess().getDeclaredFormalParametersAssignment_1_0_0_0(), "rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0");
+					put(grammarAccess.getXClosureAccess().getDeclaredFormalParametersAssignment_1_0_0_1_1(), "rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1");
+					put(grammarAccess.getXClosureAccess().getExplicitSyntaxAssignment_1_0_1(), "rule__XClosure__ExplicitSyntaxAssignment_1_0_1");
+					put(grammarAccess.getXClosureAccess().getExpressionAssignment_2(), "rule__XClosure__ExpressionAssignment_2");
+					put(grammarAccess.getXExpressionInClosureAccess().getExpressionsAssignment_1_0(), "rule__XExpressionInClosure__ExpressionsAssignment_1_0");
+					put(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersAssignment_0_0_1_0(), "rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0");
+					put(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersAssignment_0_0_1_1_1(), "rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1");
+					put(grammarAccess.getXShortClosureAccess().getExplicitSyntaxAssignment_0_0_2(), "rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2");
+					put(grammarAccess.getXShortClosureAccess().getExpressionAssignment_1(), "rule__XShortClosure__ExpressionAssignment_1");
+					put(grammarAccess.getXIfExpressionAccess().getIfAssignment_3(), "rule__XIfExpression__IfAssignment_3");
+					put(grammarAccess.getXIfExpressionAccess().getThenAssignment_5(), "rule__XIfExpression__ThenAssignment_5");
+					put(grammarAccess.getXIfExpressionAccess().getElseAssignment_6_1(), "rule__XIfExpression__ElseAssignment_6_1");
+					put(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamAssignment_2_0_0_0_1(), "rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1");
+					put(grammarAccess.getXSwitchExpressionAccess().getSwitchAssignment_2_0_1(), "rule__XSwitchExpression__SwitchAssignment_2_0_1");
+					put(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamAssignment_2_1_0_0_0(), "rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0");
+					put(grammarAccess.getXSwitchExpressionAccess().getSwitchAssignment_2_1_1(), "rule__XSwitchExpression__SwitchAssignment_2_1_1");
+					put(grammarAccess.getXSwitchExpressionAccess().getCasesAssignment_4(), "rule__XSwitchExpression__CasesAssignment_4");
+					put(grammarAccess.getXSwitchExpressionAccess().getDefaultAssignment_5_2(), "rule__XSwitchExpression__DefaultAssignment_5_2");
+					put(grammarAccess.getXCasePartAccess().getTypeGuardAssignment_1(), "rule__XCasePart__TypeGuardAssignment_1");
+					put(grammarAccess.getXCasePartAccess().getCaseAssignment_2_1(), "rule__XCasePart__CaseAssignment_2_1");
+					put(grammarAccess.getXCasePartAccess().getThenAssignment_3_0_1(), "rule__XCasePart__ThenAssignment_3_0_1");
+					put(grammarAccess.getXCasePartAccess().getFallThroughAssignment_3_1(), "rule__XCasePart__FallThroughAssignment_3_1");
+					put(grammarAccess.getXForLoopExpressionAccess().getDeclaredParamAssignment_0_0_3(), "rule__XForLoopExpression__DeclaredParamAssignment_0_0_3");
+					put(grammarAccess.getXForLoopExpressionAccess().getForExpressionAssignment_1(), "rule__XForLoopExpression__ForExpressionAssignment_1");
+					put(grammarAccess.getXForLoopExpressionAccess().getEachExpressionAssignment_3(), "rule__XForLoopExpression__EachExpressionAssignment_3");
+					put(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsAssignment_3_0(), "rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0");
+					put(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsAssignment_3_1_1(), "rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1");
+					put(grammarAccess.getXBasicForLoopExpressionAccess().getExpressionAssignment_5(), "rule__XBasicForLoopExpression__ExpressionAssignment_5");
+					put(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsAssignment_7_0(), "rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0");
+					put(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsAssignment_7_1_1(), "rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1");
+					put(grammarAccess.getXBasicForLoopExpressionAccess().getEachExpressionAssignment_9(), "rule__XBasicForLoopExpression__EachExpressionAssignment_9");
+					put(grammarAccess.getXWhileExpressionAccess().getPredicateAssignment_3(), "rule__XWhileExpression__PredicateAssignment_3");
+					put(grammarAccess.getXWhileExpressionAccess().getBodyAssignment_5(), "rule__XWhileExpression__BodyAssignment_5");
+					put(grammarAccess.getXDoWhileExpressionAccess().getBodyAssignment_2(), "rule__XDoWhileExpression__BodyAssignment_2");
+					put(grammarAccess.getXDoWhileExpressionAccess().getPredicateAssignment_5(), "rule__XDoWhileExpression__PredicateAssignment_5");
+					put(grammarAccess.getXBlockExpressionAccess().getExpressionsAssignment_2_0(), "rule__XBlockExpression__ExpressionsAssignment_2_0");
+					put(grammarAccess.getXVariableDeclarationAccess().getWriteableAssignment_1_0(), "rule__XVariableDeclaration__WriteableAssignment_1_0");
+					put(grammarAccess.getXVariableDeclarationAccess().getTypeAssignment_2_0_0_0(), "rule__XVariableDeclaration__TypeAssignment_2_0_0_0");
+					put(grammarAccess.getXVariableDeclarationAccess().getNameAssignment_2_0_0_1(), "rule__XVariableDeclaration__NameAssignment_2_0_0_1");
+					put(grammarAccess.getXVariableDeclarationAccess().getNameAssignment_2_1(), "rule__XVariableDeclaration__NameAssignment_2_1");
+					put(grammarAccess.getXVariableDeclarationAccess().getRightAssignment_3_1(), "rule__XVariableDeclaration__RightAssignment_3_1");
+					put(grammarAccess.getJvmFormalParameterAccess().getParameterTypeAssignment_0(), "rule__JvmFormalParameter__ParameterTypeAssignment_0");
+					put(grammarAccess.getJvmFormalParameterAccess().getNameAssignment_1(), "rule__JvmFormalParameter__NameAssignment_1");
+					put(grammarAccess.getFullJvmFormalParameterAccess().getParameterTypeAssignment_0(), "rule__FullJvmFormalParameter__ParameterTypeAssignment_0");
+					put(grammarAccess.getFullJvmFormalParameterAccess().getNameAssignment_1(), "rule__FullJvmFormalParameter__NameAssignment_1");
+					put(grammarAccess.getXFeatureCallAccess().getTypeArgumentsAssignment_1_1(), "rule__XFeatureCall__TypeArgumentsAssignment_1_1");
+					put(grammarAccess.getXFeatureCallAccess().getTypeArgumentsAssignment_1_2_1(), "rule__XFeatureCall__TypeArgumentsAssignment_1_2_1");
+					put(grammarAccess.getXFeatureCallAccess().getFeatureAssignment_2(), "rule__XFeatureCall__FeatureAssignment_2");
+					put(grammarAccess.getXFeatureCallAccess().getExplicitOperationCallAssignment_3_0(), "rule__XFeatureCall__ExplicitOperationCallAssignment_3_0");
+					put(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_0(), "rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0");
+					put(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_1_0(), "rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0");
+					put(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_1_1_1(), "rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1");
+					put(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_4(), "rule__XFeatureCall__FeatureCallArgumentsAssignment_4");
+					put(grammarAccess.getXConstructorCallAccess().getConstructorAssignment_2(), "rule__XConstructorCall__ConstructorAssignment_2");
+					put(grammarAccess.getXConstructorCallAccess().getTypeArgumentsAssignment_3_1(), "rule__XConstructorCall__TypeArgumentsAssignment_3_1");
+					put(grammarAccess.getXConstructorCallAccess().getTypeArgumentsAssignment_3_2_1(), "rule__XConstructorCall__TypeArgumentsAssignment_3_2_1");
+					put(grammarAccess.getXConstructorCallAccess().getExplicitConstructorCallAssignment_4_0(), "rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0");
+					put(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_0(), "rule__XConstructorCall__ArgumentsAssignment_4_1_0");
+					put(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_1_0(), "rule__XConstructorCall__ArgumentsAssignment_4_1_1_0");
+					put(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_1_1_1(), "rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1");
+					put(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_5(), "rule__XConstructorCall__ArgumentsAssignment_5");
+					put(grammarAccess.getXBooleanLiteralAccess().getIsTrueAssignment_1_1(), "rule__XBooleanLiteral__IsTrueAssignment_1_1");
+					put(grammarAccess.getXNumberLiteralAccess().getValueAssignment_1(), "rule__XNumberLiteral__ValueAssignment_1");
+					put(grammarAccess.getXStringLiteralAccess().getValueAssignment_1(), "rule__XStringLiteral__ValueAssignment_1");
+					put(grammarAccess.getXTypeLiteralAccess().getTypeAssignment_3(), "rule__XTypeLiteral__TypeAssignment_3");
+					put(grammarAccess.getXTypeLiteralAccess().getArrayDimensionsAssignment_4(), "rule__XTypeLiteral__ArrayDimensionsAssignment_4");
+					put(grammarAccess.getXThrowExpressionAccess().getExpressionAssignment_2(), "rule__XThrowExpression__ExpressionAssignment_2");
+					put(grammarAccess.getXReturnExpressionAccess().getExpressionAssignment_2(), "rule__XReturnExpression__ExpressionAssignment_2");
+					put(grammarAccess.getXTryCatchFinallyExpressionAccess().getExpressionAssignment_2(), "rule__XTryCatchFinallyExpression__ExpressionAssignment_2");
+					put(grammarAccess.getXTryCatchFinallyExpressionAccess().getCatchClausesAssignment_3_0_0(), "rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0");
+					put(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionAssignment_3_0_1_1(), "rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1");
+					put(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionAssignment_3_1_1(), "rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1");
+					put(grammarAccess.getXSynchronizedExpressionAccess().getParamAssignment_1(), "rule__XSynchronizedExpression__ParamAssignment_1");
+					put(grammarAccess.getXSynchronizedExpressionAccess().getExpressionAssignment_3(), "rule__XSynchronizedExpression__ExpressionAssignment_3");
+					put(grammarAccess.getXCatchClauseAccess().getDeclaredParamAssignment_2(), "rule__XCatchClause__DeclaredParamAssignment_2");
+					put(grammarAccess.getXCatchClauseAccess().getExpressionAssignment_4(), "rule__XCatchClause__ExpressionAssignment_4");
+					put(grammarAccess.getXFunctionTypeRefAccess().getParamTypesAssignment_0_1_0(), "rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0");
+					put(grammarAccess.getXFunctionTypeRefAccess().getParamTypesAssignment_0_1_1_1(), "rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1");
+					put(grammarAccess.getXFunctionTypeRefAccess().getReturnTypeAssignment_2(), "rule__XFunctionTypeRef__ReturnTypeAssignment_2");
+					put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeAssignment_0(), "rule__JvmParameterizedTypeReference__TypeAssignment_0");
+					put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_1(), "rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1");
+					put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_2_1(), "rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1");
+					put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeAssignment_1_4_1(), "rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1");
+					put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_4_2_1(), "rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1");
+					put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_4_2_2_1(), "rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1");
+					put(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_0_0(), "rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0");
+					put(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_0_1(), "rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1");
+					put(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_1_0(), "rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0");
+					put(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_1_1(), "rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1");
+					put(grammarAccess.getJvmUpperBoundAccess().getTypeReferenceAssignment_1(), "rule__JvmUpperBound__TypeReferenceAssignment_1");
+					put(grammarAccess.getJvmUpperBoundAndedAccess().getTypeReferenceAssignment_1(), "rule__JvmUpperBoundAnded__TypeReferenceAssignment_1");
+					put(grammarAccess.getJvmLowerBoundAccess().getTypeReferenceAssignment_1(), "rule__JvmLowerBound__TypeReferenceAssignment_1");
+					put(grammarAccess.getJvmLowerBoundAndedAccess().getTypeReferenceAssignment_1(), "rule__JvmLowerBoundAnded__TypeReferenceAssignment_1");
+					put(grammarAccess.getJvmTypeParameterAccess().getNameAssignment_0(), "rule__JvmTypeParameter__NameAssignment_0");
+					put(grammarAccess.getJvmTypeParameterAccess().getConstraintsAssignment_1_0(), "rule__JvmTypeParameter__ConstraintsAssignment_1_0");
+					put(grammarAccess.getJvmTypeParameterAccess().getConstraintsAssignment_1_1(), "rule__JvmTypeParameter__ConstraintsAssignment_1_1");
+					put(grammarAccess.getXImportSectionAccess().getImportDeclarationsAssignment(), "rule__XImportSection__ImportDeclarationsAssignment");
+					put(grammarAccess.getXImportDeclarationAccess().getStaticAssignment_1_0_0(), "rule__XImportDeclaration__StaticAssignment_1_0_0");
+					put(grammarAccess.getXImportDeclarationAccess().getExtensionAssignment_1_0_1(), "rule__XImportDeclaration__ExtensionAssignment_1_0_1");
+					put(grammarAccess.getXImportDeclarationAccess().getImportedTypeAssignment_1_0_2(), "rule__XImportDeclaration__ImportedTypeAssignment_1_0_2");
+					put(grammarAccess.getXImportDeclarationAccess().getWildcardAssignment_1_0_3_0(), "rule__XImportDeclaration__WildcardAssignment_1_0_3_0");
+					put(grammarAccess.getXImportDeclarationAccess().getMemberNameAssignment_1_0_3_1(), "rule__XImportDeclaration__MemberNameAssignment_1_0_3_1");
+					put(grammarAccess.getXImportDeclarationAccess().getImportedTypeAssignment_1_1(), "rule__XImportDeclaration__ImportedTypeAssignment_1_1");
+					put(grammarAccess.getXImportDeclarationAccess().getImportedNamespaceAssignment_1_2(), "rule__XImportDeclaration__ImportedNamespaceAssignment_1_2");
+				}
+			};
+		}
+		return nameMappings.get(element);
+	}
+	
+	@Override
+	protected Collection<FollowElement> getFollowElements(AbstractInternalContentAssistParser parser) {
+		try {
+			org.eclipse.osbp.xtext.entitymock.ui.contentassist.antlr.internal.InternalEntityMockDSLParser typedParser = (org.eclipse.osbp.xtext.entitymock.ui.contentassist.antlr.internal.InternalEntityMockDSLParser) parser;
+			typedParser.entryRuleEntityMockModel();
+			return typedParser.getFollowElements();
+		} catch(RecognitionException ex) {
+			throw new RuntimeException(ex);
+		}		
+	}
+	
+	@Override
+	protected String[] getInitialHiddenTokens() {
+		return new String[] { "RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT" };
+	}
+	
+	public EntityMockDSLGrammarAccess getGrammarAccess() {
+		return this.grammarAccess;
+	}
+	
+	public void setGrammarAccess(EntityMockDSLGrammarAccess grammarAccess) {
+		this.grammarAccess = grammarAccess;
+	}
+}
diff --git a/org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/PartialEntityMockDSLContentAssistParser.java b/org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/PartialEntityMockDSLContentAssistParser.java
new file mode 100644
index 0000000..67ea992
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/PartialEntityMockDSLContentAssistParser.java
@@ -0,0 +1,49 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  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:                                                      
+ * 	   Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ * 
+ */
+
+package org.eclipse.osbp.xtext.entitymock.ui.contentassist.antlr;
+
+import java.util.Collection;
+import java.util.Collections;
+
+import org.eclipse.xtext.AbstractRule;
+import org.eclipse.xtext.ui.codetemplates.ui.partialEditing.IPartialContentAssistParser;
+import org.eclipse.xtext.ui.editor.contentassist.antlr.FollowElement;
+import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
+import org.eclipse.xtext.util.PolymorphicDispatcher;
+
+/**
+ * @author Sebastian Zarnekow - Initial contribution and API
+ */
+@SuppressWarnings("restriction")
+public class PartialEntityMockDSLContentAssistParser extends EntityMockDSLParser implements IPartialContentAssistParser {
+
+	private AbstractRule rule;
+
+	public void initializeFor(AbstractRule rule) {
+		this.rule = rule;
+	}
+	
+	@Override
+	protected Collection<FollowElement> getFollowElements(AbstractInternalContentAssistParser parser) {
+		if (rule == null || rule.eIsProxy())
+			return Collections.emptyList();
+		String methodName = "entryRule" + rule.getName();
+		PolymorphicDispatcher<Collection<FollowElement>> dispatcher = 
+			new PolymorphicDispatcher<Collection<FollowElement>>(methodName, 0, 0, Collections.singletonList(parser));
+		dispatcher.invoke();
+		return parser.getFollowElements();
+	}
+
+}
diff --git a/org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g b/org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g
new file mode 100644
index 0000000..4f8bd16
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g
@@ -0,0 +1,10015 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  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:                                                      
+ * 	   Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ * 
+ */
+
+grammar InternalEntityMockDSL;
+
+options {
+	superClass=AbstractInternalContentAssistParser;
+	backtrack=true;
+	
+}
+
+@lexer::header {
+package org.eclipse.osbp.xtext.entitymock.ui.contentassist.antlr.internal;
+
+// Hack: Use our own Lexer superclass by means of import. 
+// Currently there is no other way to specify the superclass for the lexer.
+import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.Lexer;
+}
+
+@parser::header {
+package org.eclipse.osbp.xtext.entitymock.ui.contentassist.antlr.internal; 
+
+import java.io.InputStream;
+import org.eclipse.xtext.*;
+import org.eclipse.xtext.parser.*;
+import org.eclipse.xtext.parser.impl.*;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
+import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
+import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.DFA;
+import org.eclipse.osbp.xtext.entitymock.services.EntityMockDSLGrammarAccess;
+
+}
+
+@parser::members {
+ 
+ 	private EntityMockDSLGrammarAccess grammarAccess;
+ 	
+    public void setGrammarAccess(EntityMockDSLGrammarAccess grammarAccess) {
+    	this.grammarAccess = grammarAccess;
+    }
+    
+    @Override
+    protected Grammar getGrammar() {
+    	return grammarAccess.getGrammar();
+    }
+    
+    @Override
+    protected String getValueForTokenName(String tokenName) {
+    	return tokenName;
+    }
+
+}
+
+
+
+
+// Entry rule entryRuleEntityMockModel
+entryRuleEntityMockModel 
+:
+{ before(grammarAccess.getEntityMockModelRule()); }
+	 ruleEntityMockModel
+{ after(grammarAccess.getEntityMockModelRule()); } 
+	 EOF 
+;
+
+// Rule EntityMockModel
+ruleEntityMockModel
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getEntityMockModelAccess().getPackagesAssignment()); }
+(rule__EntityMockModel__PackagesAssignment)*
+{ after(grammarAccess.getEntityMockModelAccess().getPackagesAssignment()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleEntityMockPackage
+entryRuleEntityMockPackage 
+:
+{ before(grammarAccess.getEntityMockPackageRule()); }
+	 ruleEntityMockPackage
+{ after(grammarAccess.getEntityMockPackageRule()); } 
+	 EOF 
+;
+
+// Rule EntityMockPackage
+ruleEntityMockPackage
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getEntityMockPackageAccess().getGroup()); }
+(rule__EntityMockPackage__Group__0)
+{ after(grammarAccess.getEntityMockPackageAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleEntityModelImport
+entryRuleEntityModelImport 
+:
+{ before(grammarAccess.getEntityModelImportRule()); }
+	 ruleEntityModelImport
+{ after(grammarAccess.getEntityModelImportRule()); } 
+	 EOF 
+;
+
+// Rule EntityModelImport
+ruleEntityModelImport
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getEntityModelImportAccess().getImportedNamespaceAssignment()); }
+(rule__EntityModelImport__ImportedNamespaceAssignment)
+{ after(grammarAccess.getEntityModelImportAccess().getImportedNamespaceAssignment()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleEntityMockQualifiedNameWithWildCard
+entryRuleEntityMockQualifiedNameWithWildCard 
+:
+{ before(grammarAccess.getEntityMockQualifiedNameWithWildCardRule()); }
+	 ruleEntityMockQualifiedNameWithWildCard
+{ after(grammarAccess.getEntityMockQualifiedNameWithWildCardRule()); } 
+	 EOF 
+;
+
+// Rule EntityMockQualifiedNameWithWildCard
+ruleEntityMockQualifiedNameWithWildCard
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getEntityMockQualifiedNameWithWildCardAccess().getGroup()); }
+(rule__EntityMockQualifiedNameWithWildCard__Group__0)
+{ after(grammarAccess.getEntityMockQualifiedNameWithWildCardAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleRunningDataInterchanges
+entryRuleRunningDataInterchanges 
+:
+{ before(grammarAccess.getRunningDataInterchangesRule()); }
+	 ruleRunningDataInterchanges
+{ after(grammarAccess.getRunningDataInterchangesRule()); } 
+	 EOF 
+;
+
+// Rule RunningDataInterchanges
+ruleRunningDataInterchanges
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getRunningDataInterchangesAccess().getGroup()); }
+(rule__RunningDataInterchanges__Group__0)
+{ after(grammarAccess.getRunningDataInterchangesAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleRunningDataInterchange
+entryRuleRunningDataInterchange 
+:
+{ before(grammarAccess.getRunningDataInterchangeRule()); }
+	 ruleRunningDataInterchange
+{ after(grammarAccess.getRunningDataInterchangeRule()); } 
+	 EOF 
+;
+
+// Rule RunningDataInterchange
+ruleRunningDataInterchange
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getRunningDataInterchangeAccess().getGroup()); }
+(rule__RunningDataInterchange__Group__0)
+{ after(grammarAccess.getRunningDataInterchangeAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleEntityMockResources
+entryRuleEntityMockResources 
+:
+{ before(grammarAccess.getEntityMockResourcesRule()); }
+	 ruleEntityMockResources
+{ after(grammarAccess.getEntityMockResourcesRule()); } 
+	 EOF 
+;
+
+// Rule EntityMockResources
+ruleEntityMockResources
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getEntityMockResourcesAccess().getGroup()); }
+(rule__EntityMockResources__Group__0)
+{ after(grammarAccess.getEntityMockResourcesAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleEntityMockResource
+entryRuleEntityMockResource 
+:
+{ before(grammarAccess.getEntityMockResourceRule()); }
+	 ruleEntityMockResource
+{ after(grammarAccess.getEntityMockResourceRule()); } 
+	 EOF 
+;
+
+// Rule EntityMockResource
+ruleEntityMockResource
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getEntityMockResourceAccess().getGroup()); }
+(rule__EntityMockResource__Group__0)
+{ after(grammarAccess.getEntityMockResourceAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleEntityMockResourceAttribute
+entryRuleEntityMockResourceAttribute 
+:
+{ before(grammarAccess.getEntityMockResourceAttributeRule()); }
+	 ruleEntityMockResourceAttribute
+{ after(grammarAccess.getEntityMockResourceAttributeRule()); } 
+	 EOF 
+;
+
+// Rule EntityMockResourceAttribute
+ruleEntityMockResourceAttribute
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getEntityMockResourceAttributeAccess().getGroup()); }
+(rule__EntityMockResourceAttribute__Group__0)
+{ after(grammarAccess.getEntityMockResourceAttributeAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleEntityMockResourceDataRow
+entryRuleEntityMockResourceDataRow 
+:
+{ before(grammarAccess.getEntityMockResourceDataRowRule()); }
+	 ruleEntityMockResourceDataRow
+{ after(grammarAccess.getEntityMockResourceDataRowRule()); } 
+	 EOF 
+;
+
+// Rule EntityMockResourceDataRow
+ruleEntityMockResourceDataRow
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getEntityMockResourceDataRowAccess().getGroup()); }
+(rule__EntityMockResourceDataRow__Group__0)
+{ after(grammarAccess.getEntityMockResourceDataRowAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleEntityMockObjects
+entryRuleEntityMockObjects 
+:
+{ before(grammarAccess.getEntityMockObjectsRule()); }
+	 ruleEntityMockObjects
+{ after(grammarAccess.getEntityMockObjectsRule()); } 
+	 EOF 
+;
+
+// Rule EntityMockObjects
+ruleEntityMockObjects
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getEntityMockObjectsAccess().getGroup()); }
+(rule__EntityMockObjects__Group__0)
+{ after(grammarAccess.getEntityMockObjectsAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleEntityMockObject
+entryRuleEntityMockObject 
+:
+{ before(grammarAccess.getEntityMockObjectRule()); }
+	 ruleEntityMockObject
+{ after(grammarAccess.getEntityMockObjectRule()); } 
+	 EOF 
+;
+
+// Rule EntityMockObject
+ruleEntityMockObject
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getEntityMockObjectAccess().getGroup()); }
+(rule__EntityMockObject__Group__0)
+{ after(grammarAccess.getEntityMockObjectAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleEntityMockObjectEnum
+entryRuleEntityMockObjectEnum 
+:
+{ before(grammarAccess.getEntityMockObjectEnumRule()); }
+	 ruleEntityMockObjectEnum
+{ after(grammarAccess.getEntityMockObjectEnumRule()); } 
+	 EOF 
+;
+
+// Rule EntityMockObjectEnum
+ruleEntityMockObjectEnum
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getEntityMockObjectEnumAccess().getGroup()); }
+(rule__EntityMockObjectEnum__Group__0)
+{ after(grammarAccess.getEntityMockObjectEnumAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleEntityMockDataTypes
+entryRuleEntityMockDataTypes 
+:
+{ before(grammarAccess.getEntityMockDataTypesRule()); }
+	 ruleEntityMockDataTypes
+{ after(grammarAccess.getEntityMockDataTypesRule()); } 
+	 EOF 
+;
+
+// Rule EntityMockDataTypes
+ruleEntityMockDataTypes
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getEntityMockDataTypesAccess().getGroup()); }
+(rule__EntityMockDataTypes__Group__0)
+{ after(grammarAccess.getEntityMockDataTypesAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+// Entry rule entryRuleIEntityMockObjectAttribute
+entryRuleIEntityMockObjectAttribute 
+:
+{ before(grammarAccess.getIEntityMockObjectAttributeRule()); }
+	 ruleIEntityMockObjectAttribute
+{ after(grammarAccess.getIEntityMockObjectAttributeRule()); } 
+	 EOF 
+;
+
+// Rule IEntityMockObjectAttribute
+ruleIEntityMockObjectAttribute
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getIEntityMockObjectAttributeAccess().getAlternatives()); }
+(rule__IEntityMockObjectAttribute__Alternatives)
+{ after(grammarAccess.getIEntityMockObjectAttributeAccess().getAlternatives()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleEntityMockObjectPlainValue
+entryRuleEntityMockObjectPlainValue 
+:
+{ before(grammarAccess.getEntityMockObjectPlainValueRule()); }
+	 ruleEntityMockObjectPlainValue
+{ after(grammarAccess.getEntityMockObjectPlainValueRule()); } 
+	 EOF 
+;
+
+// Rule EntityMockObjectPlainValue
+ruleEntityMockObjectPlainValue
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getEntityMockObjectPlainValueAccess().getGroup()); }
+(rule__EntityMockObjectPlainValue__Group__0)
+{ after(grammarAccess.getEntityMockObjectPlainValueAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleEntityMockObjectResourceValue
+entryRuleEntityMockObjectResourceValue 
+:
+{ before(grammarAccess.getEntityMockObjectResourceValueRule()); }
+	 ruleEntityMockObjectResourceValue
+{ after(grammarAccess.getEntityMockObjectResourceValueRule()); } 
+	 EOF 
+;
+
+// Rule EntityMockObjectResourceValue
+ruleEntityMockObjectResourceValue
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getEntityMockObjectResourceValueAccess().getGroup()); }
+(rule__EntityMockObjectResourceValue__Group__0)
+{ after(grammarAccess.getEntityMockObjectResourceValueAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleEntityMockObjectArrayValue
+entryRuleEntityMockObjectArrayValue 
+:
+{ before(grammarAccess.getEntityMockObjectArrayValueRule()); }
+	 ruleEntityMockObjectArrayValue
+{ after(grammarAccess.getEntityMockObjectArrayValueRule()); } 
+	 EOF 
+;
+
+// Rule EntityMockObjectArrayValue
+ruleEntityMockObjectArrayValue
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getEntityMockObjectArrayValueAccess().getGroup()); }
+(rule__EntityMockObjectArrayValue__Group__0)
+{ after(grammarAccess.getEntityMockObjectArrayValueAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleEntityMockObjectItemValue
+entryRuleEntityMockObjectItemValue 
+:
+{ before(grammarAccess.getEntityMockObjectItemValueRule()); }
+	 ruleEntityMockObjectItemValue
+{ after(grammarAccess.getEntityMockObjectItemValueRule()); } 
+	 EOF 
+;
+
+// Rule EntityMockObjectItemValue
+ruleEntityMockObjectItemValue
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getEntityMockObjectItemValueAccess().getGroup()); }
+(rule__EntityMockObjectItemValue__Group__0)
+{ after(grammarAccess.getEntityMockObjectItemValueAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleEntityMockObjectEmbed
+entryRuleEntityMockObjectEmbed 
+:
+{ before(grammarAccess.getEntityMockObjectEmbedRule()); }
+	 ruleEntityMockObjectEmbed
+{ after(grammarAccess.getEntityMockObjectEmbedRule()); } 
+	 EOF 
+;
+
+// Rule EntityMockObjectEmbed
+ruleEntityMockObjectEmbed
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getEntityMockObjectEmbedAccess().getGroup()); }
+(rule__EntityMockObjectEmbed__Group__0)
+{ after(grammarAccess.getEntityMockObjectEmbedAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleEntityMockObjectFunction
+entryRuleEntityMockObjectFunction 
+:
+{ before(grammarAccess.getEntityMockObjectFunctionRule()); }
+	 ruleEntityMockObjectFunction
+{ after(grammarAccess.getEntityMockObjectFunctionRule()); } 
+	 EOF 
+;
+
+// Rule EntityMockObjectFunction
+ruleEntityMockObjectFunction
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getEntityMockObjectFunctionAccess().getGroup()); }
+(rule__EntityMockObjectFunction__Group__0)
+{ after(grammarAccess.getEntityMockObjectFunctionAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleEntityMockObjectFunctionParameter
+entryRuleEntityMockObjectFunctionParameter 
+:
+{ before(grammarAccess.getEntityMockObjectFunctionParameterRule()); }
+	 ruleEntityMockObjectFunctionParameter
+{ after(grammarAccess.getEntityMockObjectFunctionParameterRule()); } 
+	 EOF 
+;
+
+// Rule EntityMockObjectFunctionParameter
+ruleEntityMockObjectFunctionParameter
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getEntityMockObjectFunctionParameterAccess().getGroup()); }
+(rule__EntityMockObjectFunctionParameter__Group__0)
+{ after(grammarAccess.getEntityMockObjectFunctionParameterAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleEntityMockObjectFill
+entryRuleEntityMockObjectFill 
+:
+{ before(grammarAccess.getEntityMockObjectFillRule()); }
+	 ruleEntityMockObjectFill
+{ after(grammarAccess.getEntityMockObjectFillRule()); } 
+	 EOF 
+;
+
+// Rule EntityMockObjectFill
+ruleEntityMockObjectFill
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getEntityMockObjectFillAccess().getGroup()); }
+(rule__EntityMockObjectFill__Group__0)
+{ after(grammarAccess.getEntityMockObjectFillAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRulePropertyFillerType
+entryRulePropertyFillerType 
+:
+{ before(grammarAccess.getPropertyFillerTypeRule()); }
+	 rulePropertyFillerType
+{ after(grammarAccess.getPropertyFillerTypeRule()); } 
+	 EOF 
+;
+
+// Rule PropertyFillerType
+rulePropertyFillerType
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getPropertyFillerTypeAccess().getAlternatives()); }
+(rule__PropertyFillerType__Alternatives)
+{ after(grammarAccess.getPropertyFillerTypeAccess().getAlternatives()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRulePropertyFillerDateFuture
+entryRulePropertyFillerDateFuture 
+:
+{ before(grammarAccess.getPropertyFillerDateFutureRule()); }
+	 rulePropertyFillerDateFuture
+{ after(grammarAccess.getPropertyFillerDateFutureRule()); } 
+	 EOF 
+;
+
+// Rule PropertyFillerDateFuture
+rulePropertyFillerDateFuture
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getPropertyFillerDateFutureAccess().getGroup()); }
+(rule__PropertyFillerDateFuture__Group__0)
+{ after(grammarAccess.getPropertyFillerDateFutureAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRulePropertyFillerDatePast
+entryRulePropertyFillerDatePast 
+:
+{ before(grammarAccess.getPropertyFillerDatePastRule()); }
+	 rulePropertyFillerDatePast
+{ after(grammarAccess.getPropertyFillerDatePastRule()); } 
+	 EOF 
+;
+
+// Rule PropertyFillerDatePast
+rulePropertyFillerDatePast
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getPropertyFillerDatePastAccess().getGroup()); }
+(rule__PropertyFillerDatePast__Group__0)
+{ after(grammarAccess.getPropertyFillerDatePastAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRulePropertyFillerBoolean
+entryRulePropertyFillerBoolean 
+:
+{ before(grammarAccess.getPropertyFillerBooleanRule()); }
+	 rulePropertyFillerBoolean
+{ after(grammarAccess.getPropertyFillerBooleanRule()); } 
+	 EOF 
+;
+
+// Rule PropertyFillerBoolean
+rulePropertyFillerBoolean
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getPropertyFillerBooleanAccess().getGroup()); }
+(rule__PropertyFillerBoolean__Group__0)
+{ after(grammarAccess.getPropertyFillerBooleanAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRulePropertyFillerDateRange
+entryRulePropertyFillerDateRange 
+:
+{ before(grammarAccess.getPropertyFillerDateRangeRule()); }
+	 rulePropertyFillerDateRange
+{ after(grammarAccess.getPropertyFillerDateRangeRule()); } 
+	 EOF 
+;
+
+// Rule PropertyFillerDateRange
+rulePropertyFillerDateRange
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getPropertyFillerDateRangeAccess().getGroup()); }
+(rule__PropertyFillerDateRange__Group__0)
+{ after(grammarAccess.getPropertyFillerDateRangeAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRulePropertyFillerSignedDoubleRange
+entryRulePropertyFillerSignedDoubleRange 
+:
+{ before(grammarAccess.getPropertyFillerSignedDoubleRangeRule()); }
+	 rulePropertyFillerSignedDoubleRange
+{ after(grammarAccess.getPropertyFillerSignedDoubleRangeRule()); } 
+	 EOF 
+;
+
+// Rule PropertyFillerSignedDoubleRange
+rulePropertyFillerSignedDoubleRange
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getPropertyFillerSignedDoubleRangeAccess().getGroup()); }
+(rule__PropertyFillerSignedDoubleRange__Group__0)
+{ after(grammarAccess.getPropertyFillerSignedDoubleRangeAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRulePropertyFillerSignedDoubleRandom
+entryRulePropertyFillerSignedDoubleRandom 
+:
+{ before(grammarAccess.getPropertyFillerSignedDoubleRandomRule()); }
+	 rulePropertyFillerSignedDoubleRandom
+{ after(grammarAccess.getPropertyFillerSignedDoubleRandomRule()); } 
+	 EOF 
+;
+
+// Rule PropertyFillerSignedDoubleRandom
+rulePropertyFillerSignedDoubleRandom
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getPropertyFillerSignedDoubleRandomAccess().getGroup()); }
+(rule__PropertyFillerSignedDoubleRandom__Group__0)
+{ after(grammarAccess.getPropertyFillerSignedDoubleRandomAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRulePropertyFillerSignedIntegerRange
+entryRulePropertyFillerSignedIntegerRange 
+:
+{ before(grammarAccess.getPropertyFillerSignedIntegerRangeRule()); }
+	 rulePropertyFillerSignedIntegerRange
+{ after(grammarAccess.getPropertyFillerSignedIntegerRangeRule()); } 
+	 EOF 
+;
+
+// Rule PropertyFillerSignedIntegerRange
+rulePropertyFillerSignedIntegerRange
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getPropertyFillerSignedIntegerRangeAccess().getGroup()); }
+(rule__PropertyFillerSignedIntegerRange__Group__0)
+{ after(grammarAccess.getPropertyFillerSignedIntegerRangeAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRulePropertyFillerSignedIntegerRandom
+entryRulePropertyFillerSignedIntegerRandom 
+:
+{ before(grammarAccess.getPropertyFillerSignedIntegerRandomRule()); }
+	 rulePropertyFillerSignedIntegerRandom
+{ after(grammarAccess.getPropertyFillerSignedIntegerRandomRule()); } 
+	 EOF 
+;
+
+// Rule PropertyFillerSignedIntegerRandom
+rulePropertyFillerSignedIntegerRandom
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getPropertyFillerSignedIntegerRandomAccess().getGroup()); }
+(rule__PropertyFillerSignedIntegerRandom__Group__0)
+{ after(grammarAccess.getPropertyFillerSignedIntegerRandomAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRulePropertyFillerTextRandom
+entryRulePropertyFillerTextRandom 
+:
+{ before(grammarAccess.getPropertyFillerTextRandomRule()); }
+	 rulePropertyFillerTextRandom
+{ after(grammarAccess.getPropertyFillerTextRandomRule()); } 
+	 EOF 
+;
+
+// Rule PropertyFillerTextRandom
+rulePropertyFillerTextRandom
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getPropertyFillerTextRandomAccess().getGroup()); }
+(rule__PropertyFillerTextRandom__Group__0)
+{ after(grammarAccess.getPropertyFillerTextRandomAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRulePropertyFillerTextParagraphs
+entryRulePropertyFillerTextParagraphs 
+:
+{ before(grammarAccess.getPropertyFillerTextParagraphsRule()); }
+	 rulePropertyFillerTextParagraphs
+{ after(grammarAccess.getPropertyFillerTextParagraphsRule()); } 
+	 EOF 
+;
+
+// Rule PropertyFillerTextParagraphs
+rulePropertyFillerTextParagraphs
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getPropertyFillerTextParagraphsAccess().getGroup()); }
+(rule__PropertyFillerTextParagraphs__Group__0)
+{ after(grammarAccess.getPropertyFillerTextParagraphsAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRulePropertyFillerTextSentences
+entryRulePropertyFillerTextSentences 
+:
+{ before(grammarAccess.getPropertyFillerTextSentencesRule()); }
+	 rulePropertyFillerTextSentences
+{ after(grammarAccess.getPropertyFillerTextSentencesRule()); } 
+	 EOF 
+;
+
+// Rule PropertyFillerTextSentences
+rulePropertyFillerTextSentences
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getPropertyFillerTextSentencesAccess().getGroup()); }
+(rule__PropertyFillerTextSentences__Group__0)
+{ after(grammarAccess.getPropertyFillerTextSentencesAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRulePropertyFillerTextWords
+entryRulePropertyFillerTextWords 
+:
+{ before(grammarAccess.getPropertyFillerTextWordsRule()); }
+	 rulePropertyFillerTextWords
+{ after(grammarAccess.getPropertyFillerTextWordsRule()); } 
+	 EOF 
+;
+
+// Rule PropertyFillerTextWords
+rulePropertyFillerTextWords
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getPropertyFillerTextWordsAccess().getGroup()); }
+(rule__PropertyFillerTextWords__Group__0)
+{ after(grammarAccess.getPropertyFillerTextWordsAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRulePropertyFillerUnsignedDoubleRange
+entryRulePropertyFillerUnsignedDoubleRange 
+:
+{ before(grammarAccess.getPropertyFillerUnsignedDoubleRangeRule()); }
+	 rulePropertyFillerUnsignedDoubleRange
+{ after(grammarAccess.getPropertyFillerUnsignedDoubleRangeRule()); } 
+	 EOF 
+;
+
+// Rule PropertyFillerUnsignedDoubleRange
+rulePropertyFillerUnsignedDoubleRange
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getPropertyFillerUnsignedDoubleRangeAccess().getGroup()); }
+(rule__PropertyFillerUnsignedDoubleRange__Group__0)
+{ after(grammarAccess.getPropertyFillerUnsignedDoubleRangeAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRulePropertyFillerUnsignedDoubleRandom
+entryRulePropertyFillerUnsignedDoubleRandom 
+:
+{ before(grammarAccess.getPropertyFillerUnsignedDoubleRandomRule()); }
+	 rulePropertyFillerUnsignedDoubleRandom
+{ after(grammarAccess.getPropertyFillerUnsignedDoubleRandomRule()); } 
+	 EOF 
+;
+
+// Rule PropertyFillerUnsignedDoubleRandom
+rulePropertyFillerUnsignedDoubleRandom
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getPropertyFillerUnsignedDoubleRandomAccess().getGroup()); }
+(rule__PropertyFillerUnsignedDoubleRandom__Group__0)
+{ after(grammarAccess.getPropertyFillerUnsignedDoubleRandomAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRulePropertyFillerUnsignedIntegerRange
+entryRulePropertyFillerUnsignedIntegerRange 
+:
+{ before(grammarAccess.getPropertyFillerUnsignedIntegerRangeRule()); }
+	 rulePropertyFillerUnsignedIntegerRange
+{ after(grammarAccess.getPropertyFillerUnsignedIntegerRangeRule()); } 
+	 EOF 
+;
+
+// Rule PropertyFillerUnsignedIntegerRange
+rulePropertyFillerUnsignedIntegerRange
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getPropertyFillerUnsignedIntegerRangeAccess().getGroup()); }
+(rule__PropertyFillerUnsignedIntegerRange__Group__0)
+{ after(grammarAccess.getPropertyFillerUnsignedIntegerRangeAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRulePropertyFillerUnsignedIntegerRandom
+entryRulePropertyFillerUnsignedIntegerRandom 
+:
+{ before(grammarAccess.getPropertyFillerUnsignedIntegerRandomRule()); }
+	 rulePropertyFillerUnsignedIntegerRandom
+{ after(grammarAccess.getPropertyFillerUnsignedIntegerRandomRule()); } 
+	 EOF 
+;
+
+// Rule PropertyFillerUnsignedIntegerRandom
+rulePropertyFillerUnsignedIntegerRandom
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getPropertyFillerUnsignedIntegerRandomAccess().getGroup()); }
+(rule__PropertyFillerUnsignedIntegerRandom__Group__0)
+{ after(grammarAccess.getPropertyFillerUnsignedIntegerRandomAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleEntityMockDataType
+entryRuleEntityMockDataType 
+:
+{ before(grammarAccess.getEntityMockDataTypeRule()); }
+	 ruleEntityMockDataType
+{ after(grammarAccess.getEntityMockDataTypeRule()); } 
+	 EOF 
+;
+
+// Rule EntityMockDataType
+ruleEntityMockDataType
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getEntityMockDataTypeAccess().getGroup()); }
+(rule__EntityMockDataType__Group__0)
+{ after(grammarAccess.getEntityMockDataTypeAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleEntityMockEntities
+entryRuleEntityMockEntities 
+:
+{ before(grammarAccess.getEntityMockEntitiesRule()); }
+	 ruleEntityMockEntities
+{ after(grammarAccess.getEntityMockEntitiesRule()); } 
+	 EOF 
+;
+
+// Rule EntityMockEntities
+ruleEntityMockEntities
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getEntityMockEntitiesAccess().getGroup()); }
+(rule__EntityMockEntities__Group__0)
+{ after(grammarAccess.getEntityMockEntitiesAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleEntityMockEntity
+entryRuleEntityMockEntity 
+:
+{ before(grammarAccess.getEntityMockEntityRule()); }
+	 ruleEntityMockEntity
+{ after(grammarAccess.getEntityMockEntityRule()); } 
+	 EOF 
+;
+
+// Rule EntityMockEntity
+ruleEntityMockEntity
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getEntityMockEntityAccess().getGroup()); }
+(rule__EntityMockEntity__Group__0)
+{ after(grammarAccess.getEntityMockEntityAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleIIterate
+entryRuleIIterate 
+:
+{ before(grammarAccess.getIIterateRule()); }
+	 ruleIIterate
+{ after(grammarAccess.getIIterateRule()); } 
+	 EOF 
+;
+
+// Rule IIterate
+ruleIIterate
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getIIterateAccess().getAlternatives()); }
+(rule__IIterate__Alternatives)
+{ after(grammarAccess.getIIterateAccess().getAlternatives()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleIntegerIterate
+entryRuleIntegerIterate 
+:
+{ before(grammarAccess.getIntegerIterateRule()); }
+	 ruleIntegerIterate
+{ after(grammarAccess.getIntegerIterateRule()); } 
+	 EOF 
+;
+
+// Rule IntegerIterate
+ruleIntegerIterate
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getIntegerIterateAccess().getGroup()); }
+(rule__IntegerIterate__Group__0)
+{ after(grammarAccess.getIntegerIterateAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleDateIterate
+entryRuleDateIterate 
+:
+{ before(grammarAccess.getDateIterateRule()); }
+	 ruleDateIterate
+{ after(grammarAccess.getDateIterateRule()); } 
+	 EOF 
+;
+
+// Rule DateIterate
+ruleDateIterate
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getDateIterateAccess().getGroup()); }
+(rule__DateIterate__Group__0)
+{ after(grammarAccess.getDateIterateAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleDate
+entryRuleDate 
+:
+{ before(grammarAccess.getDateRule()); }
+	 ruleDate
+{ after(grammarAccess.getDateRule()); } 
+	 EOF 
+;
+
+// Rule Date
+ruleDate
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getDateAccess().getAlternatives()); }
+(rule__Date__Alternatives)
+{ after(grammarAccess.getDateAccess().getAlternatives()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleEntityMockByResourceAttribute
+entryRuleEntityMockByResourceAttribute 
+:
+{ before(grammarAccess.getEntityMockByResourceAttributeRule()); }
+	 ruleEntityMockByResourceAttribute
+{ after(grammarAccess.getEntityMockByResourceAttributeRule()); } 
+	 EOF 
+;
+
+// Rule EntityMockByResourceAttribute
+ruleEntityMockByResourceAttribute
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getEntityMockByResourceAttributeAccess().getGroup()); }
+(rule__EntityMockByResourceAttribute__Group__0)
+{ after(grammarAccess.getEntityMockByResourceAttributeAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleEntityMockTemporary
+entryRuleEntityMockTemporary 
+:
+{ before(grammarAccess.getEntityMockTemporaryRule()); }
+	 ruleEntityMockTemporary
+{ after(grammarAccess.getEntityMockTemporaryRule()); } 
+	 EOF 
+;
+
+// Rule EntityMockTemporary
+ruleEntityMockTemporary
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getEntityMockTemporaryAccess().getGroup()); }
+(rule__EntityMockTemporary__Group__0)
+{ after(grammarAccess.getEntityMockTemporaryAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+// Entry rule entryRuleIEntityMockAttribute
+entryRuleIEntityMockAttribute 
+:
+{ before(grammarAccess.getIEntityMockAttributeRule()); }
+	 ruleIEntityMockAttribute
+{ after(grammarAccess.getIEntityMockAttributeRule()); } 
+	 EOF 
+;
+
+// Rule IEntityMockAttribute
+ruleIEntityMockAttribute
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getIEntityMockAttributeAccess().getAlternatives()); }
+(rule__IEntityMockAttribute__Alternatives)
+{ after(grammarAccess.getIEntityMockAttributeAccess().getAlternatives()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleEntityMockEntityFunction
+entryRuleEntityMockEntityFunction 
+:
+{ before(grammarAccess.getEntityMockEntityFunctionRule()); }
+	 ruleEntityMockEntityFunction
+{ after(grammarAccess.getEntityMockEntityFunctionRule()); } 
+	 EOF 
+;
+
+// Rule EntityMockEntityFunction
+ruleEntityMockEntityFunction
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getEntityMockEntityFunctionAccess().getGroup()); }
+(rule__EntityMockEntityFunction__Group__0)
+{ after(grammarAccess.getEntityMockEntityFunctionAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleEntityMockEntityFunctionParameter
+entryRuleEntityMockEntityFunctionParameter 
+:
+{ before(grammarAccess.getEntityMockEntityFunctionParameterRule()); }
+	 ruleEntityMockEntityFunctionParameter
+{ after(grammarAccess.getEntityMockEntityFunctionParameterRule()); } 
+	 EOF 
+;
+
+// Rule EntityMockEntityFunctionParameter
+ruleEntityMockEntityFunctionParameter
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getEntityMockEntityFunctionParameterAccess().getAlternatives()); }
+(rule__EntityMockEntityFunctionParameter__Alternatives)
+{ after(grammarAccess.getEntityMockEntityFunctionParameterAccess().getAlternatives()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleEntityMockReferencedObjectAttribute
+entryRuleEntityMockReferencedObjectAttribute 
+:
+{ before(grammarAccess.getEntityMockReferencedObjectAttributeRule()); }
+	 ruleEntityMockReferencedObjectAttribute
+{ after(grammarAccess.getEntityMockReferencedObjectAttributeRule()); } 
+	 EOF 
+;
+
+// Rule EntityMockReferencedObjectAttribute
+ruleEntityMockReferencedObjectAttribute
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getEntityMockReferencedObjectAttributeAccess().getGroup()); }
+(rule__EntityMockReferencedObjectAttribute__Group__0)
+{ after(grammarAccess.getEntityMockReferencedObjectAttributeAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleEntityMockAttributeByObject
+entryRuleEntityMockAttributeByObject 
+:
+{ before(grammarAccess.getEntityMockAttributeByObjectRule()); }
+	 ruleEntityMockAttributeByObject
+{ after(grammarAccess.getEntityMockAttributeByObjectRule()); } 
+	 EOF 
+;
+
+// Rule EntityMockAttributeByObject
+ruleEntityMockAttributeByObject
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getEntityMockAttributeByObjectAccess().getAlternatives()); }
+(rule__EntityMockAttributeByObject__Alternatives)
+{ after(grammarAccess.getEntityMockAttributeByObjectAccess().getAlternatives()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleEntityMockAttributeFiller
+entryRuleEntityMockAttributeFiller 
+:
+{ before(grammarAccess.getEntityMockAttributeFillerRule()); }
+	 ruleEntityMockAttributeFiller
+{ after(grammarAccess.getEntityMockAttributeFillerRule()); } 
+	 EOF 
+;
+
+// Rule EntityMockAttributeFiller
+ruleEntityMockAttributeFiller
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getEntityMockAttributeFillerAccess().getGroup()); }
+(rule__EntityMockAttributeFiller__Group__0)
+{ after(grammarAccess.getEntityMockAttributeFillerAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleEntityMockAttributeByReference
+entryRuleEntityMockAttributeByReference 
+:
+{ before(grammarAccess.getEntityMockAttributeByReferenceRule()); }
+	 ruleEntityMockAttributeByReference
+{ after(grammarAccess.getEntityMockAttributeByReferenceRule()); } 
+	 EOF 
+;
+
+// Rule EntityMockAttributeByReference
+ruleEntityMockAttributeByReference
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getEntityMockAttributeByReferenceAccess().getGroup()); }
+(rule__EntityMockAttributeByReference__Group__0)
+{ after(grammarAccess.getEntityMockAttributeByReferenceAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleSignedNumber
+entryRuleSignedNumber 
+:
+{ before(grammarAccess.getSignedNumberRule()); }
+	 ruleSignedNumber
+{ after(grammarAccess.getSignedNumberRule()); } 
+	 EOF 
+;
+
+// Rule SignedNumber
+ruleSignedNumber
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getSignedNumberAccess().getGroup()); }
+(rule__SignedNumber__Group__0)
+{ after(grammarAccess.getSignedNumberAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleUnsignedNumber
+entryRuleUnsignedNumber 
+:
+{ before(grammarAccess.getUnsignedNumberRule()); }
+	 ruleUnsignedNumber
+{ after(grammarAccess.getUnsignedNumberRule()); } 
+	 EOF 
+;
+
+// Rule UnsignedNumber
+ruleUnsignedNumber
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getUnsignedNumberAccess().getGroup()); }
+(rule__UnsignedNumber__Group__0)
+{ after(grammarAccess.getUnsignedNumberAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleSINT
+entryRuleSINT 
+:
+{ before(grammarAccess.getSINTRule()); }
+	 ruleSINT
+{ after(grammarAccess.getSINTRule()); } 
+	 EOF 
+;
+
+// Rule SINT
+ruleSINT
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getSINTAccess().getGroup()); }
+(rule__SINT__Group__0)
+{ after(grammarAccess.getSINTAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleQualifiedName
+entryRuleQualifiedName 
+:
+{ before(grammarAccess.getQualifiedNameRule()); }
+	 ruleQualifiedName
+{ after(grammarAccess.getQualifiedNameRule()); } 
+	 EOF 
+;
+
+// Rule QualifiedName
+ruleQualifiedName
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getQualifiedNameAccess().getGroup()); }
+(rule__QualifiedName__Group__0)
+{ after(grammarAccess.getQualifiedNameAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleValidID
+entryRuleValidID 
+:
+{ before(grammarAccess.getValidIDRule()); }
+	 ruleValidID
+{ after(grammarAccess.getValidIDRule()); } 
+	 EOF 
+;
+
+// Rule ValidID
+ruleValidID
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getValidIDAccess().getIDTerminalRuleCall()); }
+	RULE_ID
+{ after(grammarAccess.getValidIDAccess().getIDTerminalRuleCall()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXAnnotation
+entryRuleXAnnotation 
+:
+{ before(grammarAccess.getXAnnotationRule()); }
+	 ruleXAnnotation
+{ after(grammarAccess.getXAnnotationRule()); } 
+	 EOF 
+;
+
+// Rule XAnnotation
+ruleXAnnotation
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getXAnnotationAccess().getGroup()); }
+(rule__XAnnotation__Group__0)
+{ after(grammarAccess.getXAnnotationAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXAnnotationElementValuePair
+entryRuleXAnnotationElementValuePair 
+:
+{ before(grammarAccess.getXAnnotationElementValuePairRule()); }
+	 ruleXAnnotationElementValuePair
+{ after(grammarAccess.getXAnnotationElementValuePairRule()); } 
+	 EOF 
+;
+
+// Rule XAnnotationElementValuePair
+ruleXAnnotationElementValuePair
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getXAnnotationElementValuePairAccess().getGroup()); }
+(rule__XAnnotationElementValuePair__Group__0)
+{ after(grammarAccess.getXAnnotationElementValuePairAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXAnnotationElementValueOrCommaList
+entryRuleXAnnotationElementValueOrCommaList 
+:
+{ before(grammarAccess.getXAnnotationElementValueOrCommaListRule()); }
+	 ruleXAnnotationElementValueOrCommaList
+{ after(grammarAccess.getXAnnotationElementValueOrCommaListRule()); } 
+	 EOF 
+;
+
+// Rule XAnnotationElementValueOrCommaList
+ruleXAnnotationElementValueOrCommaList
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getAlternatives()); }
+(rule__XAnnotationElementValueOrCommaList__Alternatives)
+{ after(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getAlternatives()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXAnnotationElementValue
+entryRuleXAnnotationElementValue 
+:
+{ before(grammarAccess.getXAnnotationElementValueRule()); }
+	 ruleXAnnotationElementValue
+{ after(grammarAccess.getXAnnotationElementValueRule()); } 
+	 EOF 
+;
+
+// Rule XAnnotationElementValue
+ruleXAnnotationElementValue
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getXAnnotationElementValueAccess().getAlternatives()); }
+(rule__XAnnotationElementValue__Alternatives)
+{ after(grammarAccess.getXAnnotationElementValueAccess().getAlternatives()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXAnnotationOrExpression
+entryRuleXAnnotationOrExpression 
+:
+{ before(grammarAccess.getXAnnotationOrExpressionRule()); }
+	 ruleXAnnotationOrExpression
+{ after(grammarAccess.getXAnnotationOrExpressionRule()); } 
+	 EOF 
+;
+
+// Rule XAnnotationOrExpression
+ruleXAnnotationOrExpression
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getXAnnotationOrExpressionAccess().getAlternatives()); }
+(rule__XAnnotationOrExpression__Alternatives)
+{ after(grammarAccess.getXAnnotationOrExpressionAccess().getAlternatives()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXExpression
+entryRuleXExpression 
+:
+{ before(grammarAccess.getXExpressionRule()); }
+	 ruleXExpression
+{ after(grammarAccess.getXExpressionRule()); } 
+	 EOF 
+;
+
+// Rule XExpression
+ruleXExpression
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getXExpressionAccess().getXAssignmentParserRuleCall()); }
+	ruleXAssignment
+{ after(grammarAccess.getXExpressionAccess().getXAssignmentParserRuleCall()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXAssignment
+entryRuleXAssignment 
+:
+{ before(grammarAccess.getXAssignmentRule()); }
+	 ruleXAssignment
+{ after(grammarAccess.getXAssignmentRule()); } 
+	 EOF 
+;
+
+// Rule XAssignment
+ruleXAssignment
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getXAssignmentAccess().getAlternatives()); }
+(rule__XAssignment__Alternatives)
+{ after(grammarAccess.getXAssignmentAccess().getAlternatives()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleOpSingleAssign
+entryRuleOpSingleAssign 
+:
+{ before(grammarAccess.getOpSingleAssignRule()); }
+	 ruleOpSingleAssign
+{ after(grammarAccess.getOpSingleAssignRule()); } 
+	 EOF 
+;
+
+// Rule OpSingleAssign
+ruleOpSingleAssign
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getOpSingleAssignAccess().getEqualsSignKeyword()); }
+
+	'=' 
+
+{ after(grammarAccess.getOpSingleAssignAccess().getEqualsSignKeyword()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleOpMultiAssign
+entryRuleOpMultiAssign 
+:
+{ before(grammarAccess.getOpMultiAssignRule()); }
+	 ruleOpMultiAssign
+{ after(grammarAccess.getOpMultiAssignRule()); } 
+	 EOF 
+;
+
+// Rule OpMultiAssign
+ruleOpMultiAssign
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getOpMultiAssignAccess().getAlternatives()); }
+(rule__OpMultiAssign__Alternatives)
+{ after(grammarAccess.getOpMultiAssignAccess().getAlternatives()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXOrExpression
+entryRuleXOrExpression 
+:
+{ before(grammarAccess.getXOrExpressionRule()); }
+	 ruleXOrExpression
+{ after(grammarAccess.getXOrExpressionRule()); } 
+	 EOF 
+;
+
+// Rule XOrExpression
+ruleXOrExpression
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getXOrExpressionAccess().getGroup()); }
+(rule__XOrExpression__Group__0)
+{ after(grammarAccess.getXOrExpressionAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleOpOr
+entryRuleOpOr 
+:
+{ before(grammarAccess.getOpOrRule()); }
+	 ruleOpOr
+{ after(grammarAccess.getOpOrRule()); } 
+	 EOF 
+;
+
+// Rule OpOr
+ruleOpOr
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getOpOrAccess().getVerticalLineVerticalLineKeyword()); }
+
+	'||' 
+
+{ after(grammarAccess.getOpOrAccess().getVerticalLineVerticalLineKeyword()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXAndExpression
+entryRuleXAndExpression 
+:
+{ before(grammarAccess.getXAndExpressionRule()); }
+	 ruleXAndExpression
+{ after(grammarAccess.getXAndExpressionRule()); } 
+	 EOF 
+;
+
+// Rule XAndExpression
+ruleXAndExpression
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getXAndExpressionAccess().getGroup()); }
+(rule__XAndExpression__Group__0)
+{ after(grammarAccess.getXAndExpressionAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleOpAnd
+entryRuleOpAnd 
+:
+{ before(grammarAccess.getOpAndRule()); }
+	 ruleOpAnd
+{ after(grammarAccess.getOpAndRule()); } 
+	 EOF 
+;
+
+// Rule OpAnd
+ruleOpAnd
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getOpAndAccess().getAmpersandAmpersandKeyword()); }
+
+	'&&' 
+
+{ after(grammarAccess.getOpAndAccess().getAmpersandAmpersandKeyword()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXEqualityExpression
+entryRuleXEqualityExpression 
+:
+{ before(grammarAccess.getXEqualityExpressionRule()); }
+	 ruleXEqualityExpression
+{ after(grammarAccess.getXEqualityExpressionRule()); } 
+	 EOF 
+;
+
+// Rule XEqualityExpression
+ruleXEqualityExpression
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getXEqualityExpressionAccess().getGroup()); }
+(rule__XEqualityExpression__Group__0)
+{ after(grammarAccess.getXEqualityExpressionAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleOpEquality
+entryRuleOpEquality 
+:
+{ before(grammarAccess.getOpEqualityRule()); }
+	 ruleOpEquality
+{ after(grammarAccess.getOpEqualityRule()); } 
+	 EOF 
+;
+
+// Rule OpEquality
+ruleOpEquality
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getOpEqualityAccess().getAlternatives()); }
+(rule__OpEquality__Alternatives)
+{ after(grammarAccess.getOpEqualityAccess().getAlternatives()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXRelationalExpression
+entryRuleXRelationalExpression 
+:
+{ before(grammarAccess.getXRelationalExpressionRule()); }
+	 ruleXRelationalExpression
+{ after(grammarAccess.getXRelationalExpressionRule()); } 
+	 EOF 
+;
+
+// Rule XRelationalExpression
+ruleXRelationalExpression
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getXRelationalExpressionAccess().getGroup()); }
+(rule__XRelationalExpression__Group__0)
+{ after(grammarAccess.getXRelationalExpressionAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleOpCompare
+entryRuleOpCompare 
+:
+{ before(grammarAccess.getOpCompareRule()); }
+	 ruleOpCompare
+{ after(grammarAccess.getOpCompareRule()); } 
+	 EOF 
+;
+
+// Rule OpCompare
+ruleOpCompare
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getOpCompareAccess().getAlternatives()); }
+(rule__OpCompare__Alternatives)
+{ after(grammarAccess.getOpCompareAccess().getAlternatives()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXOtherOperatorExpression
+entryRuleXOtherOperatorExpression 
+:
+{ before(grammarAccess.getXOtherOperatorExpressionRule()); }
+	 ruleXOtherOperatorExpression
+{ after(grammarAccess.getXOtherOperatorExpressionRule()); } 
+	 EOF 
+;
+
+// Rule XOtherOperatorExpression
+ruleXOtherOperatorExpression
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getXOtherOperatorExpressionAccess().getGroup()); }
+(rule__XOtherOperatorExpression__Group__0)
+{ after(grammarAccess.getXOtherOperatorExpressionAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleOpOther
+entryRuleOpOther 
+:
+{ before(grammarAccess.getOpOtherRule()); }
+	 ruleOpOther
+{ after(grammarAccess.getOpOtherRule()); } 
+	 EOF 
+;
+
+// Rule OpOther
+ruleOpOther
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getOpOtherAccess().getAlternatives()); }
+(rule__OpOther__Alternatives)
+{ after(grammarAccess.getOpOtherAccess().getAlternatives()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXAdditiveExpression
+entryRuleXAdditiveExpression 
+:
+{ before(grammarAccess.getXAdditiveExpressionRule()); }
+	 ruleXAdditiveExpression
+{ after(grammarAccess.getXAdditiveExpressionRule()); } 
+	 EOF 
+;
+
+// Rule XAdditiveExpression
+ruleXAdditiveExpression
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getXAdditiveExpressionAccess().getGroup()); }
+(rule__XAdditiveExpression__Group__0)
+{ after(grammarAccess.getXAdditiveExpressionAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleOpAdd
+entryRuleOpAdd 
+:
+{ before(grammarAccess.getOpAddRule()); }
+	 ruleOpAdd
+{ after(grammarAccess.getOpAddRule()); } 
+	 EOF 
+;
+
+// Rule OpAdd
+ruleOpAdd
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getOpAddAccess().getAlternatives()); }
+(rule__OpAdd__Alternatives)
+{ after(grammarAccess.getOpAddAccess().getAlternatives()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXMultiplicativeExpression
+entryRuleXMultiplicativeExpression 
+:
+{ before(grammarAccess.getXMultiplicativeExpressionRule()); }
+	 ruleXMultiplicativeExpression
+{ after(grammarAccess.getXMultiplicativeExpressionRule()); } 
+	 EOF 
+;
+
+// Rule XMultiplicativeExpression
+ruleXMultiplicativeExpression
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getXMultiplicativeExpressionAccess().getGroup()); }
+(rule__XMultiplicativeExpression__Group__0)
+{ after(grammarAccess.getXMultiplicativeExpressionAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleOpMulti
+entryRuleOpMulti 
+:
+{ before(grammarAccess.getOpMultiRule()); }
+	 ruleOpMulti
+{ after(grammarAccess.getOpMultiRule()); } 
+	 EOF 
+;
+
+// Rule OpMulti
+ruleOpMulti
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getOpMultiAccess().getAlternatives()); }
+(rule__OpMulti__Alternatives)
+{ after(grammarAccess.getOpMultiAccess().getAlternatives()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXUnaryOperation
+entryRuleXUnaryOperation 
+:
+{ before(grammarAccess.getXUnaryOperationRule()); }
+	 ruleXUnaryOperation
+{ after(grammarAccess.getXUnaryOperationRule()); } 
+	 EOF 
+;
+
+// Rule XUnaryOperation
+ruleXUnaryOperation
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getXUnaryOperationAccess().getAlternatives()); }
+(rule__XUnaryOperation__Alternatives)
+{ after(grammarAccess.getXUnaryOperationAccess().getAlternatives()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleOpUnary
+entryRuleOpUnary 
+:
+{ before(grammarAccess.getOpUnaryRule()); }
+	 ruleOpUnary
+{ after(grammarAccess.getOpUnaryRule()); } 
+	 EOF 
+;
+
+// Rule OpUnary
+ruleOpUnary
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getOpUnaryAccess().getAlternatives()); }
+(rule__OpUnary__Alternatives)
+{ after(grammarAccess.getOpUnaryAccess().getAlternatives()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXCastedExpression
+entryRuleXCastedExpression 
+:
+{ before(grammarAccess.getXCastedExpressionRule()); }
+	 ruleXCastedExpression
+{ after(grammarAccess.getXCastedExpressionRule()); } 
+	 EOF 
+;
+
+// Rule XCastedExpression
+ruleXCastedExpression
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getXCastedExpressionAccess().getGroup()); }
+(rule__XCastedExpression__Group__0)
+{ after(grammarAccess.getXCastedExpressionAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXPostfixOperation
+entryRuleXPostfixOperation 
+:
+{ before(grammarAccess.getXPostfixOperationRule()); }
+	 ruleXPostfixOperation
+{ after(grammarAccess.getXPostfixOperationRule()); } 
+	 EOF 
+;
+
+// Rule XPostfixOperation
+ruleXPostfixOperation
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getXPostfixOperationAccess().getGroup()); }
+(rule__XPostfixOperation__Group__0)
+{ after(grammarAccess.getXPostfixOperationAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleOpPostfix
+entryRuleOpPostfix 
+:
+{ before(grammarAccess.getOpPostfixRule()); }
+	 ruleOpPostfix
+{ after(grammarAccess.getOpPostfixRule()); } 
+	 EOF 
+;
+
+// Rule OpPostfix
+ruleOpPostfix
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getOpPostfixAccess().getAlternatives()); }
+(rule__OpPostfix__Alternatives)
+{ after(grammarAccess.getOpPostfixAccess().getAlternatives()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXMemberFeatureCall
+entryRuleXMemberFeatureCall 
+:
+{ before(grammarAccess.getXMemberFeatureCallRule()); }
+	 ruleXMemberFeatureCall
+{ after(grammarAccess.getXMemberFeatureCallRule()); } 
+	 EOF 
+;
+
+// Rule XMemberFeatureCall
+ruleXMemberFeatureCall
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getXMemberFeatureCallAccess().getGroup()); }
+(rule__XMemberFeatureCall__Group__0)
+{ after(grammarAccess.getXMemberFeatureCallAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXPrimaryExpression
+entryRuleXPrimaryExpression 
+:
+{ before(grammarAccess.getXPrimaryExpressionRule()); }
+	 ruleXPrimaryExpression
+{ after(grammarAccess.getXPrimaryExpressionRule()); } 
+	 EOF 
+;
+
+// Rule XPrimaryExpression
+ruleXPrimaryExpression
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getXPrimaryExpressionAccess().getAlternatives()); }
+(rule__XPrimaryExpression__Alternatives)
+{ after(grammarAccess.getXPrimaryExpressionAccess().getAlternatives()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXLiteral
+entryRuleXLiteral 
+:
+{ before(grammarAccess.getXLiteralRule()); }
+	 ruleXLiteral
+{ after(grammarAccess.getXLiteralRule()); } 
+	 EOF 
+;
+
+// Rule XLiteral
+ruleXLiteral
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getXLiteralAccess().getAlternatives()); }
+(rule__XLiteral__Alternatives)
+{ after(grammarAccess.getXLiteralAccess().getAlternatives()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXCollectionLiteral
+entryRuleXCollectionLiteral 
+:
+{ before(grammarAccess.getXCollectionLiteralRule()); }
+	 ruleXCollectionLiteral
+{ after(grammarAccess.getXCollectionLiteralRule()); } 
+	 EOF 
+;
+
+// Rule XCollectionLiteral
+ruleXCollectionLiteral
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getXCollectionLiteralAccess().getAlternatives()); }
+(rule__XCollectionLiteral__Alternatives)
+{ after(grammarAccess.getXCollectionLiteralAccess().getAlternatives()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXSetLiteral
+entryRuleXSetLiteral 
+:
+{ before(grammarAccess.getXSetLiteralRule()); }
+	 ruleXSetLiteral
+{ after(grammarAccess.getXSetLiteralRule()); } 
+	 EOF 
+;
+
+// Rule XSetLiteral
+ruleXSetLiteral
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getXSetLiteralAccess().getGroup()); }
+(rule__XSetLiteral__Group__0)
+{ after(grammarAccess.getXSetLiteralAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXListLiteral
+entryRuleXListLiteral 
+:
+{ before(grammarAccess.getXListLiteralRule()); }
+	 ruleXListLiteral
+{ after(grammarAccess.getXListLiteralRule()); } 
+	 EOF 
+;
+
+// Rule XListLiteral
+ruleXListLiteral
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getXListLiteralAccess().getGroup()); }
+(rule__XListLiteral__Group__0)
+{ after(grammarAccess.getXListLiteralAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXClosure
+entryRuleXClosure 
+:
+{ before(grammarAccess.getXClosureRule()); }
+	 ruleXClosure
+{ after(grammarAccess.getXClosureRule()); } 
+	 EOF 
+;
+
+// Rule XClosure
+ruleXClosure
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getXClosureAccess().getGroup()); }
+(rule__XClosure__Group__0)
+{ after(grammarAccess.getXClosureAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXExpressionInClosure
+entryRuleXExpressionInClosure 
+:
+{ before(grammarAccess.getXExpressionInClosureRule()); }
+	 ruleXExpressionInClosure
+{ after(grammarAccess.getXExpressionInClosureRule()); } 
+	 EOF 
+;
+
+// Rule XExpressionInClosure
+ruleXExpressionInClosure
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getXExpressionInClosureAccess().getGroup()); }
+(rule__XExpressionInClosure__Group__0)
+{ after(grammarAccess.getXExpressionInClosureAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXShortClosure
+entryRuleXShortClosure 
+:
+{ before(grammarAccess.getXShortClosureRule()); }
+	 ruleXShortClosure
+{ after(grammarAccess.getXShortClosureRule()); } 
+	 EOF 
+;
+
+// Rule XShortClosure
+ruleXShortClosure
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getXShortClosureAccess().getGroup()); }
+(rule__XShortClosure__Group__0)
+{ after(grammarAccess.getXShortClosureAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXParenthesizedExpression
+entryRuleXParenthesizedExpression 
+:
+{ before(grammarAccess.getXParenthesizedExpressionRule()); }
+	 ruleXParenthesizedExpression
+{ after(grammarAccess.getXParenthesizedExpressionRule()); } 
+	 EOF 
+;
+
+// Rule XParenthesizedExpression
+ruleXParenthesizedExpression
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getXParenthesizedExpressionAccess().getGroup()); }
+(rule__XParenthesizedExpression__Group__0)
+{ after(grammarAccess.getXParenthesizedExpressionAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXIfExpression
+entryRuleXIfExpression 
+:
+{ before(grammarAccess.getXIfExpressionRule()); }
+	 ruleXIfExpression
+{ after(grammarAccess.getXIfExpressionRule()); } 
+	 EOF 
+;
+
+// Rule XIfExpression
+ruleXIfExpression
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getXIfExpressionAccess().getGroup()); }
+(rule__XIfExpression__Group__0)
+{ after(grammarAccess.getXIfExpressionAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXSwitchExpression
+entryRuleXSwitchExpression 
+:
+{ before(grammarAccess.getXSwitchExpressionRule()); }
+	 ruleXSwitchExpression
+{ after(grammarAccess.getXSwitchExpressionRule()); } 
+	 EOF 
+;
+
+// Rule XSwitchExpression
+ruleXSwitchExpression
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getXSwitchExpressionAccess().getGroup()); }
+(rule__XSwitchExpression__Group__0)
+{ after(grammarAccess.getXSwitchExpressionAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXCasePart
+entryRuleXCasePart 
+:
+{ before(grammarAccess.getXCasePartRule()); }
+	 ruleXCasePart
+{ after(grammarAccess.getXCasePartRule()); } 
+	 EOF 
+;
+
+// Rule XCasePart
+ruleXCasePart
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getXCasePartAccess().getGroup()); }
+(rule__XCasePart__Group__0)
+{ after(grammarAccess.getXCasePartAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXForLoopExpression
+entryRuleXForLoopExpression 
+:
+{ before(grammarAccess.getXForLoopExpressionRule()); }
+	 ruleXForLoopExpression
+{ after(grammarAccess.getXForLoopExpressionRule()); } 
+	 EOF 
+;
+
+// Rule XForLoopExpression
+ruleXForLoopExpression
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getXForLoopExpressionAccess().getGroup()); }
+(rule__XForLoopExpression__Group__0)
+{ after(grammarAccess.getXForLoopExpressionAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXBasicForLoopExpression
+entryRuleXBasicForLoopExpression 
+:
+{ before(grammarAccess.getXBasicForLoopExpressionRule()); }
+	 ruleXBasicForLoopExpression
+{ after(grammarAccess.getXBasicForLoopExpressionRule()); } 
+	 EOF 
+;
+
+// Rule XBasicForLoopExpression
+ruleXBasicForLoopExpression
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getXBasicForLoopExpressionAccess().getGroup()); }
+(rule__XBasicForLoopExpression__Group__0)
+{ after(grammarAccess.getXBasicForLoopExpressionAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXWhileExpression
+entryRuleXWhileExpression 
+:
+{ before(grammarAccess.getXWhileExpressionRule()); }
+	 ruleXWhileExpression
+{ after(grammarAccess.getXWhileExpressionRule()); } 
+	 EOF 
+;
+
+// Rule XWhileExpression
+ruleXWhileExpression
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getXWhileExpressionAccess().getGroup()); }
+(rule__XWhileExpression__Group__0)
+{ after(grammarAccess.getXWhileExpressionAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXDoWhileExpression
+entryRuleXDoWhileExpression 
+:
+{ before(grammarAccess.getXDoWhileExpressionRule()); }
+	 ruleXDoWhileExpression
+{ after(grammarAccess.getXDoWhileExpressionRule()); } 
+	 EOF 
+;
+
+// Rule XDoWhileExpression
+ruleXDoWhileExpression
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getXDoWhileExpressionAccess().getGroup()); }
+(rule__XDoWhileExpression__Group__0)
+{ after(grammarAccess.getXDoWhileExpressionAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXBlockExpression
+entryRuleXBlockExpression 
+:
+{ before(grammarAccess.getXBlockExpressionRule()); }
+	 ruleXBlockExpression
+{ after(grammarAccess.getXBlockExpressionRule()); } 
+	 EOF 
+;
+
+// Rule XBlockExpression
+ruleXBlockExpression
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getXBlockExpressionAccess().getGroup()); }
+(rule__XBlockExpression__Group__0)
+{ after(grammarAccess.getXBlockExpressionAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXExpressionOrVarDeclaration
+entryRuleXExpressionOrVarDeclaration 
+:
+{ before(grammarAccess.getXExpressionOrVarDeclarationRule()); }
+	 ruleXExpressionOrVarDeclaration
+{ after(grammarAccess.getXExpressionOrVarDeclarationRule()); } 
+	 EOF 
+;
+
+// Rule XExpressionOrVarDeclaration
+ruleXExpressionOrVarDeclaration
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getXExpressionOrVarDeclarationAccess().getAlternatives()); }
+(rule__XExpressionOrVarDeclaration__Alternatives)
+{ after(grammarAccess.getXExpressionOrVarDeclarationAccess().getAlternatives()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXVariableDeclaration
+entryRuleXVariableDeclaration 
+:
+{ before(grammarAccess.getXVariableDeclarationRule()); }
+	 ruleXVariableDeclaration
+{ after(grammarAccess.getXVariableDeclarationRule()); } 
+	 EOF 
+;
+
+// Rule XVariableDeclaration
+ruleXVariableDeclaration
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getXVariableDeclarationAccess().getGroup()); }
+(rule__XVariableDeclaration__Group__0)
+{ after(grammarAccess.getXVariableDeclarationAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleJvmFormalParameter
+entryRuleJvmFormalParameter 
+:
+{ before(grammarAccess.getJvmFormalParameterRule()); }
+	 ruleJvmFormalParameter
+{ after(grammarAccess.getJvmFormalParameterRule()); } 
+	 EOF 
+;
+
+// Rule JvmFormalParameter
+ruleJvmFormalParameter
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getJvmFormalParameterAccess().getGroup()); }
+(rule__JvmFormalParameter__Group__0)
+{ after(grammarAccess.getJvmFormalParameterAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleFullJvmFormalParameter
+entryRuleFullJvmFormalParameter 
+:
+{ before(grammarAccess.getFullJvmFormalParameterRule()); }
+	 ruleFullJvmFormalParameter
+{ after(grammarAccess.getFullJvmFormalParameterRule()); } 
+	 EOF 
+;
+
+// Rule FullJvmFormalParameter
+ruleFullJvmFormalParameter
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getFullJvmFormalParameterAccess().getGroup()); }
+(rule__FullJvmFormalParameter__Group__0)
+{ after(grammarAccess.getFullJvmFormalParameterAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXFeatureCall
+entryRuleXFeatureCall 
+:
+{ before(grammarAccess.getXFeatureCallRule()); }
+	 ruleXFeatureCall
+{ after(grammarAccess.getXFeatureCallRule()); } 
+	 EOF 
+;
+
+// Rule XFeatureCall
+ruleXFeatureCall
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getXFeatureCallAccess().getGroup()); }
+(rule__XFeatureCall__Group__0)
+{ after(grammarAccess.getXFeatureCallAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleFeatureCallID
+entryRuleFeatureCallID 
+:
+{ before(grammarAccess.getFeatureCallIDRule()); }
+	 ruleFeatureCallID
+{ after(grammarAccess.getFeatureCallIDRule()); } 
+	 EOF 
+;
+
+// Rule FeatureCallID
+ruleFeatureCallID
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getFeatureCallIDAccess().getAlternatives()); }
+(rule__FeatureCallID__Alternatives)
+{ after(grammarAccess.getFeatureCallIDAccess().getAlternatives()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleIdOrSuper
+entryRuleIdOrSuper 
+:
+{ before(grammarAccess.getIdOrSuperRule()); }
+	 ruleIdOrSuper
+{ after(grammarAccess.getIdOrSuperRule()); } 
+	 EOF 
+;
+
+// Rule IdOrSuper
+ruleIdOrSuper
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getIdOrSuperAccess().getAlternatives()); }
+(rule__IdOrSuper__Alternatives)
+{ after(grammarAccess.getIdOrSuperAccess().getAlternatives()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXConstructorCall
+entryRuleXConstructorCall 
+:
+{ before(grammarAccess.getXConstructorCallRule()); }
+	 ruleXConstructorCall
+{ after(grammarAccess.getXConstructorCallRule()); } 
+	 EOF 
+;
+
+// Rule XConstructorCall
+ruleXConstructorCall
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getXConstructorCallAccess().getGroup()); }
+(rule__XConstructorCall__Group__0)
+{ after(grammarAccess.getXConstructorCallAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXBooleanLiteral
+entryRuleXBooleanLiteral 
+:
+{ before(grammarAccess.getXBooleanLiteralRule()); }
+	 ruleXBooleanLiteral
+{ after(grammarAccess.getXBooleanLiteralRule()); } 
+	 EOF 
+;
+
+// Rule XBooleanLiteral
+ruleXBooleanLiteral
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getXBooleanLiteralAccess().getGroup()); }
+(rule__XBooleanLiteral__Group__0)
+{ after(grammarAccess.getXBooleanLiteralAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXNullLiteral
+entryRuleXNullLiteral 
+:
+{ before(grammarAccess.getXNullLiteralRule()); }
+	 ruleXNullLiteral
+{ after(grammarAccess.getXNullLiteralRule()); } 
+	 EOF 
+;
+
+// Rule XNullLiteral
+ruleXNullLiteral
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getXNullLiteralAccess().getGroup()); }
+(rule__XNullLiteral__Group__0)
+{ after(grammarAccess.getXNullLiteralAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXNumberLiteral
+entryRuleXNumberLiteral 
+:
+{ before(grammarAccess.getXNumberLiteralRule()); }
+	 ruleXNumberLiteral
+{ after(grammarAccess.getXNumberLiteralRule()); } 
+	 EOF 
+;
+
+// Rule XNumberLiteral
+ruleXNumberLiteral
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getXNumberLiteralAccess().getGroup()); }
+(rule__XNumberLiteral__Group__0)
+{ after(grammarAccess.getXNumberLiteralAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXStringLiteral
+entryRuleXStringLiteral 
+:
+{ before(grammarAccess.getXStringLiteralRule()); }
+	 ruleXStringLiteral
+{ after(grammarAccess.getXStringLiteralRule()); } 
+	 EOF 
+;
+
+// Rule XStringLiteral
+ruleXStringLiteral
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getXStringLiteralAccess().getGroup()); }
+(rule__XStringLiteral__Group__0)
+{ after(grammarAccess.getXStringLiteralAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXTypeLiteral
+entryRuleXTypeLiteral 
+:
+{ before(grammarAccess.getXTypeLiteralRule()); }
+	 ruleXTypeLiteral
+{ after(grammarAccess.getXTypeLiteralRule()); } 
+	 EOF 
+;
+
+// Rule XTypeLiteral
+ruleXTypeLiteral
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getXTypeLiteralAccess().getGroup()); }
+(rule__XTypeLiteral__Group__0)
+{ after(grammarAccess.getXTypeLiteralAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXThrowExpression
+entryRuleXThrowExpression 
+:
+{ before(grammarAccess.getXThrowExpressionRule()); }
+	 ruleXThrowExpression
+{ after(grammarAccess.getXThrowExpressionRule()); } 
+	 EOF 
+;
+
+// Rule XThrowExpression
+ruleXThrowExpression
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getXThrowExpressionAccess().getGroup()); }
+(rule__XThrowExpression__Group__0)
+{ after(grammarAccess.getXThrowExpressionAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXReturnExpression
+entryRuleXReturnExpression 
+:
+{ before(grammarAccess.getXReturnExpressionRule()); }
+	 ruleXReturnExpression
+{ after(grammarAccess.getXReturnExpressionRule()); } 
+	 EOF 
+;
+
+// Rule XReturnExpression
+ruleXReturnExpression
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getXReturnExpressionAccess().getGroup()); }
+(rule__XReturnExpression__Group__0)
+{ after(grammarAccess.getXReturnExpressionAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXTryCatchFinallyExpression
+entryRuleXTryCatchFinallyExpression 
+:
+{ before(grammarAccess.getXTryCatchFinallyExpressionRule()); }
+	 ruleXTryCatchFinallyExpression
+{ after(grammarAccess.getXTryCatchFinallyExpressionRule()); } 
+	 EOF 
+;
+
+// Rule XTryCatchFinallyExpression
+ruleXTryCatchFinallyExpression
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup()); }
+(rule__XTryCatchFinallyExpression__Group__0)
+{ after(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXSynchronizedExpression
+entryRuleXSynchronizedExpression 
+:
+{ before(grammarAccess.getXSynchronizedExpressionRule()); }
+	 ruleXSynchronizedExpression
+{ after(grammarAccess.getXSynchronizedExpressionRule()); } 
+	 EOF 
+;
+
+// Rule XSynchronizedExpression
+ruleXSynchronizedExpression
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getXSynchronizedExpressionAccess().getGroup()); }
+(rule__XSynchronizedExpression__Group__0)
+{ after(grammarAccess.getXSynchronizedExpressionAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXCatchClause
+entryRuleXCatchClause 
+:
+{ before(grammarAccess.getXCatchClauseRule()); }
+	 ruleXCatchClause
+{ after(grammarAccess.getXCatchClauseRule()); } 
+	 EOF 
+;
+
+// Rule XCatchClause
+ruleXCatchClause
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getXCatchClauseAccess().getGroup()); }
+(rule__XCatchClause__Group__0)
+{ after(grammarAccess.getXCatchClauseAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleNumber
+entryRuleNumber 
+@init {
+	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
+}
+:
+{ before(grammarAccess.getNumberRule()); }
+	 ruleNumber
+{ after(grammarAccess.getNumberRule()); } 
+	 EOF 
+;
+finally {
+	myHiddenTokenState.restore();
+}
+
+// Rule Number
+ruleNumber
+    @init {
+		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getNumberAccess().getAlternatives()); }
+(rule__Number__Alternatives)
+{ after(grammarAccess.getNumberAccess().getAlternatives()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+	myHiddenTokenState.restore();
+}
+
+
+
+
+
+// Entry rule entryRuleJvmTypeReference
+entryRuleJvmTypeReference 
+:
+{ before(grammarAccess.getJvmTypeReferenceRule()); }
+	 ruleJvmTypeReference
+{ after(grammarAccess.getJvmTypeReferenceRule()); } 
+	 EOF 
+;
+
+// Rule JvmTypeReference
+ruleJvmTypeReference
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getJvmTypeReferenceAccess().getAlternatives()); }
+(rule__JvmTypeReference__Alternatives)
+{ after(grammarAccess.getJvmTypeReferenceAccess().getAlternatives()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleArrayBrackets
+entryRuleArrayBrackets 
+:
+{ before(grammarAccess.getArrayBracketsRule()); }
+	 ruleArrayBrackets
+{ after(grammarAccess.getArrayBracketsRule()); } 
+	 EOF 
+;
+
+// Rule ArrayBrackets
+ruleArrayBrackets
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getArrayBracketsAccess().getGroup()); }
+(rule__ArrayBrackets__Group__0)
+{ after(grammarAccess.getArrayBracketsAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleXFunctionTypeRef
+entryRuleXFunctionTypeRef 
+:
+{ before(grammarAccess.getXFunctionTypeRefRule()); }
+	 ruleXFunctionTypeRef
+{ after(grammarAccess.getXFunctionTypeRefRule()); } 
+	 EOF 
+;
+
+// Rule XFunctionTypeRef
+ruleXFunctionTypeRef
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getXFunctionTypeRefAccess().getGroup()); }
+(rule__XFunctionTypeRef__Group__0)
+{ after(grammarAccess.getXFunctionTypeRefAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleJvmParameterizedTypeReference
+entryRuleJvmParameterizedTypeReference 
+:
+{ before(grammarAccess.getJvmParameterizedTypeReferenceRule()); }
+	 ruleJvmParameterizedTypeReference
+{ after(grammarAccess.getJvmParameterizedTypeReferenceRule()); } 
+	 EOF 
+;
+
+// Rule JvmParameterizedTypeReference
+ruleJvmParameterizedTypeReference
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup()); }
+(rule__JvmParameterizedTypeReference__Group__0)
+{ after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleJvmArgumentTypeReference
+entryRuleJvmArgumentTypeReference 
+:
+{ before(grammarAccess.getJvmArgumentTypeReferenceRule()); }
+	 ruleJvmArgumentTypeReference
+{ after(grammarAccess.getJvmArgumentTypeReferenceRule()); } 
+	 EOF 
+;
+
+// Rule JvmArgumentTypeReference
+ruleJvmArgumentTypeReference
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getJvmArgumentTypeReferenceAccess().getAlternatives()); }
+(rule__JvmArgumentTypeReference__Alternatives)
+{ after(grammarAccess.getJvmArgumentTypeReferenceAccess().getAlternatives()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleJvmWildcardTypeReference
+entryRuleJvmWildcardTypeReference 
+:
+{ before(grammarAccess.getJvmWildcardTypeReferenceRule()); }
+	 ruleJvmWildcardTypeReference
+{ after(grammarAccess.getJvmWildcardTypeReferenceRule()); } 
+	 EOF 
+;
+
+// Rule JvmWildcardTypeReference
+ruleJvmWildcardTypeReference
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup()); }
+(rule__JvmWildcardTypeReference__Group__0)
+{ after(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleJvmUpperBound
+entryRuleJvmUpperBound 
+:
+{ before(grammarAccess.getJvmUpperBoundRule()); }
+	 ruleJvmUpperBound
+{ after(grammarAccess.getJvmUpperBoundRule()); } 
+	 EOF 
+;
+
+// Rule JvmUpperBound
+ruleJvmUpperBound
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getJvmUpperBoundAccess().getGroup()); }
+(rule__JvmUpperBound__Group__0)
+{ after(grammarAccess.getJvmUpperBoundAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleJvmUpperBoundAnded
+entryRuleJvmUpperBoundAnded 
+:
+{ before(grammarAccess.getJvmUpperBoundAndedRule()); }
+	 ruleJvmUpperBoundAnded
+{ after(grammarAccess.getJvmUpperBoundAndedRule()); } 
+	 EOF 
+;
+
+// Rule JvmUpperBoundAnded
+ruleJvmUpperBoundAnded
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getJvmUpperBoundAndedAccess().getGroup()); }
+(rule__JvmUpperBoundAnded__Group__0)
+{ after(grammarAccess.getJvmUpperBoundAndedAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleJvmLowerBound
+entryRuleJvmLowerBound 
+:
+{ before(grammarAccess.getJvmLowerBoundRule()); }
+	 ruleJvmLowerBound
+{ after(grammarAccess.getJvmLowerBoundRule()); } 
+	 EOF 
+;
+
+// Rule JvmLowerBound
+ruleJvmLowerBound
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getJvmLowerBoundAccess().getGroup()); }
+(rule__JvmLowerBound__Group__0)
+{ after(grammarAccess.getJvmLowerBoundAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleJvmLowerBoundAnded
+entryRuleJvmLowerBoundAnded 
+:
+{ before(grammarAccess.getJvmLowerBoundAndedRule()); }
+	 ruleJvmLowerBoundAnded
+{ after(grammarAccess.getJvmLowerBoundAndedRule()); } 
+	 EOF 
+;
+
+// Rule JvmLowerBoundAnded
+ruleJvmLowerBoundAnded
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getJvmLowerBoundAndedAccess().getGroup()); }
+(rule__JvmLowerBoundAnded__Group__0)
+{ after(grammarAccess.getJvmLowerBoundAndedAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+// Entry rule entryRuleQualifiedNameWithWildcard
+entryRuleQualifiedNameWithWildcard 
+:
+{ before(grammarAccess.getQualifiedNameWithWildcardRule()); }
+	 ruleQualifiedNameWithWildcard
+{ after(grammarAccess.getQualifiedNameWithWildcardRule()); } 
+	 EOF 
+;
+
+// Rule QualifiedNameWithWildcard
+ruleQualifiedNameWithWildcard
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getQualifiedNameWithWildcardAccess().getGroup()); }
+(rule__QualifiedNameWithWildcard__Group__0)
+{ after(grammarAccess.getQualifiedNameWithWildcardAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+// Entry rule entryRuleXImportDeclaration
+entryRuleXImportDeclaration 
+:
+{ before(grammarAccess.getXImportDeclarationRule()); }
+	 ruleXImportDeclaration
+{ after(grammarAccess.getXImportDeclarationRule()); } 
+	 EOF 
+;
+
+// Rule XImportDeclaration
+ruleXImportDeclaration
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getXImportDeclarationAccess().getGroup()); }
+(rule__XImportDeclaration__Group__0)
+{ after(grammarAccess.getXImportDeclarationAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleQualifiedNameInStaticImport
+entryRuleQualifiedNameInStaticImport 
+:
+{ before(grammarAccess.getQualifiedNameInStaticImportRule()); }
+	 ruleQualifiedNameInStaticImport
+{ after(grammarAccess.getQualifiedNameInStaticImportRule()); } 
+	 EOF 
+;
+
+// Rule QualifiedNameInStaticImport
+ruleQualifiedNameInStaticImport
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+(
+{ before(grammarAccess.getQualifiedNameInStaticImportAccess().getGroup()); }
+(rule__QualifiedNameInStaticImport__Group__0)
+{ after(grammarAccess.getQualifiedNameInStaticImportAccess().getGroup()); }
+)
+(
+{ before(grammarAccess.getQualifiedNameInStaticImportAccess().getGroup()); }
+(rule__QualifiedNameInStaticImport__Group__0)*
+{ after(grammarAccess.getQualifiedNameInStaticImportAccess().getGroup()); }
+)
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+// Rule EDateStepType
+ruleEDateStepType
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEDateStepTypeAccess().getAlternatives()); }
+(rule__EDateStepType__Alternatives)
+{ after(grammarAccess.getEDateStepTypeAccess().getAlternatives()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+rule__IEntityMockObjectAttribute__Alternatives
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getIEntityMockObjectAttributeAccess().getEntityMockObjectResourceValueParserRuleCall_0()); }
+	ruleEntityMockObjectResourceValue
+{ after(grammarAccess.getIEntityMockObjectAttributeAccess().getEntityMockObjectResourceValueParserRuleCall_0()); }
+)
+
+    |(
+{ before(grammarAccess.getIEntityMockObjectAttributeAccess().getEntityMockObjectPlainValueParserRuleCall_1()); }
+	ruleEntityMockObjectPlainValue
+{ after(grammarAccess.getIEntityMockObjectAttributeAccess().getEntityMockObjectPlainValueParserRuleCall_1()); }
+)
+
+    |(
+{ before(grammarAccess.getIEntityMockObjectAttributeAccess().getEntityMockObjectArrayValueParserRuleCall_2()); }
+	ruleEntityMockObjectArrayValue
+{ after(grammarAccess.getIEntityMockObjectAttributeAccess().getEntityMockObjectArrayValueParserRuleCall_2()); }
+)
+
+    |(
+{ before(grammarAccess.getIEntityMockObjectAttributeAccess().getEntityMockObjectEmbedParserRuleCall_3()); }
+	ruleEntityMockObjectEmbed
+{ after(grammarAccess.getIEntityMockObjectAttributeAccess().getEntityMockObjectEmbedParserRuleCall_3()); }
+)
+
+    |(
+{ before(grammarAccess.getIEntityMockObjectAttributeAccess().getEntityMockObjectFillParserRuleCall_4()); }
+	ruleEntityMockObjectFill
+{ after(grammarAccess.getIEntityMockObjectAttributeAccess().getEntityMockObjectFillParserRuleCall_4()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__PropertyFillerType__Alternatives
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getPropertyFillerTypeAccess().getPropertyFillerDateFutureParserRuleCall_0()); }
+	rulePropertyFillerDateFuture
+{ after(grammarAccess.getPropertyFillerTypeAccess().getPropertyFillerDateFutureParserRuleCall_0()); }
+)
+
+    |(
+{ before(grammarAccess.getPropertyFillerTypeAccess().getPropertyFillerDatePastParserRuleCall_1()); }
+	rulePropertyFillerDatePast
+{ after(grammarAccess.getPropertyFillerTypeAccess().getPropertyFillerDatePastParserRuleCall_1()); }
+)
+
+    |(
+{ before(grammarAccess.getPropertyFillerTypeAccess().getPropertyFillerDateRangeParserRuleCall_2()); }
+	rulePropertyFillerDateRange
+{ after(grammarAccess.getPropertyFillerTypeAccess().getPropertyFillerDateRangeParserRuleCall_2()); }
+)
+
+    |(
+{ before(grammarAccess.getPropertyFillerTypeAccess().getPropertyFillerBooleanParserRuleCall_3()); }
+	rulePropertyFillerBoolean
+{ after(grammarAccess.getPropertyFillerTypeAccess().getPropertyFillerBooleanParserRuleCall_3()); }
+)
+
+    |(
+{ before(grammarAccess.getPropertyFillerTypeAccess().getPropertyFillerSignedDoubleRangeParserRuleCall_4()); }
+	rulePropertyFillerSignedDoubleRange
+{ after(grammarAccess.getPropertyFillerTypeAccess().getPropertyFillerSignedDoubleRangeParserRuleCall_4()); }
+)
+
+    |(
+{ before(grammarAccess.getPropertyFillerTypeAccess().getPropertyFillerSignedDoubleRandomParserRuleCall_5()); }
+	rulePropertyFillerSignedDoubleRandom
+{ after(grammarAccess.getPropertyFillerTypeAccess().getPropertyFillerSignedDoubleRandomParserRuleCall_5()); }
+)
+
+    |(
+{ before(grammarAccess.getPropertyFillerTypeAccess().getPropertyFillerSignedIntegerRangeParserRuleCall_6()); }
+	rulePropertyFillerSignedIntegerRange
+{ after(grammarAccess.getPropertyFillerTypeAccess().getPropertyFillerSignedIntegerRangeParserRuleCall_6()); }
+)
+
+    |(
+{ before(grammarAccess.getPropertyFillerTypeAccess().getPropertyFillerSignedIntegerRandomParserRuleCall_7()); }
+	rulePropertyFillerSignedIntegerRandom
+{ after(grammarAccess.getPropertyFillerTypeAccess().getPropertyFillerSignedIntegerRandomParserRuleCall_7()); }
+)
+
+    |(
+{ before(grammarAccess.getPropertyFillerTypeAccess().getPropertyFillerTextRandomParserRuleCall_8()); }
+	rulePropertyFillerTextRandom
+{ after(grammarAccess.getPropertyFillerTypeAccess().getPropertyFillerTextRandomParserRuleCall_8()); }
+)
+
+    |(
+{ before(grammarAccess.getPropertyFillerTypeAccess().getPropertyFillerTextParagraphsParserRuleCall_9()); }
+	rulePropertyFillerTextParagraphs
+{ after(grammarAccess.getPropertyFillerTypeAccess().getPropertyFillerTextParagraphsParserRuleCall_9()); }
+)
+
+    |(
+{ before(grammarAccess.getPropertyFillerTypeAccess().getPropertyFillerTextSentencesParserRuleCall_10()); }
+	rulePropertyFillerTextSentences
+{ after(grammarAccess.getPropertyFillerTypeAccess().getPropertyFillerTextSentencesParserRuleCall_10()); }
+)
+
+    |(
+{ before(grammarAccess.getPropertyFillerTypeAccess().getPropertyFillerTextWordsParserRuleCall_11()); }
+	rulePropertyFillerTextWords
+{ after(grammarAccess.getPropertyFillerTypeAccess().getPropertyFillerTextWordsParserRuleCall_11()); }
+)
+
+    |(
+{ before(grammarAccess.getPropertyFillerTypeAccess().getPropertyFillerUnsignedDoubleRangeParserRuleCall_12()); }
+	rulePropertyFillerUnsignedDoubleRange
+{ after(grammarAccess.getPropertyFillerTypeAccess().getPropertyFillerUnsignedDoubleRangeParserRuleCall_12()); }
+)
+
+    |(
+{ before(grammarAccess.getPropertyFillerTypeAccess().getPropertyFillerUnsignedDoubleRandomParserRuleCall_13()); }
+	rulePropertyFillerUnsignedDoubleRandom
+{ after(grammarAccess.getPropertyFillerTypeAccess().getPropertyFillerUnsignedDoubleRandomParserRuleCall_13()); }
+)
+
+    |(
+{ before(grammarAccess.getPropertyFillerTypeAccess().getPropertyFillerUnsignedIntegerRangeParserRuleCall_14()); }
+	rulePropertyFillerUnsignedIntegerRange
+{ after(grammarAccess.getPropertyFillerTypeAccess().getPropertyFillerUnsignedIntegerRangeParserRuleCall_14()); }
+)
+
+    |(
+{ before(grammarAccess.getPropertyFillerTypeAccess().getPropertyFillerUnsignedIntegerRandomParserRuleCall_15()); }
+	rulePropertyFillerUnsignedIntegerRandom
+{ after(grammarAccess.getPropertyFillerTypeAccess().getPropertyFillerUnsignedIntegerRandomParserRuleCall_15()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__PropertyFillerSignedDoubleRange__Alternatives_1_0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getPropertyFillerSignedDoubleRangeAccess().getBeginRangeAssignment_1_0_0()); }
+(rule__PropertyFillerSignedDoubleRange__BeginRangeAssignment_1_0_0)
+{ after(grammarAccess.getPropertyFillerSignedDoubleRangeAccess().getBeginRangeAssignment_1_0_0()); }
+)
+
+    |(
+{ before(grammarAccess.getPropertyFillerSignedDoubleRangeAccess().getBeginRangeRefAssignment_1_0_1()); }
+(rule__PropertyFillerSignedDoubleRange__BeginRangeRefAssignment_1_0_1)
+{ after(grammarAccess.getPropertyFillerSignedDoubleRangeAccess().getBeginRangeRefAssignment_1_0_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__PropertyFillerSignedDoubleRange__Alternatives_1_2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getPropertyFillerSignedDoubleRangeAccess().getEndRangeAssignment_1_2_0()); }
+(rule__PropertyFillerSignedDoubleRange__EndRangeAssignment_1_2_0)
+{ after(grammarAccess.getPropertyFillerSignedDoubleRangeAccess().getEndRangeAssignment_1_2_0()); }
+)
+
+    |(
+{ before(grammarAccess.getPropertyFillerSignedDoubleRangeAccess().getEndRangeRefAssignment_1_2_1()); }
+(rule__PropertyFillerSignedDoubleRange__EndRangeRefAssignment_1_2_1)
+{ after(grammarAccess.getPropertyFillerSignedDoubleRangeAccess().getEndRangeRefAssignment_1_2_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__PropertyFillerSignedIntegerRange__Alternatives_2_0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getPropertyFillerSignedIntegerRangeAccess().getBeginRangeAssignment_2_0_0()); }
+(rule__PropertyFillerSignedIntegerRange__BeginRangeAssignment_2_0_0)
+{ after(grammarAccess.getPropertyFillerSignedIntegerRangeAccess().getBeginRangeAssignment_2_0_0()); }
+)
+
+    |(
+{ before(grammarAccess.getPropertyFillerSignedIntegerRangeAccess().getBeginRangeRefAssignment_2_0_1()); }
+(rule__PropertyFillerSignedIntegerRange__BeginRangeRefAssignment_2_0_1)
+{ after(grammarAccess.getPropertyFillerSignedIntegerRangeAccess().getBeginRangeRefAssignment_2_0_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__PropertyFillerSignedIntegerRange__Alternatives_2_2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getPropertyFillerSignedIntegerRangeAccess().getEndRangeAssignment_2_2_0()); }
+(rule__PropertyFillerSignedIntegerRange__EndRangeAssignment_2_2_0)
+{ after(grammarAccess.getPropertyFillerSignedIntegerRangeAccess().getEndRangeAssignment_2_2_0()); }
+)
+
+    |(
+{ before(grammarAccess.getPropertyFillerSignedIntegerRangeAccess().getEndRangeRefAssignment_2_2_1()); }
+(rule__PropertyFillerSignedIntegerRange__EndRangeRefAssignment_2_2_1)
+{ after(grammarAccess.getPropertyFillerSignedIntegerRangeAccess().getEndRangeRefAssignment_2_2_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__PropertyFillerUnsignedDoubleRange__Alternatives_1_0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getPropertyFillerUnsignedDoubleRangeAccess().getBeginRangeAssignment_1_0_0()); }
+(rule__PropertyFillerUnsignedDoubleRange__BeginRangeAssignment_1_0_0)
+{ after(grammarAccess.getPropertyFillerUnsignedDoubleRangeAccess().getBeginRangeAssignment_1_0_0()); }
+)
+
+    |(
+{ before(grammarAccess.getPropertyFillerUnsignedDoubleRangeAccess().getBeginRangeRefAssignment_1_0_1()); }
+(rule__PropertyFillerUnsignedDoubleRange__BeginRangeRefAssignment_1_0_1)
+{ after(grammarAccess.getPropertyFillerUnsignedDoubleRangeAccess().getBeginRangeRefAssignment_1_0_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__PropertyFillerUnsignedDoubleRange__Alternatives_1_2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getPropertyFillerUnsignedDoubleRangeAccess().getEndRangeAssignment_1_2_0()); }
+(rule__PropertyFillerUnsignedDoubleRange__EndRangeAssignment_1_2_0)
+{ after(grammarAccess.getPropertyFillerUnsignedDoubleRangeAccess().getEndRangeAssignment_1_2_0()); }
+)
+
+    |(
+{ before(grammarAccess.getPropertyFillerUnsignedDoubleRangeAccess().getEndRangeRefAssignment_1_2_1()); }
+(rule__PropertyFillerUnsignedDoubleRange__EndRangeRefAssignment_1_2_1)
+{ after(grammarAccess.getPropertyFillerUnsignedDoubleRangeAccess().getEndRangeRefAssignment_1_2_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__PropertyFillerUnsignedIntegerRange__Alternatives_2_0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getPropertyFillerUnsignedIntegerRangeAccess().getBeginRangeAssignment_2_0_0()); }
+(rule__PropertyFillerUnsignedIntegerRange__BeginRangeAssignment_2_0_0)
+{ after(grammarAccess.getPropertyFillerUnsignedIntegerRangeAccess().getBeginRangeAssignment_2_0_0()); }
+)
+
+    |(
+{ before(grammarAccess.getPropertyFillerUnsignedIntegerRangeAccess().getBeginRangeRefAssignment_2_0_1()); }
+(rule__PropertyFillerUnsignedIntegerRange__BeginRangeRefAssignment_2_0_1)
+{ after(grammarAccess.getPropertyFillerUnsignedIntegerRangeAccess().getBeginRangeRefAssignment_2_0_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__PropertyFillerUnsignedIntegerRange__Alternatives_2_2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getPropertyFillerUnsignedIntegerRangeAccess().getEndRangeAssignment_2_2_0()); }
+(rule__PropertyFillerUnsignedIntegerRange__EndRangeAssignment_2_2_0)
+{ after(grammarAccess.getPropertyFillerUnsignedIntegerRangeAccess().getEndRangeAssignment_2_2_0()); }
+)
+
+    |(
+{ before(grammarAccess.getPropertyFillerUnsignedIntegerRangeAccess().getEndRangeRefAssignment_2_2_1()); }
+(rule__PropertyFillerUnsignedIntegerRange__EndRangeRefAssignment_2_2_1)
+{ after(grammarAccess.getPropertyFillerUnsignedIntegerRangeAccess().getEndRangeRefAssignment_2_2_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockEntity__Alternatives_4
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockEntityAccess().getGroup_4_0()); }
+(rule__EntityMockEntity__Group_4_0__0)
+{ after(grammarAccess.getEntityMockEntityAccess().getGroup_4_0()); }
+)
+
+    |(
+{ before(grammarAccess.getEntityMockEntityAccess().getGroup_4_1()); }
+(rule__EntityMockEntity__Group_4_1__0)
+{ after(grammarAccess.getEntityMockEntityAccess().getGroup_4_1()); }
+)
+
+    |(
+{ before(grammarAccess.getEntityMockEntityAccess().getGroup_4_2()); }
+(rule__EntityMockEntity__Group_4_2__0)
+{ after(grammarAccess.getEntityMockEntityAccess().getGroup_4_2()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__IIterate__Alternatives
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getIIterateAccess().getIntegerIterateParserRuleCall_0()); }
+	ruleIntegerIterate
+{ after(grammarAccess.getIIterateAccess().getIntegerIterateParserRuleCall_0()); }
+)
+
+    |(
+{ before(grammarAccess.getIIterateAccess().getDateIterateParserRuleCall_1()); }
+	ruleDateIterate
+{ after(grammarAccess.getIIterateAccess().getDateIterateParserRuleCall_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Date__Alternatives
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getDateAccess().getYesterdayAssignment_0()); }
+(rule__Date__YesterdayAssignment_0)
+{ after(grammarAccess.getDateAccess().getYesterdayAssignment_0()); }
+)
+
+    |(
+{ before(grammarAccess.getDateAccess().getTodayAssignment_1()); }
+(rule__Date__TodayAssignment_1)
+{ after(grammarAccess.getDateAccess().getTodayAssignment_1()); }
+)
+
+    |(
+{ before(grammarAccess.getDateAccess().getTomorrowAssignment_2()); }
+(rule__Date__TomorrowAssignment_2)
+{ after(grammarAccess.getDateAccess().getTomorrowAssignment_2()); }
+)
+
+    |(
+{ before(grammarAccess.getDateAccess().getGroup_3()); }
+(rule__Date__Group_3__0)
+{ after(grammarAccess.getDateAccess().getGroup_3()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__IEntityMockAttribute__Alternatives
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getIEntityMockAttributeAccess().getEntityMockAttributeByObjectParserRuleCall_0()); }
+	ruleEntityMockAttributeByObject
+{ after(grammarAccess.getIEntityMockAttributeAccess().getEntityMockAttributeByObjectParserRuleCall_0()); }
+)
+
+    |(
+{ before(grammarAccess.getIEntityMockAttributeAccess().getEntityMockAttributeFillerParserRuleCall_1()); }
+	ruleEntityMockAttributeFiller
+{ after(grammarAccess.getIEntityMockAttributeAccess().getEntityMockAttributeFillerParserRuleCall_1()); }
+)
+
+    |(
+{ before(grammarAccess.getIEntityMockAttributeAccess().getEntityMockAttributeByReferenceParserRuleCall_2()); }
+	ruleEntityMockAttributeByReference
+{ after(grammarAccess.getIEntityMockAttributeAccess().getEntityMockAttributeByReferenceParserRuleCall_2()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockEntityFunctionParameter__Alternatives
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockEntityFunctionParameterAccess().getAttributeRefAssignment_0()); }
+(rule__EntityMockEntityFunctionParameter__AttributeRefAssignment_0)
+{ after(grammarAccess.getEntityMockEntityFunctionParameterAccess().getAttributeRefAssignment_0()); }
+)
+
+    |(
+{ before(grammarAccess.getEntityMockEntityFunctionParameterAccess().getGroup_1()); }
+(rule__EntityMockEntityFunctionParameter__Group_1__0)
+{ after(grammarAccess.getEntityMockEntityFunctionParameterAccess().getGroup_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockAttributeByObject__Alternatives
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockAttributeByObjectAccess().getGroup_0()); }
+(rule__EntityMockAttributeByObject__Group_0__0)
+{ after(grammarAccess.getEntityMockAttributeByObjectAccess().getGroup_0()); }
+)
+
+    |(
+{ before(grammarAccess.getEntityMockAttributeByObjectAccess().getGroup_1()); }
+(rule__EntityMockAttributeByObject__Group_1__0)
+{ after(grammarAccess.getEntityMockAttributeByObjectAccess().getGroup_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockAttributeByReference__Alternatives_3
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockAttributeByReferenceAccess().getExistingEntitiesKeyword_3_0()); }
+
+	'existing entities' 
+
+{ after(grammarAccess.getEntityMockAttributeByReferenceAccess().getExistingEntitiesKeyword_3_0()); }
+)
+
+    |(
+{ before(grammarAccess.getEntityMockAttributeByReferenceAccess().getMockedEntityAssignment_3_1()); }
+(rule__EntityMockAttributeByReference__MockedEntityAssignment_3_1)
+{ after(grammarAccess.getEntityMockAttributeByReferenceAccess().getMockedEntityAssignment_3_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__XAnnotation__Alternatives_3_1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getXAnnotationAccess().getGroup_3_1_0()); }
+(rule__XAnnotation__Group_3_1_0__0)
+{ after(grammarAccess.getXAnnotationAccess().getGroup_3_1_0()); }
+)
+
+    |(
+{ before(grammarAccess.getXAnnotationAccess().getValueAssignment_3_1_1()); }
+(rule__XAnnotation__ValueAssignment_3_1_1)
+{ after(grammarAccess.getXAnnotationAccess().getValueAssignment_3_1_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__XAnnotationElementValueOrCommaList__Alternatives
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_0()); }
+(rule__XAnnotationElementValueOrCommaList__Group_0__0)
+{ after(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_0()); }
+)
+
+    |(
+{ before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_1()); }
+(rule__XAnnotationElementValueOrCommaList__Group_1__0)
+{ after(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__XAnnotationElementValue__Alternatives
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getXAnnotationElementValueAccess().getGroup_0()); }
+(rule__XAnnotationElementValue__Group_0__0)
+{ after(grammarAccess.getXAnnotationElementValueAccess().getGroup_0()); }
+)
+
+    |(
+{ before(grammarAccess.getXAnnotationElementValueAccess().getXAnnotationOrExpressionParserRuleCall_1()); }
+	ruleXAnnotationOrExpression
+{ after(grammarAccess.getXAnnotationElementValueAccess().getXAnnotationOrExpressionParserRuleCall_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__XAnnotationOrExpression__Alternatives
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getXAnnotationOrExpressionAccess().getXAnnotationParserRuleCall_0()); }
+	ruleXAnnotation
+{ after(grammarAccess.getXAnnotationOrExpressionAccess().getXAnnotationParserRuleCall_0()); }
+)
+
+    |(
+{ before(grammarAccess.getXAnnotationOrExpressionAccess().getXExpressionParserRuleCall_1()); }
+	ruleXExpression
+{ after(grammarAccess.getXAnnotationOrExpressionAccess().getXExpressionParserRuleCall_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__XAssignment__Alternatives
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getXAssignmentAccess().getGroup_0()); }
+(rule__XAssignment__Group_0__0)
+{ after(grammarAccess.getXAssignmentAccess().getGroup_0()); }
+)
+
+    |(
+{ before(grammarAccess.getXAssignmentAccess().getGroup_1()); }
+(rule__XAssignment__Group_1__0)
+{ after(grammarAccess.getXAssignmentAccess().getGroup_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__OpMultiAssign__Alternatives
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getOpMultiAssignAccess().getPlusSignEqualsSignKeyword_0()); }
+
+	'+=' 
+
+{ after(grammarAccess.getOpMultiAssignAccess().getPlusSignEqualsSignKeyword_0()); }
+)
+
+    |(
+{ before(grammarAccess.getOpMultiAssignAccess().getHyphenMinusEqualsSignKeyword_1()); }
+
+	'-=' 
+
+{ after(grammarAccess.getOpMultiAssignAccess().getHyphenMinusEqualsSignKeyword_1()); }
+)
+
+    |(
+{ before(grammarAccess.getOpMultiAssignAccess().getAsteriskEqualsSignKeyword_2()); }
+
+	'*=' 
+
+{ after(grammarAccess.getOpMultiAssignAccess().getAsteriskEqualsSignKeyword_2()); }
+)
+
+    |(
+{ before(grammarAccess.getOpMultiAssignAccess().getSolidusEqualsSignKeyword_3()); }
+
+	'/=' 
+
+{ after(grammarAccess.getOpMultiAssignAccess().getSolidusEqualsSignKeyword_3()); }
+)
+
+    |(
+{ before(grammarAccess.getOpMultiAssignAccess().getPercentSignEqualsSignKeyword_4()); }
+
+	'%=' 
+
+{ after(grammarAccess.getOpMultiAssignAccess().getPercentSignEqualsSignKeyword_4()); }
+)
+
+    |(
+{ before(grammarAccess.getOpMultiAssignAccess().getGroup_5()); }
+(rule__OpMultiAssign__Group_5__0)
+{ after(grammarAccess.getOpMultiAssignAccess().getGroup_5()); }
+)
+
+    |(
+{ before(grammarAccess.getOpMultiAssignAccess().getGroup_6()); }
+(rule__OpMultiAssign__Group_6__0)
+{ after(grammarAccess.getOpMultiAssignAccess().getGroup_6()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__OpEquality__Alternatives
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignKeyword_0()); }
+
+	'==' 
+
+{ after(grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignKeyword_0()); }
+)
+
+    |(
+{ before(grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignKeyword_1()); }
+
+	'!=' 
+
+{ after(grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignKeyword_1()); }
+)
+
+    |(
+{ before(grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignEqualsSignKeyword_2()); }
+
+	'===' 
+
+{ after(grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignEqualsSignKeyword_2()); }
+)
+
+    |(
+{ before(grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignEqualsSignKeyword_3()); }
+
+	'!==' 
+
+{ after(grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignEqualsSignKeyword_3()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__XRelationalExpression__Alternatives_1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0()); }
+(rule__XRelationalExpression__Group_1_0__0)
+{ after(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0()); }
+)
+
+    |(
+{ before(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1()); }
+(rule__XRelationalExpression__Group_1_1__0)
+{ after(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__OpCompare__Alternatives
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getOpCompareAccess().getGreaterThanSignEqualsSignKeyword_0()); }
+
+	'>=' 
+
+{ after(grammarAccess.getOpCompareAccess().getGreaterThanSignEqualsSignKeyword_0()); }
+)
+
+    |(
+{ before(grammarAccess.getOpCompareAccess().getGroup_1()); }
+(rule__OpCompare__Group_1__0)
+{ after(grammarAccess.getOpCompareAccess().getGroup_1()); }
+)
+
+    |(
+{ before(grammarAccess.getOpCompareAccess().getGreaterThanSignKeyword_2()); }
+
+	'>' 
+
+{ after(grammarAccess.getOpCompareAccess().getGreaterThanSignKeyword_2()); }
+)
+
+    |(
+{ before(grammarAccess.getOpCompareAccess().getLessThanSignKeyword_3()); }
+
+	'<' 
+
+{ after(grammarAccess.getOpCompareAccess().getLessThanSignKeyword_3()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__OpOther__Alternatives
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getOpOtherAccess().getHyphenMinusGreaterThanSignKeyword_0()); }
+
+	'->' 
+
+{ after(grammarAccess.getOpOtherAccess().getHyphenMinusGreaterThanSignKeyword_0()); }
+)
+
+    |(
+{ before(grammarAccess.getOpOtherAccess().getFullStopFullStopLessThanSignKeyword_1()); }
+
+	'..<' 
+
+{ after(grammarAccess.getOpOtherAccess().getFullStopFullStopLessThanSignKeyword_1()); }
+)
+
+    |(
+{ before(grammarAccess.getOpOtherAccess().getGroup_2()); }
+(rule__OpOther__Group_2__0)
+{ after(grammarAccess.getOpOtherAccess().getGroup_2()); }
+)
+
+    |(
+{ before(grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_3()); }
+
+	'..' 
+
+{ after(grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_3()); }
+)
+
+    |(
+{ before(grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_4()); }
+
+	'=>' 
+
+{ after(grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_4()); }
+)
+
+    |(
+{ before(grammarAccess.getOpOtherAccess().getGroup_5()); }
+(rule__OpOther__Group_5__0)
+{ after(grammarAccess.getOpOtherAccess().getGroup_5()); }
+)
+
+    |(
+{ before(grammarAccess.getOpOtherAccess().getGroup_6()); }
+(rule__OpOther__Group_6__0)
+{ after(grammarAccess.getOpOtherAccess().getGroup_6()); }
+)
+
+    |(
+{ before(grammarAccess.getOpOtherAccess().getLessThanSignGreaterThanSignKeyword_7()); }
+
+	'<>' 
+
+{ after(grammarAccess.getOpOtherAccess().getLessThanSignGreaterThanSignKeyword_7()); }
+)
+
+    |(
+{ before(grammarAccess.getOpOtherAccess().getQuestionMarkColonKeyword_8()); }
+
+	'?:' 
+
+{ after(grammarAccess.getOpOtherAccess().getQuestionMarkColonKeyword_8()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__OpOther__Alternatives_5_1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getOpOtherAccess().getGroup_5_1_0()); }
+(rule__OpOther__Group_5_1_0__0)
+{ after(grammarAccess.getOpOtherAccess().getGroup_5_1_0()); }
+)
+
+    |(
+{ before(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_1()); }
+
+	'>' 
+
+{ after(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__OpOther__Alternatives_6_1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getOpOtherAccess().getGroup_6_1_0()); }
+(rule__OpOther__Group_6_1_0__0)
+{ after(grammarAccess.getOpOtherAccess().getGroup_6_1_0()); }
+)
+
+    |(
+{ before(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_1()); }
+
+	'<' 
+
+{ after(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_1()); }
+)
+
+    |(
+{ before(grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_6_1_2()); }
+
+	'=>' 
+
+{ after(grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_6_1_2()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__OpAdd__Alternatives
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getOpAddAccess().getPlusSignKeyword_0()); }
+
+	'+' 
+
+{ after(grammarAccess.getOpAddAccess().getPlusSignKeyword_0()); }
+)
+
+    |(
+{ before(grammarAccess.getOpAddAccess().getHyphenMinusKeyword_1()); }
+
+	'-' 
+
+{ after(grammarAccess.getOpAddAccess().getHyphenMinusKeyword_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__OpMulti__Alternatives
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getOpMultiAccess().getAsteriskKeyword_0()); }
+
+	'*' 
+
+{ after(grammarAccess.getOpMultiAccess().getAsteriskKeyword_0()); }
+)
+
+    |(
+{ before(grammarAccess.getOpMultiAccess().getAsteriskAsteriskKeyword_1()); }
+
+	'**' 
+
+{ after(grammarAccess.getOpMultiAccess().getAsteriskAsteriskKeyword_1()); }
+)
+
+    |(
+{ before(grammarAccess.getOpMultiAccess().getSolidusKeyword_2()); }
+
+	'/' 
+
+{ after(grammarAccess.getOpMultiAccess().getSolidusKeyword_2()); }
+)
+
+    |(
+{ before(grammarAccess.getOpMultiAccess().getPercentSignKeyword_3()); }
+
+	'%' 
+
+{ after(grammarAccess.getOpMultiAccess().getPercentSignKeyword_3()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__XUnaryOperation__Alternatives
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getXUnaryOperationAccess().getGroup_0()); }
+(rule__XUnaryOperation__Group_0__0)
+{ after(grammarAccess.getXUnaryOperationAccess().getGroup_0()); }
+)
+
+    |(
+{ before(grammarAccess.getXUnaryOperationAccess().getXCastedExpressionParserRuleCall_1()); }
+	ruleXCastedExpression
+{ after(grammarAccess.getXUnaryOperationAccess().getXCastedExpressionParserRuleCall_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__OpUnary__Alternatives
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getOpUnaryAccess().getExclamationMarkKeyword_0()); }
+
+	'!' 
+
+{ after(grammarAccess.getOpUnaryAccess().getExclamationMarkKeyword_0()); }
+)
+
+    |(
+{ before(grammarAccess.getOpUnaryAccess().getHyphenMinusKeyword_1()); }
+
+	'-' 
+
+{ after(grammarAccess.getOpUnaryAccess().getHyphenMinusKeyword_1()); }
+)
+
+    |(
+{ before(grammarAccess.getOpUnaryAccess().getPlusSignKeyword_2()); }
+
+	'+' 
+
+{ after(grammarAccess.getOpUnaryAccess().getPlusSignKeyword_2()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__OpPostfix__Alternatives
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getOpPostfixAccess().getPlusSignPlusSignKeyword_0()); }
+
+	'++' 
+
+{ after(grammarAccess.getOpPostfixAccess().getPlusSignPlusSignKeyword_0()); }
+)
+
+    |(
+{ before(grammarAccess.getOpPostfixAccess().getHyphenMinusHyphenMinusKeyword_1()); }
+
+	'--' 
+
+{ after(grammarAccess.getOpPostfixAccess().getHyphenMinusHyphenMinusKeyword_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__XMemberFeatureCall__Alternatives_1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0()); }
+(rule__XMemberFeatureCall__Group_1_0__0)
+{ after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0()); }
+)
+
+    |(
+{ before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1()); }
+(rule__XMemberFeatureCall__Group_1_1__0)
+{ after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__XMemberFeatureCall__Alternatives_1_0_0_0_1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_0_0_0_1_0()); }
+
+	'.' 
+
+{ after(grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_0_0_0_1_0()); }
+)
+
+    |(
+{ before(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticAssignment_1_0_0_0_1_1()); }
+(rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1)
+{ after(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticAssignment_1_0_0_0_1_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__XMemberFeatureCall__Alternatives_1_1_0_0_1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_1_0_0_1_0()); }
+
+	'.' 
+
+{ after(grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_1_0_0_1_0()); }
+)
+
+    |(
+{ before(grammarAccess.getXMemberFeatureCallAccess().getNullSafeAssignment_1_1_0_0_1_1()); }
+(rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1)
+{ after(grammarAccess.getXMemberFeatureCallAccess().getNullSafeAssignment_1_1_0_0_1_1()); }
+)
+
+    |(
+{ before(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticAssignment_1_1_0_0_1_2()); }
+(rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2)
+{ after(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticAssignment_1_1_0_0_1_2()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__XMemberFeatureCall__Alternatives_1_1_3_1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_0()); }
+(rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0)
+{ after(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_0()); }
+)
+
+    |(
+{ before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3_1_1()); }
+(rule__XMemberFeatureCall__Group_1_1_3_1_1__0)
+{ after(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3_1_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__XPrimaryExpression__Alternatives
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getXPrimaryExpressionAccess().getXConstructorCallParserRuleCall_0()); }
+	ruleXConstructorCall
+{ after(grammarAccess.getXPrimaryExpressionAccess().getXConstructorCallParserRuleCall_0()); }
+)
+
+    |(
+{ before(grammarAccess.getXPrimaryExpressionAccess().getXBlockExpressionParserRuleCall_1()); }
+	ruleXBlockExpression
+{ after(grammarAccess.getXPrimaryExpressionAccess().getXBlockExpressionParserRuleCall_1()); }
+)
+
+    |(
+{ before(grammarAccess.getXPrimaryExpressionAccess().getXSwitchExpressionParserRuleCall_2()); }
+	ruleXSwitchExpression
+{ after(grammarAccess.getXPrimaryExpressionAccess().getXSwitchExpressionParserRuleCall_2()); }
+)
+
+    |(
+{ before(grammarAccess.getXPrimaryExpressionAccess().getXSynchronizedExpressionParserRuleCall_3()); }
+(	ruleXSynchronizedExpression)
+{ after(grammarAccess.getXPrimaryExpressionAccess().getXSynchronizedExpressionParserRuleCall_3()); }
+)
+
+    |(
+{ before(grammarAccess.getXPrimaryExpressionAccess().getXFeatureCallParserRuleCall_4()); }
+	ruleXFeatureCall
+{ after(grammarAccess.getXPrimaryExpressionAccess().getXFeatureCallParserRuleCall_4()); }
+)
+
+    |(
+{ before(grammarAccess.getXPrimaryExpressionAccess().getXLiteralParserRuleCall_5()); }
+	ruleXLiteral
+{ after(grammarAccess.getXPrimaryExpressionAccess().getXLiteralParserRuleCall_5()); }
+)
+
+    |(
+{ before(grammarAccess.getXPrimaryExpressionAccess().getXIfExpressionParserRuleCall_6()); }
+	ruleXIfExpression
+{ after(grammarAccess.getXPrimaryExpressionAccess().getXIfExpressionParserRuleCall_6()); }
+)
+
+    |(
+{ before(grammarAccess.getXPrimaryExpressionAccess().getXForLoopExpressionParserRuleCall_7()); }
+(	ruleXForLoopExpression)
+{ after(grammarAccess.getXPrimaryExpressionAccess().getXForLoopExpressionParserRuleCall_7()); }
+)
+
+    |(
+{ before(grammarAccess.getXPrimaryExpressionAccess().getXBasicForLoopExpressionParserRuleCall_8()); }
+	ruleXBasicForLoopExpression
+{ after(grammarAccess.getXPrimaryExpressionAccess().getXBasicForLoopExpressionParserRuleCall_8()); }
+)
+
+    |(
+{ before(grammarAccess.getXPrimaryExpressionAccess().getXWhileExpressionParserRuleCall_9()); }
+	ruleXWhileExpression
+{ after(grammarAccess.getXPrimaryExpressionAccess().getXWhileExpressionParserRuleCall_9()); }
+)
+
+    |(
+{ before(grammarAccess.getXPrimaryExpressionAccess().getXDoWhileExpressionParserRuleCall_10()); }
+	ruleXDoWhileExpression
+{ after(grammarAccess.getXPrimaryExpressionAccess().getXDoWhileExpressionParserRuleCall_10()); }
+)
+
+    |(
+{ before(grammarAccess.getXPrimaryExpressionAccess().getXThrowExpressionParserRuleCall_11()); }
+	ruleXThrowExpression
+{ after(grammarAccess.getXPrimaryExpressionAccess().getXThrowExpressionParserRuleCall_11()); }
+)
+
+    |(
+{ before(grammarAccess.getXPrimaryExpressionAccess().getXReturnExpressionParserRuleCall_12()); }
+	ruleXReturnExpression
+{ after(grammarAccess.getXPrimaryExpressionAccess().getXReturnExpressionParserRuleCall_12()); }
+)
+
+    |(
+{ before(grammarAccess.getXPrimaryExpressionAccess().getXTryCatchFinallyExpressionParserRuleCall_13()); }
+	ruleXTryCatchFinallyExpression
+{ after(grammarAccess.getXPrimaryExpressionAccess().getXTryCatchFinallyExpressionParserRuleCall_13()); }
+)
+
+    |(
+{ before(grammarAccess.getXPrimaryExpressionAccess().getXParenthesizedExpressionParserRuleCall_14()); }
+	ruleXParenthesizedExpression
+{ after(grammarAccess.getXPrimaryExpressionAccess().getXParenthesizedExpressionParserRuleCall_14()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__XLiteral__Alternatives
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getXLiteralAccess().getXCollectionLiteralParserRuleCall_0()); }
+	ruleXCollectionLiteral
+{ after(grammarAccess.getXLiteralAccess().getXCollectionLiteralParserRuleCall_0()); }
+)
+
+    |(
+{ before(grammarAccess.getXLiteralAccess().getXClosureParserRuleCall_1()); }
+(	ruleXClosure)
+{ after(grammarAccess.getXLiteralAccess().getXClosureParserRuleCall_1()); }
+)
+
+    |(
+{ before(grammarAccess.getXLiteralAccess().getXBooleanLiteralParserRuleCall_2()); }
+	ruleXBooleanLiteral
+{ after(grammarAccess.getXLiteralAccess().getXBooleanLiteralParserRuleCall_2()); }
+)
+
+    |(
+{ before(grammarAccess.getXLiteralAccess().getXNumberLiteralParserRuleCall_3()); }
+	ruleXNumberLiteral
+{ after(grammarAccess.getXLiteralAccess().getXNumberLiteralParserRuleCall_3()); }
+)
+
+    |(
+{ before(grammarAccess.getXLiteralAccess().getXNullLiteralParserRuleCall_4()); }
+	ruleXNullLiteral
+{ after(grammarAccess.getXLiteralAccess().getXNullLiteralParserRuleCall_4()); }
+)
+
+    |(
+{ before(grammarAccess.getXLiteralAccess().getXStringLiteralParserRuleCall_5()); }
+	ruleXStringLiteral
+{ after(grammarAccess.getXLiteralAccess().getXStringLiteralParserRuleCall_5()); }
+)
+
+    |(
+{ before(grammarAccess.getXLiteralAccess().getXTypeLiteralParserRuleCall_6()); }
+	ruleXTypeLiteral
+{ after(grammarAccess.getXLiteralAccess().getXTypeLiteralParserRuleCall_6()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__XCollectionLiteral__Alternatives
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getXCollectionLiteralAccess().getXSetLiteralParserRuleCall_0()); }
+	ruleXSetLiteral
+{ after(grammarAccess.getXCollectionLiteralAccess().getXSetLiteralParserRuleCall_0()); }
+)
+
+    |(
+{ before(grammarAccess.getXCollectionLiteralAccess().getXListLiteralParserRuleCall_1()); }
+	ruleXListLiteral
+{ after(grammarAccess.getXCollectionLiteralAccess().getXListLiteralParserRuleCall_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__XSwitchExpression__Alternatives_2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0()); }
+(rule__XSwitchExpression__Group_2_0__0)
+{ after(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0()); }
+)
+
+    |(
+{ before(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1()); }
+(rule__XSwitchExpression__Group_2_1__0)
+{ after(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__XCasePart__Alternatives_3
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getXCasePartAccess().getGroup_3_0()); }
+(rule__XCasePart__Group_3_0__0)
+{ after(grammarAccess.getXCasePartAccess().getGroup_3_0()); }
+)
+
+    |(
+{ before(grammarAccess.getXCasePartAccess().getFallThroughAssignment_3_1()); }
+(rule__XCasePart__FallThroughAssignment_3_1)
+{ after(grammarAccess.getXCasePartAccess().getFallThroughAssignment_3_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__XExpressionOrVarDeclaration__Alternatives
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getXExpressionOrVarDeclarationAccess().getXVariableDeclarationParserRuleCall_0()); }
+	ruleXVariableDeclaration
+{ after(grammarAccess.getXExpressionOrVarDeclarationAccess().getXVariableDeclarationParserRuleCall_0()); }
+)
+
+    |(
+{ before(grammarAccess.getXExpressionOrVarDeclarationAccess().getXExpressionParserRuleCall_1()); }
+	ruleXExpression
+{ after(grammarAccess.getXExpressionOrVarDeclarationAccess().getXExpressionParserRuleCall_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__XVariableDeclaration__Alternatives_1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getXVariableDeclarationAccess().getWriteableAssignment_1_0()); }
+(rule__XVariableDeclaration__WriteableAssignment_1_0)
+{ after(grammarAccess.getXVariableDeclarationAccess().getWriteableAssignment_1_0()); }
+)
+
+    |(
+{ before(grammarAccess.getXVariableDeclarationAccess().getValKeyword_1_1()); }
+
+	'val' 
+
+{ after(grammarAccess.getXVariableDeclarationAccess().getValKeyword_1_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__XVariableDeclaration__Alternatives_2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getXVariableDeclarationAccess().getGroup_2_0()); }
+(rule__XVariableDeclaration__Group_2_0__0)
+{ after(grammarAccess.getXVariableDeclarationAccess().getGroup_2_0()); }
+)
+
+    |(
+{ before(grammarAccess.getXVariableDeclarationAccess().getNameAssignment_2_1()); }
+(rule__XVariableDeclaration__NameAssignment_2_1)
+{ after(grammarAccess.getXVariableDeclarationAccess().getNameAssignment_2_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__XFeatureCall__Alternatives_3_1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_0()); }
+(rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0)
+{ after(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_0()); }
+)
+
+    |(
+{ before(grammarAccess.getXFeatureCallAccess().getGroup_3_1_1()); }
+(rule__XFeatureCall__Group_3_1_1__0)
+{ after(grammarAccess.getXFeatureCallAccess().getGroup_3_1_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__FeatureCallID__Alternatives
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getFeatureCallIDAccess().getValidIDParserRuleCall_0()); }
+	ruleValidID
+{ after(grammarAccess.getFeatureCallIDAccess().getValidIDParserRuleCall_0()); }
+)
+
+    |(
+{ before(grammarAccess.getFeatureCallIDAccess().getExtendsKeyword_1()); }
+
+	'extends' 
+
+{ after(grammarAccess.getFeatureCallIDAccess().getExtendsKeyword_1()); }
+)
+
+    |(
+{ before(grammarAccess.getFeatureCallIDAccess().getStaticKeyword_2()); }
+
+	'static' 
+
+{ after(grammarAccess.getFeatureCallIDAccess().getStaticKeyword_2()); }
+)
+
+    |(
+{ before(grammarAccess.getFeatureCallIDAccess().getImportKeyword_3()); }
+
+	'import' 
+
+{ after(grammarAccess.getFeatureCallIDAccess().getImportKeyword_3()); }
+)
+
+    |(
+{ before(grammarAccess.getFeatureCallIDAccess().getExtensionKeyword_4()); }
+
+	'extension' 
+
+{ after(grammarAccess.getFeatureCallIDAccess().getExtensionKeyword_4()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__IdOrSuper__Alternatives
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getIdOrSuperAccess().getFeatureCallIDParserRuleCall_0()); }
+	ruleFeatureCallID
+{ after(grammarAccess.getIdOrSuperAccess().getFeatureCallIDParserRuleCall_0()); }
+)
+
+    |(
+{ before(grammarAccess.getIdOrSuperAccess().getSuperKeyword_1()); }
+
+	'super' 
+
+{ after(grammarAccess.getIdOrSuperAccess().getSuperKeyword_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__XConstructorCall__Alternatives_4_1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_0()); }
+(rule__XConstructorCall__ArgumentsAssignment_4_1_0)
+{ after(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_0()); }
+)
+
+    |(
+{ before(grammarAccess.getXConstructorCallAccess().getGroup_4_1_1()); }
+(rule__XConstructorCall__Group_4_1_1__0)
+{ after(grammarAccess.getXConstructorCallAccess().getGroup_4_1_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__XBooleanLiteral__Alternatives_1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getXBooleanLiteralAccess().getFalseKeyword_1_0()); }
+
+	'false' 
+
+{ after(grammarAccess.getXBooleanLiteralAccess().getFalseKeyword_1_0()); }
+)
+
+    |(
+{ before(grammarAccess.getXBooleanLiteralAccess().getIsTrueAssignment_1_1()); }
+(rule__XBooleanLiteral__IsTrueAssignment_1_1)
+{ after(grammarAccess.getXBooleanLiteralAccess().getIsTrueAssignment_1_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__XTryCatchFinallyExpression__Alternatives_3
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_0()); }
+(rule__XTryCatchFinallyExpression__Group_3_0__0)
+{ after(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_0()); }
+)
+
+    |(
+{ before(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_1()); }
+(rule__XTryCatchFinallyExpression__Group_3_1__0)
+{ after(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Number__Alternatives
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getNumberAccess().getHEXTerminalRuleCall_0()); }
+	RULE_HEX
+{ after(grammarAccess.getNumberAccess().getHEXTerminalRuleCall_0()); }
+)
+
+    |(
+{ before(grammarAccess.getNumberAccess().getGroup_1()); }
+(rule__Number__Group_1__0)
+{ after(grammarAccess.getNumberAccess().getGroup_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Number__Alternatives_1_0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getNumberAccess().getINTTerminalRuleCall_1_0_0()); }
+	RULE_INT
+{ after(grammarAccess.getNumberAccess().getINTTerminalRuleCall_1_0_0()); }
+)
+
+    |(
+{ before(grammarAccess.getNumberAccess().getDECIMALTerminalRuleCall_1_0_1()); }
+	RULE_DECIMAL
+{ after(grammarAccess.getNumberAccess().getDECIMALTerminalRuleCall_1_0_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Number__Alternatives_1_1_1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getNumberAccess().getINTTerminalRuleCall_1_1_1_0()); }
+	RULE_INT
+{ after(grammarAccess.getNumberAccess().getINTTerminalRuleCall_1_1_1_0()); }
+)
+
+    |(
+{ before(grammarAccess.getNumberAccess().getDECIMALTerminalRuleCall_1_1_1_1()); }
+	RULE_DECIMAL
+{ after(grammarAccess.getNumberAccess().getDECIMALTerminalRuleCall_1_1_1_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__JvmTypeReference__Alternatives
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getJvmTypeReferenceAccess().getGroup_0()); }
+(rule__JvmTypeReference__Group_0__0)
+{ after(grammarAccess.getJvmTypeReferenceAccess().getGroup_0()); }
+)
+
+    |(
+{ before(grammarAccess.getJvmTypeReferenceAccess().getXFunctionTypeRefParserRuleCall_1()); }
+	ruleXFunctionTypeRef
+{ after(grammarAccess.getJvmTypeReferenceAccess().getXFunctionTypeRefParserRuleCall_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__JvmArgumentTypeReference__Alternatives
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getJvmArgumentTypeReferenceAccess().getJvmTypeReferenceParserRuleCall_0()); }
+	ruleJvmTypeReference
+{ after(grammarAccess.getJvmArgumentTypeReferenceAccess().getJvmTypeReferenceParserRuleCall_0()); }
+)
+
+    |(
+{ before(grammarAccess.getJvmArgumentTypeReferenceAccess().getJvmWildcardTypeReferenceParserRuleCall_1()); }
+	ruleJvmWildcardTypeReference
+{ after(grammarAccess.getJvmArgumentTypeReferenceAccess().getJvmWildcardTypeReferenceParserRuleCall_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__JvmWildcardTypeReference__Alternatives_2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup_2_0()); }
+(rule__JvmWildcardTypeReference__Group_2_0__0)
+{ after(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup_2_0()); }
+)
+
+    |(
+{ before(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup_2_1()); }
+(rule__JvmWildcardTypeReference__Group_2_1__0)
+{ after(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup_2_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__XImportDeclaration__Alternatives_1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getXImportDeclarationAccess().getGroup_1_0()); }
+(rule__XImportDeclaration__Group_1_0__0)
+{ after(grammarAccess.getXImportDeclarationAccess().getGroup_1_0()); }
+)
+
+    |(
+{ before(grammarAccess.getXImportDeclarationAccess().getImportedTypeAssignment_1_1()); }
+(rule__XImportDeclaration__ImportedTypeAssignment_1_1)
+{ after(grammarAccess.getXImportDeclarationAccess().getImportedTypeAssignment_1_1()); }
+)
+
+    |(
+{ before(grammarAccess.getXImportDeclarationAccess().getImportedNamespaceAssignment_1_2()); }
+(rule__XImportDeclaration__ImportedNamespaceAssignment_1_2)
+{ after(grammarAccess.getXImportDeclarationAccess().getImportedNamespaceAssignment_1_2()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__XImportDeclaration__Alternatives_1_0_3
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getXImportDeclarationAccess().getWildcardAssignment_1_0_3_0()); }
+(rule__XImportDeclaration__WildcardAssignment_1_0_3_0)
+{ after(grammarAccess.getXImportDeclarationAccess().getWildcardAssignment_1_0_3_0()); }
+)
+
+    |(
+{ before(grammarAccess.getXImportDeclarationAccess().getMemberNameAssignment_1_0_3_1()); }
+(rule__XImportDeclaration__MemberNameAssignment_1_0_3_1)
+{ after(grammarAccess.getXImportDeclarationAccess().getMemberNameAssignment_1_0_3_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EDateStepType__Alternatives
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEDateStepTypeAccess().getDAYSEnumLiteralDeclaration_0()); }
+(	'days' 
+)
+{ after(grammarAccess.getEDateStepTypeAccess().getDAYSEnumLiteralDeclaration_0()); }
+)
+
+    |(
+{ before(grammarAccess.getEDateStepTypeAccess().getWEEKSEnumLiteralDeclaration_1()); }
+(	'weeks' 
+)
+{ after(grammarAccess.getEDateStepTypeAccess().getWEEKSEnumLiteralDeclaration_1()); }
+)
+
+    |(
+{ before(grammarAccess.getEDateStepTypeAccess().getMONTHSEnumLiteralDeclaration_2()); }
+(	'months' 
+)
+{ after(grammarAccess.getEDateStepTypeAccess().getMONTHSEnumLiteralDeclaration_2()); }
+)
+
+    |(
+{ before(grammarAccess.getEDateStepTypeAccess().getYEARSEnumLiteralDeclaration_3()); }
+(	'years' 
+)
+{ after(grammarAccess.getEDateStepTypeAccess().getYEARSEnumLiteralDeclaration_3()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+rule__EntityMockPackage__Group__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockPackage__Group__0__Impl
+	rule__EntityMockPackage__Group__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockPackage__Group__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockPackageAccess().getMockEntitymodelForKeyword_0()); }
+
+	'mock entitymodel for' 
+
+{ after(grammarAccess.getEntityMockPackageAccess().getMockEntitymodelForKeyword_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockPackage__Group__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockPackage__Group__1__Impl
+	rule__EntityMockPackage__Group__2
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockPackage__Group__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockPackageAccess().getImportsAssignment_1()); }
+(rule__EntityMockPackage__ImportsAssignment_1)
+{ after(grammarAccess.getEntityMockPackageAccess().getImportsAssignment_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockPackage__Group__2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockPackage__Group__2__Impl
+	rule__EntityMockPackage__Group__3
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockPackage__Group__2__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockPackageAccess().getLeftCurlyBracketKeyword_2()); }
+
+	'{' 
+
+{ after(grammarAccess.getEntityMockPackageAccess().getLeftCurlyBracketKeyword_2()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockPackage__Group__3
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockPackage__Group__3__Impl
+	rule__EntityMockPackage__Group__4
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockPackage__Group__3__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockPackageAccess().getGroup_3()); }
+(rule__EntityMockPackage__Group_3__0)?
+{ after(grammarAccess.getEntityMockPackageAccess().getGroup_3()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockPackage__Group__4
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockPackage__Group__4__Impl
+	rule__EntityMockPackage__Group__5
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockPackage__Group__4__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockPackageAccess().getGroup_4()); }
+(rule__EntityMockPackage__Group_4__0)*
+{ after(grammarAccess.getEntityMockPackageAccess().getGroup_4()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockPackage__Group__5
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockPackage__Group__5__Impl
+	rule__EntityMockPackage__Group__6
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockPackage__Group__5__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockPackageAccess().getDatainterchangesAssignment_5()); }
+(rule__EntityMockPackage__DatainterchangesAssignment_5)?
+{ after(grammarAccess.getEntityMockPackageAccess().getDatainterchangesAssignment_5()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockPackage__Group__6
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockPackage__Group__6__Impl
+	rule__EntityMockPackage__Group__7
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockPackage__Group__6__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockPackageAccess().getResourcesAssignment_6()); }
+(rule__EntityMockPackage__ResourcesAssignment_6)?
+{ after(grammarAccess.getEntityMockPackageAccess().getResourcesAssignment_6()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockPackage__Group__7
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockPackage__Group__7__Impl
+	rule__EntityMockPackage__Group__8
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockPackage__Group__7__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockPackageAccess().getObjectsAssignment_7()); }
+(rule__EntityMockPackage__ObjectsAssignment_7)?
+{ after(grammarAccess.getEntityMockPackageAccess().getObjectsAssignment_7()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockPackage__Group__8
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockPackage__Group__8__Impl
+	rule__EntityMockPackage__Group__9
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockPackage__Group__8__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockPackageAccess().getDatatypesAssignment_8()); }
+(rule__EntityMockPackage__DatatypesAssignment_8)?
+{ after(grammarAccess.getEntityMockPackageAccess().getDatatypesAssignment_8()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockPackage__Group__9
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockPackage__Group__9__Impl
+	rule__EntityMockPackage__Group__10
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockPackage__Group__9__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockPackageAccess().getEntitiesAssignment_9()); }
+(rule__EntityMockPackage__EntitiesAssignment_9)
+{ after(grammarAccess.getEntityMockPackageAccess().getEntitiesAssignment_9()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockPackage__Group__10
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockPackage__Group__10__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockPackage__Group__10__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockPackageAccess().getRightCurlyBracketKeyword_10()); }
+
+	'}' 
+
+{ after(grammarAccess.getEntityMockPackageAccess().getRightCurlyBracketKeyword_10()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__EntityMockPackage__Group_3__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockPackage__Group_3__0__Impl
+	rule__EntityMockPackage__Group_3__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockPackage__Group_3__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockPackageAccess().getRunWithPriorityKeyword_3_0()); }
+
+	'run with priority' 
+
+{ after(grammarAccess.getEntityMockPackageAccess().getRunWithPriorityKeyword_3_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockPackage__Group_3__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockPackage__Group_3__1__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockPackage__Group_3__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockPackageAccess().getRunPriorityAssignment_3_1()); }
+(rule__EntityMockPackage__RunPriorityAssignment_3_1)
+{ after(grammarAccess.getEntityMockPackageAccess().getRunPriorityAssignment_3_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__EntityMockPackage__Group_4__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockPackage__Group_4__0__Impl
+	rule__EntityMockPackage__Group_4__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockPackage__Group_4__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockPackageAccess().getImportKeyword_4_0()); }
+
+	'import' 
+
+{ after(grammarAccess.getEntityMockPackageAccess().getImportKeyword_4_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockPackage__Group_4__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockPackage__Group_4__1__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockPackage__Group_4__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockPackageAccess().getImportsAssignment_4_1()); }
+(rule__EntityMockPackage__ImportsAssignment_4_1)
+{ after(grammarAccess.getEntityMockPackageAccess().getImportsAssignment_4_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__EntityMockQualifiedNameWithWildCard__Group__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockQualifiedNameWithWildCard__Group__0__Impl
+	rule__EntityMockQualifiedNameWithWildCard__Group__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockQualifiedNameWithWildCard__Group__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockQualifiedNameWithWildCardAccess().getQualifiedNameParserRuleCall_0()); }
+	ruleQualifiedName
+{ after(grammarAccess.getEntityMockQualifiedNameWithWildCardAccess().getQualifiedNameParserRuleCall_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockQualifiedNameWithWildCard__Group__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockQualifiedNameWithWildCard__Group__1__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockQualifiedNameWithWildCard__Group__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockQualifiedNameWithWildCardAccess().getGroup_1()); }
+(rule__EntityMockQualifiedNameWithWildCard__Group_1__0)?
+{ after(grammarAccess.getEntityMockQualifiedNameWithWildCardAccess().getGroup_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__EntityMockQualifiedNameWithWildCard__Group_1__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockQualifiedNameWithWildCard__Group_1__0__Impl
+	rule__EntityMockQualifiedNameWithWildCard__Group_1__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockQualifiedNameWithWildCard__Group_1__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockQualifiedNameWithWildCardAccess().getFullStopKeyword_1_0()); }
+
+	'.' 
+
+{ after(grammarAccess.getEntityMockQualifiedNameWithWildCardAccess().getFullStopKeyword_1_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockQualifiedNameWithWildCard__Group_1__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockQualifiedNameWithWildCard__Group_1__1__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockQualifiedNameWithWildCard__Group_1__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockQualifiedNameWithWildCardAccess().getAsteriskKeyword_1_1()); }
+
+	'*' 
+
+{ after(grammarAccess.getEntityMockQualifiedNameWithWildCardAccess().getAsteriskKeyword_1_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__RunningDataInterchanges__Group__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__RunningDataInterchanges__Group__0__Impl
+	rule__RunningDataInterchanges__Group__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__RunningDataInterchanges__Group__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getRunningDataInterchangesAccess().getRunningDataInterchangesAction_0()); }
+(
+
+)
+{ after(grammarAccess.getRunningDataInterchangesAccess().getRunningDataInterchangesAction_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__RunningDataInterchanges__Group__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__RunningDataInterchanges__Group__1__Impl
+	rule__RunningDataInterchanges__Group__2
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__RunningDataInterchanges__Group__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getRunningDataInterchangesAccess().getDatainterchangesKeyword_1()); }
+
+	'datainterchanges' 
+
+{ after(grammarAccess.getRunningDataInterchangesAccess().getDatainterchangesKeyword_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__RunningDataInterchanges__Group__2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__RunningDataInterchanges__Group__2__Impl
+	rule__RunningDataInterchanges__Group__3
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__RunningDataInterchanges__Group__2__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getRunningDataInterchangesAccess().getLeftCurlyBracketKeyword_2()); }
+
+	'{' 
+
+{ after(grammarAccess.getRunningDataInterchangesAccess().getLeftCurlyBracketKeyword_2()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__RunningDataInterchanges__Group__3
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__RunningDataInterchanges__Group__3__Impl
+	rule__RunningDataInterchanges__Group__4
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__RunningDataInterchanges__Group__3__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getRunningDataInterchangesAccess().getDatainterchangesAssignment_3()); }
+(rule__RunningDataInterchanges__DatainterchangesAssignment_3)*
+{ after(grammarAccess.getRunningDataInterchangesAccess().getDatainterchangesAssignment_3()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__RunningDataInterchanges__Group__4
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__RunningDataInterchanges__Group__4__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__RunningDataInterchanges__Group__4__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getRunningDataInterchangesAccess().getRightCurlyBracketKeyword_4()); }
+
+	'}' 
+
+{ after(grammarAccess.getRunningDataInterchangesAccess().getRightCurlyBracketKeyword_4()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+rule__RunningDataInterchange__Group__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__RunningDataInterchange__Group__0__Impl
+	rule__RunningDataInterchange__Group__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__RunningDataInterchange__Group__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getRunningDataInterchangeAccess().getRunningDataInterchangeAction_0()); }
+(
+
+)
+{ after(grammarAccess.getRunningDataInterchangeAccess().getRunningDataInterchangeAction_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__RunningDataInterchange__Group__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__RunningDataInterchange__Group__1__Impl
+	rule__RunningDataInterchange__Group__2
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__RunningDataInterchange__Group__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getRunningDataInterchangeAccess().getDatainterchangeImportKeyword_1()); }
+
+	'datainterchange import' 
+
+{ after(grammarAccess.getRunningDataInterchangeAccess().getDatainterchangeImportKeyword_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__RunningDataInterchange__Group__2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__RunningDataInterchange__Group__2__Impl
+	rule__RunningDataInterchange__Group__3
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__RunningDataInterchange__Group__2__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getRunningDataInterchangeAccess().getDatainterchangeRefAssignment_2()); }
+(rule__RunningDataInterchange__DatainterchangeRefAssignment_2)
+{ after(grammarAccess.getRunningDataInterchangeAccess().getDatainterchangeRefAssignment_2()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__RunningDataInterchange__Group__3
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__RunningDataInterchange__Group__3__Impl
+	rule__RunningDataInterchange__Group__4
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__RunningDataInterchange__Group__3__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getRunningDataInterchangeAccess().getFromFileKeyword_3()); }
+
+	'from file' 
+
+{ after(grammarAccess.getRunningDataInterchangeAccess().getFromFileKeyword_3()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__RunningDataInterchange__Group__4
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__RunningDataInterchange__Group__4__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__RunningDataInterchange__Group__4__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getRunningDataInterchangeAccess().getFileURLAssignment_4()); }
+(rule__RunningDataInterchange__FileURLAssignment_4)
+{ after(grammarAccess.getRunningDataInterchangeAccess().getFileURLAssignment_4()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+rule__EntityMockResources__Group__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockResources__Group__0__Impl
+	rule__EntityMockResources__Group__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockResources__Group__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockResourcesAccess().getEntityMockResourcesAction_0()); }
+(
+
+)
+{ after(grammarAccess.getEntityMockResourcesAccess().getEntityMockResourcesAction_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockResources__Group__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockResources__Group__1__Impl
+	rule__EntityMockResources__Group__2
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockResources__Group__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockResourcesAccess().getResourcesKeyword_1()); }
+
+	'resources' 
+
+{ after(grammarAccess.getEntityMockResourcesAccess().getResourcesKeyword_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockResources__Group__2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockResources__Group__2__Impl
+	rule__EntityMockResources__Group__3
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockResources__Group__2__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockResourcesAccess().getLeftCurlyBracketKeyword_2()); }
+
+	'{' 
+
+{ after(grammarAccess.getEntityMockResourcesAccess().getLeftCurlyBracketKeyword_2()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockResources__Group__3
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockResources__Group__3__Impl
+	rule__EntityMockResources__Group__4
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockResources__Group__3__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockResourcesAccess().getResourcesAssignment_3()); }
+(rule__EntityMockResources__ResourcesAssignment_3)*
+{ after(grammarAccess.getEntityMockResourcesAccess().getResourcesAssignment_3()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockResources__Group__4
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockResources__Group__4__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockResources__Group__4__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockResourcesAccess().getRightCurlyBracketKeyword_4()); }
+
+	'}' 
+
+{ after(grammarAccess.getEntityMockResourcesAccess().getRightCurlyBracketKeyword_4()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+rule__EntityMockResource__Group__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockResource__Group__0__Impl
+	rule__EntityMockResource__Group__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockResource__Group__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockResourceAccess().getResourceKeyword_0()); }
+
+	'resource' 
+
+{ after(grammarAccess.getEntityMockResourceAccess().getResourceKeyword_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockResource__Group__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockResource__Group__1__Impl
+	rule__EntityMockResource__Group__2
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockResource__Group__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockResourceAccess().getNameAssignment_1()); }
+(rule__EntityMockResource__NameAssignment_1)
+{ after(grammarAccess.getEntityMockResourceAccess().getNameAssignment_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockResource__Group__2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockResource__Group__2__Impl
+	rule__EntityMockResource__Group__3
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockResource__Group__2__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockResourceAccess().getLeftCurlyBracketKeyword_2()); }
+
+	'{' 
+
+{ after(grammarAccess.getEntityMockResourceAccess().getLeftCurlyBracketKeyword_2()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockResource__Group__3
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockResource__Group__3__Impl
+	rule__EntityMockResource__Group__4
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockResource__Group__3__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockResourceAccess().getGroup_3()); }
+(rule__EntityMockResource__Group_3__0)?
+{ after(grammarAccess.getEntityMockResourceAccess().getGroup_3()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockResource__Group__4
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockResource__Group__4__Impl
+	rule__EntityMockResource__Group__5
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockResource__Group__4__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockResourceAccess().getItemsKeyword_4()); }
+
+	'items' 
+
+{ after(grammarAccess.getEntityMockResourceAccess().getItemsKeyword_4()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockResource__Group__5
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockResource__Group__5__Impl
+	rule__EntityMockResource__Group__6
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockResource__Group__5__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockResourceAccess().getLeftCurlyBracketKeyword_5()); }
+
+	'{' 
+
+{ after(grammarAccess.getEntityMockResourceAccess().getLeftCurlyBracketKeyword_5()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockResource__Group__6
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockResource__Group__6__Impl
+	rule__EntityMockResource__Group__7
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockResource__Group__6__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockResourceAccess().getDatarowsAssignment_6()); }
+(rule__EntityMockResource__DatarowsAssignment_6)*
+{ after(grammarAccess.getEntityMockResourceAccess().getDatarowsAssignment_6()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockResource__Group__7
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockResource__Group__7__Impl
+	rule__EntityMockResource__Group__8
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockResource__Group__7__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockResourceAccess().getRightCurlyBracketKeyword_7()); }
+
+	'}' 
+
+{ after(grammarAccess.getEntityMockResourceAccess().getRightCurlyBracketKeyword_7()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockResource__Group__8
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockResource__Group__8__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockResource__Group__8__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockResourceAccess().getRightCurlyBracketKeyword_8()); }
+
+	'}' 
+
+{ after(grammarAccess.getEntityMockResourceAccess().getRightCurlyBracketKeyword_8()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__EntityMockResource__Group_3__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockResource__Group_3__0__Impl
+	rule__EntityMockResource__Group_3__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockResource__Group_3__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockResourceAccess().getAttributesKeyword_3_0()); }
+
+	'attributes' 
+
+{ after(grammarAccess.getEntityMockResourceAccess().getAttributesKeyword_3_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockResource__Group_3__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockResource__Group_3__1__Impl
+	rule__EntityMockResource__Group_3__2
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockResource__Group_3__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockResourceAccess().getLeftParenthesisKeyword_3_1()); }
+
+	'(' 
+
+{ after(grammarAccess.getEntityMockResourceAccess().getLeftParenthesisKeyword_3_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockResource__Group_3__2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockResource__Group_3__2__Impl
+	rule__EntityMockResource__Group_3__3
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockResource__Group_3__2__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockResourceAccess().getGroup_3_2()); }
+(rule__EntityMockResource__Group_3_2__0)*
+{ after(grammarAccess.getEntityMockResourceAccess().getGroup_3_2()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockResource__Group_3__3
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockResource__Group_3__3__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockResource__Group_3__3__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockResourceAccess().getRightParenthesisKeyword_3_3()); }
+
+	')' 
+
+{ after(grammarAccess.getEntityMockResourceAccess().getRightParenthesisKeyword_3_3()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+rule__EntityMockResource__Group_3_2__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockResource__Group_3_2__0__Impl
+	rule__EntityMockResource__Group_3_2__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockResource__Group_3_2__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockResourceAccess().getAttributesAssignment_3_2_0()); }
+(rule__EntityMockResource__AttributesAssignment_3_2_0)
+{ after(grammarAccess.getEntityMockResourceAccess().getAttributesAssignment_3_2_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockResource__Group_3_2__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockResource__Group_3_2__1__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockResource__Group_3_2__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockResourceAccess().getCommaKeyword_3_2_1()); }
+(
+	',' 
+)?
+{ after(grammarAccess.getEntityMockResourceAccess().getCommaKeyword_3_2_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__EntityMockResourceAttribute__Group__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockResourceAttribute__Group__0__Impl
+	rule__EntityMockResourceAttribute__Group__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockResourceAttribute__Group__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockResourceAttributeAccess().getEntityMockResourceAttributeAction_0()); }
+(
+
+)
+{ after(grammarAccess.getEntityMockResourceAttributeAccess().getEntityMockResourceAttributeAction_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockResourceAttribute__Group__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockResourceAttribute__Group__1__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockResourceAttribute__Group__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockResourceAttributeAccess().getNameAssignment_1()); }
+(rule__EntityMockResourceAttribute__NameAssignment_1)
+{ after(grammarAccess.getEntityMockResourceAttributeAccess().getNameAssignment_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__EntityMockResourceDataRow__Group__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockResourceDataRow__Group__0__Impl
+	rule__EntityMockResourceDataRow__Group__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockResourceDataRow__Group__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockResourceDataRowAccess().getEntityMockResourceDataRowAction_0()); }
+(
+
+)
+{ after(grammarAccess.getEntityMockResourceDataRowAccess().getEntityMockResourceDataRowAction_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockResourceDataRow__Group__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockResourceDataRow__Group__1__Impl
+	rule__EntityMockResourceDataRow__Group__2
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockResourceDataRow__Group__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockResourceDataRowAccess().getNameAssignment_1()); }
+(rule__EntityMockResourceDataRow__NameAssignment_1)
+{ after(grammarAccess.getEntityMockResourceDataRowAccess().getNameAssignment_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockResourceDataRow__Group__2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockResourceDataRow__Group__2__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockResourceDataRow__Group__2__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockResourceDataRowAccess().getGroup_2()); }
+(rule__EntityMockResourceDataRow__Group_2__0)?
+{ after(grammarAccess.getEntityMockResourceDataRowAccess().getGroup_2()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__EntityMockResourceDataRow__Group_2__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockResourceDataRow__Group_2__0__Impl
+	rule__EntityMockResourceDataRow__Group_2__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockResourceDataRow__Group_2__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockResourceDataRowAccess().getLeftParenthesisKeyword_2_0()); }
+
+	'(' 
+
+{ after(grammarAccess.getEntityMockResourceDataRowAccess().getLeftParenthesisKeyword_2_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockResourceDataRow__Group_2__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockResourceDataRow__Group_2__1__Impl
+	rule__EntityMockResourceDataRow__Group_2__2
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockResourceDataRow__Group_2__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockResourceDataRowAccess().getGroup_2_1()); }
+(rule__EntityMockResourceDataRow__Group_2_1__0)*
+{ after(grammarAccess.getEntityMockResourceDataRowAccess().getGroup_2_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockResourceDataRow__Group_2__2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockResourceDataRow__Group_2__2__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockResourceDataRow__Group_2__2__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockResourceDataRowAccess().getRightParenthesisKeyword_2_2()); }
+
+	')' 
+
+{ after(grammarAccess.getEntityMockResourceDataRowAccess().getRightParenthesisKeyword_2_2()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__EntityMockResourceDataRow__Group_2_1__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockResourceDataRow__Group_2_1__0__Impl
+	rule__EntityMockResourceDataRow__Group_2_1__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockResourceDataRow__Group_2_1__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockResourceDataRowAccess().getValuesAssignment_2_1_0()); }
+(rule__EntityMockResourceDataRow__ValuesAssignment_2_1_0)
+{ after(grammarAccess.getEntityMockResourceDataRowAccess().getValuesAssignment_2_1_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockResourceDataRow__Group_2_1__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockResourceDataRow__Group_2_1__1__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockResourceDataRow__Group_2_1__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockResourceDataRowAccess().getCommaKeyword_2_1_1()); }
+(
+	',' 
+)?
+{ after(grammarAccess.getEntityMockResourceDataRowAccess().getCommaKeyword_2_1_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__EntityMockObjects__Group__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockObjects__Group__0__Impl
+	rule__EntityMockObjects__Group__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockObjects__Group__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockObjectsAccess().getEntityMockObjectsAction_0()); }
+(
+
+)
+{ after(grammarAccess.getEntityMockObjectsAccess().getEntityMockObjectsAction_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockObjects__Group__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockObjects__Group__1__Impl
+	rule__EntityMockObjects__Group__2
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockObjects__Group__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockObjectsAccess().getObjectsKeyword_1()); }
+
+	'objects' 
+
+{ after(grammarAccess.getEntityMockObjectsAccess().getObjectsKeyword_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockObjects__Group__2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockObjects__Group__2__Impl
+	rule__EntityMockObjects__Group__3
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockObjects__Group__2__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockObjectsAccess().getLeftCurlyBracketKeyword_2()); }
+
+	'{' 
+
+{ after(grammarAccess.getEntityMockObjectsAccess().getLeftCurlyBracketKeyword_2()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockObjects__Group__3
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockObjects__Group__3__Impl
+	rule__EntityMockObjects__Group__4
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockObjects__Group__3__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockObjectsAccess().getObjectsAssignment_3()); }
+(rule__EntityMockObjects__ObjectsAssignment_3)*
+{ after(grammarAccess.getEntityMockObjectsAccess().getObjectsAssignment_3()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockObjects__Group__4
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockObjects__Group__4__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockObjects__Group__4__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockObjectsAccess().getRightCurlyBracketKeyword_4()); }
+
+	'}' 
+
+{ after(grammarAccess.getEntityMockObjectsAccess().getRightCurlyBracketKeyword_4()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+rule__EntityMockObject__Group__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockObject__Group__0__Impl
+	rule__EntityMockObject__Group__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockObject__Group__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockObjectAccess().getObjectKeyword_0()); }
+
+	'object' 
+
+{ after(grammarAccess.getEntityMockObjectAccess().getObjectKeyword_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockObject__Group__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockObject__Group__1__Impl
+	rule__EntityMockObject__Group__2
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockObject__Group__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockObjectAccess().getNameAssignment_1()); }
+(rule__EntityMockObject__NameAssignment_1)
+{ after(grammarAccess.getEntityMockObjectAccess().getNameAssignment_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockObject__Group__2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockObject__Group__2__Impl
+	rule__EntityMockObject__Group__3
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockObject__Group__2__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockObjectAccess().getLeftCurlyBracketKeyword_2()); }
+
+	'{' 
+
+{ after(grammarAccess.getEntityMockObjectAccess().getLeftCurlyBracketKeyword_2()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockObject__Group__3
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockObject__Group__3__Impl
+	rule__EntityMockObject__Group__4
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockObject__Group__3__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockObjectAccess().getEnumerationsAssignment_3()); }
+(rule__EntityMockObject__EnumerationsAssignment_3)*
+{ after(grammarAccess.getEntityMockObjectAccess().getEnumerationsAssignment_3()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockObject__Group__4
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockObject__Group__4__Impl
+	rule__EntityMockObject__Group__5
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockObject__Group__4__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockObjectAccess().getAttributesAssignment_4()); }
+(rule__EntityMockObject__AttributesAssignment_4)*
+{ after(grammarAccess.getEntityMockObjectAccess().getAttributesAssignment_4()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockObject__Group__5
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockObject__Group__5__Impl
+	rule__EntityMockObject__Group__6
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockObject__Group__5__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockObjectAccess().getCalculationsAssignment_5()); }
+(rule__EntityMockObject__CalculationsAssignment_5)*
+{ after(grammarAccess.getEntityMockObjectAccess().getCalculationsAssignment_5()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockObject__Group__6
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockObject__Group__6__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockObject__Group__6__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockObjectAccess().getRightCurlyBracketKeyword_6()); }
+
+	'}' 
+
+{ after(grammarAccess.getEntityMockObjectAccess().getRightCurlyBracketKeyword_6()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__EntityMockObjectEnum__Group__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockObjectEnum__Group__0__Impl
+	rule__EntityMockObjectEnum__Group__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockObjectEnum__Group__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockObjectEnumAccess().getVarKeyword_0()); }
+
+	'var' 
+
+{ after(grammarAccess.getEntityMockObjectEnumAccess().getVarKeyword_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockObjectEnum__Group__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockObjectEnum__Group__1__Impl
+	rule__EntityMockObjectEnum__Group__2
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockObjectEnum__Group__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockObjectEnumAccess().getNameAssignment_1()); }
+(rule__EntityMockObjectEnum__NameAssignment_1)
+{ after(grammarAccess.getEntityMockObjectEnumAccess().getNameAssignment_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockObjectEnum__Group__2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockObjectEnum__Group__2__Impl
+	rule__EntityMockObjectEnum__Group__3
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockObjectEnum__Group__2__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockObjectEnumAccess().getByEnumKeyword_2()); }
+
+	'by enum' 
+
+{ after(grammarAccess.getEntityMockObjectEnumAccess().getByEnumKeyword_2()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockObjectEnum__Group__3
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockObjectEnum__Group__3__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockObjectEnum__Group__3__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockObjectEnumAccess().getUsingResourceAssignment_3()); }
+(rule__EntityMockObjectEnum__UsingResourceAssignment_3)
+{ after(grammarAccess.getEntityMockObjectEnumAccess().getUsingResourceAssignment_3()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+rule__EntityMockDataTypes__Group__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockDataTypes__Group__0__Impl
+	rule__EntityMockDataTypes__Group__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockDataTypes__Group__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockDataTypesAccess().getEntityMockDataTypesAction_0()); }
+(
+
+)
+{ after(grammarAccess.getEntityMockDataTypesAccess().getEntityMockDataTypesAction_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockDataTypes__Group__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockDataTypes__Group__1__Impl
+	rule__EntityMockDataTypes__Group__2
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockDataTypes__Group__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockDataTypesAccess().getDatatypesKeyword_1()); }
+
+	'datatypes' 
+
+{ after(grammarAccess.getEntityMockDataTypesAccess().getDatatypesKeyword_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockDataTypes__Group__2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockDataTypes__Group__2__Impl
+	rule__EntityMockDataTypes__Group__3
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockDataTypes__Group__2__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockDataTypesAccess().getLeftCurlyBracketKeyword_2()); }
+
+	'{' 
+
+{ after(grammarAccess.getEntityMockDataTypesAccess().getLeftCurlyBracketKeyword_2()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockDataTypes__Group__3
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockDataTypes__Group__3__Impl
+	rule__EntityMockDataTypes__Group__4
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockDataTypes__Group__3__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockDataTypesAccess().getDatatypesAssignment_3()); }
+(rule__EntityMockDataTypes__DatatypesAssignment_3)*
+{ after(grammarAccess.getEntityMockDataTypesAccess().getDatatypesAssignment_3()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockDataTypes__Group__4
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockDataTypes__Group__4__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockDataTypes__Group__4__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockDataTypesAccess().getRightCurlyBracketKeyword_4()); }
+
+	'}' 
+
+{ after(grammarAccess.getEntityMockDataTypesAccess().getRightCurlyBracketKeyword_4()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+rule__EntityMockObjectPlainValue__Group__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockObjectPlainValue__Group__0__Impl
+	rule__EntityMockObjectPlainValue__Group__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockObjectPlainValue__Group__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockObjectPlainValueAccess().getVarKeyword_0()); }
+
+	'var' 
+
+{ after(grammarAccess.getEntityMockObjectPlainValueAccess().getVarKeyword_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockObjectPlainValue__Group__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockObjectPlainValue__Group__1__Impl
+	rule__EntityMockObjectPlainValue__Group__2
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockObjectPlainValue__Group__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockObjectPlainValueAccess().getNameAssignment_1()); }
+(rule__EntityMockObjectPlainValue__NameAssignment_1)
+{ after(grammarAccess.getEntityMockObjectPlainValueAccess().getNameAssignment_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockObjectPlainValue__Group__2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockObjectPlainValue__Group__2__Impl
+	rule__EntityMockObjectPlainValue__Group__3
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockObjectPlainValue__Group__2__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockObjectPlainValueAccess().getLeftParenthesisKeyword_2()); }
+
+	'(' 
+
+{ after(grammarAccess.getEntityMockObjectPlainValueAccess().getLeftParenthesisKeyword_2()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockObjectPlainValue__Group__3
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockObjectPlainValue__Group__3__Impl
+	rule__EntityMockObjectPlainValue__Group__4
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockObjectPlainValue__Group__3__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockObjectPlainValueAccess().getGroup_3()); }
+(rule__EntityMockObjectPlainValue__Group_3__0)*
+{ after(grammarAccess.getEntityMockObjectPlainValueAccess().getGroup_3()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockObjectPlainValue__Group__4
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockObjectPlainValue__Group__4__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockObjectPlainValue__Group__4__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockObjectPlainValueAccess().getRightParenthesisKeyword_4()); }
+
+	')' 
+
+{ after(grammarAccess.getEntityMockObjectPlainValueAccess().getRightParenthesisKeyword_4()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+rule__EntityMockObjectPlainValue__Group_3__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockObjectPlainValue__Group_3__0__Impl
+	rule__EntityMockObjectPlainValue__Group_3__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockObjectPlainValue__Group_3__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockObjectPlainValueAccess().getValuesAssignment_3_0()); }
+(rule__EntityMockObjectPlainValue__ValuesAssignment_3_0)
+{ after(grammarAccess.getEntityMockObjectPlainValueAccess().getValuesAssignment_3_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockObjectPlainValue__Group_3__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockObjectPlainValue__Group_3__1__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockObjectPlainValue__Group_3__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockObjectPlainValueAccess().getCommaKeyword_3_1()); }
+(
+	',' 
+)?
+{ after(grammarAccess.getEntityMockObjectPlainValueAccess().getCommaKeyword_3_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__EntityMockObjectResourceValue__Group__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockObjectResourceValue__Group__0__Impl
+	rule__EntityMockObjectResourceValue__Group__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockObjectResourceValue__Group__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockObjectResourceValueAccess().getVarKeyword_0()); }
+
+	'var' 
+
+{ after(grammarAccess.getEntityMockObjectResourceValueAccess().getVarKeyword_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockObjectResourceValue__Group__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockObjectResourceValue__Group__1__Impl
+	rule__EntityMockObjectResourceValue__Group__2
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockObjectResourceValue__Group__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockObjectResourceValueAccess().getNameAssignment_1()); }
+(rule__EntityMockObjectResourceValue__NameAssignment_1)
+{ after(grammarAccess.getEntityMockObjectResourceValueAccess().getNameAssignment_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockObjectResourceValue__Group__2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockObjectResourceValue__Group__2__Impl
+	rule__EntityMockObjectResourceValue__Group__3
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockObjectResourceValue__Group__2__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockObjectResourceValueAccess().getWithKeyword_2()); }
+
+	'with' 
+
+{ after(grammarAccess.getEntityMockObjectResourceValueAccess().getWithKeyword_2()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockObjectResourceValue__Group__3
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockObjectResourceValue__Group__3__Impl
+	rule__EntityMockObjectResourceValue__Group__4
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockObjectResourceValue__Group__3__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockObjectResourceValueAccess().getResourceEnumAssignment_3()); }
+(rule__EntityMockObjectResourceValue__ResourceEnumAssignment_3)
+{ after(grammarAccess.getEntityMockObjectResourceValueAccess().getResourceEnumAssignment_3()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockObjectResourceValue__Group__4
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockObjectResourceValue__Group__4__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockObjectResourceValue__Group__4__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockObjectResourceValueAccess().getGroup_4()); }
+(rule__EntityMockObjectResourceValue__Group_4__0)?
+{ after(grammarAccess.getEntityMockObjectResourceValueAccess().getGroup_4()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+rule__EntityMockObjectResourceValue__Group_4__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockObjectResourceValue__Group_4__0__Impl
+	rule__EntityMockObjectResourceValue__Group_4__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockObjectResourceValue__Group_4__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockObjectResourceValueAccess().getFullStopKeyword_4_0()); }
+
+	'.' 
+
+{ after(grammarAccess.getEntityMockObjectResourceValueAccess().getFullStopKeyword_4_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockObjectResourceValue__Group_4__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockObjectResourceValue__Group_4__1__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockObjectResourceValue__Group_4__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockObjectResourceValueAccess().getResourceAttributeAssignment_4_1()); }
+(rule__EntityMockObjectResourceValue__ResourceAttributeAssignment_4_1)
+{ after(grammarAccess.getEntityMockObjectResourceValueAccess().getResourceAttributeAssignment_4_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__EntityMockObjectArrayValue__Group__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockObjectArrayValue__Group__0__Impl
+	rule__EntityMockObjectArrayValue__Group__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockObjectArrayValue__Group__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockObjectArrayValueAccess().getVarKeyword_0()); }
+
+	'var' 
+
+{ after(grammarAccess.getEntityMockObjectArrayValueAccess().getVarKeyword_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockObjectArrayValue__Group__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockObjectArrayValue__Group__1__Impl
+	rule__EntityMockObjectArrayValue__Group__2
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockObjectArrayValue__Group__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockObjectArrayValueAccess().getNameAssignment_1()); }
+(rule__EntityMockObjectArrayValue__NameAssignment_1)
+{ after(grammarAccess.getEntityMockObjectArrayValueAccess().getNameAssignment_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockObjectArrayValue__Group__2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockObjectArrayValue__Group__2__Impl
+	rule__EntityMockObjectArrayValue__Group__3
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockObjectArrayValue__Group__2__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockObjectArrayValueAccess().getSwitchOnKeyword_2()); }
+
+	'switch on' 
+
+{ after(grammarAccess.getEntityMockObjectArrayValueAccess().getSwitchOnKeyword_2()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockObjectArrayValue__Group__3
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockObjectArrayValue__Group__3__Impl
+	rule__EntityMockObjectArrayValue__Group__4
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockObjectArrayValue__Group__3__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockObjectArrayValueAccess().getEnumerationAssignment_3()); }
+(rule__EntityMockObjectArrayValue__EnumerationAssignment_3)
+{ after(grammarAccess.getEntityMockObjectArrayValueAccess().getEnumerationAssignment_3()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockObjectArrayValue__Group__4
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockObjectArrayValue__Group__4__Impl
+	rule__EntityMockObjectArrayValue__Group__5
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockObjectArrayValue__Group__4__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockObjectArrayValueAccess().getLeftCurlyBracketKeyword_4()); }
+
+	'{' 
+
+{ after(grammarAccess.getEntityMockObjectArrayValueAccess().getLeftCurlyBracketKeyword_4()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockObjectArrayValue__Group__5
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockObjectArrayValue__Group__5__Impl
+	rule__EntityMockObjectArrayValue__Group__6
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockObjectArrayValue__Group__5__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockObjectArrayValueAccess().getItemsAssignment_5()); }
+(rule__EntityMockObjectArrayValue__ItemsAssignment_5)*
+{ after(grammarAccess.getEntityMockObjectArrayValueAccess().getItemsAssignment_5()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockObjectArrayValue__Group__6
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockObjectArrayValue__Group__6__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockObjectArrayValue__Group__6__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockObjectArrayValueAccess().getRightCurlyBracketKeyword_6()); }
+
+	'}' 
+
+{ after(grammarAccess.getEntityMockObjectArrayValueAccess().getRightCurlyBracketKeyword_6()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__EntityMockObjectItemValue__Group__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockObjectItemValue__Group__0__Impl
+	rule__EntityMockObjectItemValue__Group__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockObjectItemValue__Group__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockObjectItemValueAccess().getWhenKeyword_0()); }
+
+	'when' 
+
+{ after(grammarAccess.getEntityMockObjectItemValueAccess().getWhenKeyword_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockObjectItemValue__Group__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockObjectItemValue__Group__1__Impl
+	rule__EntityMockObjectItemValue__Group__2
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockObjectItemValue__Group__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockObjectItemValueAccess().getDatarowAssignment_1()); }
+(rule__EntityMockObjectItemValue__DatarowAssignment_1)
+{ after(grammarAccess.getEntityMockObjectItemValueAccess().getDatarowAssignment_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockObjectItemValue__Group__2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockObjectItemValue__Group__2__Impl
+	rule__EntityMockObjectItemValue__Group__3
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockObjectItemValue__Group__2__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockObjectItemValueAccess().getLeftParenthesisKeyword_2()); }
+
+	'(' 
+
+{ after(grammarAccess.getEntityMockObjectItemValueAccess().getLeftParenthesisKeyword_2()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockObjectItemValue__Group__3
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockObjectItemValue__Group__3__Impl
+	rule__EntityMockObjectItemValue__Group__4
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockObjectItemValue__Group__3__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockObjectItemValueAccess().getGroup_3()); }
+(rule__EntityMockObjectItemValue__Group_3__0)*
+{ after(grammarAccess.getEntityMockObjectItemValueAccess().getGroup_3()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockObjectItemValue__Group__4
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockObjectItemValue__Group__4__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockObjectItemValue__Group__4__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockObjectItemValueAccess().getRightParenthesisKeyword_4()); }
+
+	')' 
+
+{ after(grammarAccess.getEntityMockObjectItemValueAccess().getRightParenthesisKeyword_4()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+rule__EntityMockObjectItemValue__Group_3__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockObjectItemValue__Group_3__0__Impl
+	rule__EntityMockObjectItemValue__Group_3__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockObjectItemValue__Group_3__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockObjectItemValueAccess().getValuesAssignment_3_0()); }
+(rule__EntityMockObjectItemValue__ValuesAssignment_3_0)
+{ after(grammarAccess.getEntityMockObjectItemValueAccess().getValuesAssignment_3_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockObjectItemValue__Group_3__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockObjectItemValue__Group_3__1__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockObjectItemValue__Group_3__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockObjectItemValueAccess().getCommaKeyword_3_1()); }
+(
+	',' 
+)?
+{ after(grammarAccess.getEntityMockObjectItemValueAccess().getCommaKeyword_3_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__EntityMockObjectEmbed__Group__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockObjectEmbed__Group__0__Impl
+	rule__EntityMockObjectEmbed__Group__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockObjectEmbed__Group__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockObjectEmbedAccess().getEntityMockObjectEmbedAction_0()); }
+(
+
+)
+{ after(grammarAccess.getEntityMockObjectEmbedAccess().getEntityMockObjectEmbedAction_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockObjectEmbed__Group__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockObjectEmbed__Group__1__Impl
+	rule__EntityMockObjectEmbed__Group__2
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockObjectEmbed__Group__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockObjectEmbedAccess().getEmbedKeyword_1()); }
+
+	'embed' 
+
+{ after(grammarAccess.getEntityMockObjectEmbedAccess().getEmbedKeyword_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockObjectEmbed__Group__2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockObjectEmbed__Group__2__Impl
+	rule__EntityMockObjectEmbed__Group__3
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockObjectEmbed__Group__2__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockObjectEmbedAccess().getNameAssignment_2()); }
+(rule__EntityMockObjectEmbed__NameAssignment_2)
+{ after(grammarAccess.getEntityMockObjectEmbedAccess().getNameAssignment_2()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockObjectEmbed__Group__3
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockObjectEmbed__Group__3__Impl
+	rule__EntityMockObjectEmbed__Group__4
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockObjectEmbed__Group__3__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockObjectEmbedAccess().getDefinedAsKeyword_3()); }
+
+	'defined as' 
+
+{ after(grammarAccess.getEntityMockObjectEmbedAccess().getDefinedAsKeyword_3()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockObjectEmbed__Group__4
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockObjectEmbed__Group__4__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockObjectEmbed__Group__4__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockObjectEmbedAccess().getObjectAssignment_4()); }
+(rule__EntityMockObjectEmbed__ObjectAssignment_4)
+{ after(grammarAccess.getEntityMockObjectEmbedAccess().getObjectAssignment_4()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+rule__EntityMockObjectFunction__Group__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockObjectFunction__Group__0__Impl
+	rule__EntityMockObjectFunction__Group__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockObjectFunction__Group__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockObjectFunctionAccess().getVarKeyword_0()); }
+
+	'var' 
+
+{ after(grammarAccess.getEntityMockObjectFunctionAccess().getVarKeyword_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockObjectFunction__Group__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockObjectFunction__Group__1__Impl
+	rule__EntityMockObjectFunction__Group__2
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockObjectFunction__Group__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockObjectFunctionAccess().getNameAssignment_1()); }
+(rule__EntityMockObjectFunction__NameAssignment_1)
+{ after(grammarAccess.getEntityMockObjectFunctionAccess().getNameAssignment_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockObjectFunction__Group__2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockObjectFunction__Group__2__Impl
+	rule__EntityMockObjectFunction__Group__3
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockObjectFunction__Group__2__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockObjectFunctionAccess().getCalculateAsKeyword_2()); }
+
+	'calculate as' 
+
+{ after(grammarAccess.getEntityMockObjectFunctionAccess().getCalculateAsKeyword_2()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockObjectFunction__Group__3
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockObjectFunction__Group__3__Impl
+	rule__EntityMockObjectFunction__Group__4
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockObjectFunction__Group__3__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockObjectFunctionAccess().getOftypeAssignment_3()); }
+(rule__EntityMockObjectFunction__OftypeAssignment_3)
+{ after(grammarAccess.getEntityMockObjectFunctionAccess().getOftypeAssignment_3()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockObjectFunction__Group__4
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockObjectFunction__Group__4__Impl
+	rule__EntityMockObjectFunction__Group__5
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockObjectFunction__Group__4__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockObjectFunctionAccess().getBasedOnKeyword_4()); }
+
+	'based on' 
+
+{ after(grammarAccess.getEntityMockObjectFunctionAccess().getBasedOnKeyword_4()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockObjectFunction__Group__5
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockObjectFunction__Group__5__Impl
+	rule__EntityMockObjectFunction__Group__6
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockObjectFunction__Group__5__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockObjectFunctionAccess().getLeftParenthesisKeyword_5()); }
+
+	'(' 
+
+{ after(grammarAccess.getEntityMockObjectFunctionAccess().getLeftParenthesisKeyword_5()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockObjectFunction__Group__6
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockObjectFunction__Group__6__Impl
+	rule__EntityMockObjectFunction__Group__7
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockObjectFunction__Group__6__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockObjectFunctionAccess().getGroup_6()); }
+(rule__EntityMockObjectFunction__Group_6__0)?
+{ after(grammarAccess.getEntityMockObjectFunctionAccess().getGroup_6()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockObjectFunction__Group__7
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockObjectFunction__Group__7__Impl
+	rule__EntityMockObjectFunction__Group__8
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockObjectFunction__Group__7__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockObjectFunctionAccess().getRightParenthesisKeyword_7()); }
+
+	')' 
+
+{ after(grammarAccess.getEntityMockObjectFunctionAccess().getRightParenthesisKeyword_7()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockObjectFunction__Group__8
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockObjectFunction__Group__8__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockObjectFunction__Group__8__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockObjectFunctionAccess().getBodyAssignment_8()); }
+(rule__EntityMockObjectFunction__BodyAssignment_8)
+{ after(grammarAccess.getEntityMockObjectFunctionAccess().getBodyAssignment_8()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__EntityMockObjectFunction__Group_6__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockObjectFunction__Group_6__0__Impl
+	rule__EntityMockObjectFunction__Group_6__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockObjectFunction__Group_6__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockObjectFunctionAccess().getParamsAssignment_6_0()); }
+(rule__EntityMockObjectFunction__ParamsAssignment_6_0)
+{ after(grammarAccess.getEntityMockObjectFunctionAccess().getParamsAssignment_6_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockObjectFunction__Group_6__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockObjectFunction__Group_6__1__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockObjectFunction__Group_6__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockObjectFunctionAccess().getGroup_6_1()); }
+(rule__EntityMockObjectFunction__Group_6_1__0)*
+{ after(grammarAccess.getEntityMockObjectFunctionAccess().getGroup_6_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__EntityMockObjectFunction__Group_6_1__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockObjectFunction__Group_6_1__0__Impl
+	rule__EntityMockObjectFunction__Group_6_1__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockObjectFunction__Group_6_1__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockObjectFunctionAccess().getCommaKeyword_6_1_0()); }
+
+	',' 
+
+{ after(grammarAccess.getEntityMockObjectFunctionAccess().getCommaKeyword_6_1_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockObjectFunction__Group_6_1__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockObjectFunction__Group_6_1__1__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockObjectFunction__Group_6_1__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockObjectFunctionAccess().getParamsAssignment_6_1_1()); }
+(rule__EntityMockObjectFunction__ParamsAssignment_6_1_1)
+{ after(grammarAccess.getEntityMockObjectFunctionAccess().getParamsAssignment_6_1_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__EntityMockObjectFunctionParameter__Group__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockObjectFunctionParameter__Group__0__Impl
+	rule__EntityMockObjectFunctionParameter__Group__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockObjectFunctionParameter__Group__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockObjectFunctionParameterAccess().getParameterTypeAssignment_0()); }
+(rule__EntityMockObjectFunctionParameter__ParameterTypeAssignment_0)
+{ after(grammarAccess.getEntityMockObjectFunctionParameterAccess().getParameterTypeAssignment_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockObjectFunctionParameter__Group__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockObjectFunctionParameter__Group__1__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockObjectFunctionParameter__Group__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockObjectFunctionParameterAccess().getNameAssignment_1()); }
+(rule__EntityMockObjectFunctionParameter__NameAssignment_1)
+{ after(grammarAccess.getEntityMockObjectFunctionParameterAccess().getNameAssignment_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__EntityMockObjectFill__Group__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockObjectFill__Group__0__Impl
+	rule__EntityMockObjectFill__Group__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockObjectFill__Group__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockObjectFillAccess().getVarKeyword_0()); }
+
+	'var' 
+
+{ after(grammarAccess.getEntityMockObjectFillAccess().getVarKeyword_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockObjectFill__Group__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockObjectFill__Group__1__Impl
+	rule__EntityMockObjectFill__Group__2
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockObjectFill__Group__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockObjectFillAccess().getNameAssignment_1()); }
+(rule__EntityMockObjectFill__NameAssignment_1)
+{ after(grammarAccess.getEntityMockObjectFillAccess().getNameAssignment_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockObjectFill__Group__2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__EntityMockObjectFill__Group__2__Impl
+	rule__EntityMockObjectFill__Group__3
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__EntityMockObjectFill__Group__2__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getEntityMockObjectFillAccess().getRandomizeKeyword_2()); }
+
+	'randomize' 
+
+{ after(grammarAccess.getEntityMockObjectFillAccess().getRandomizeKeyword_2()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__EntityMockObjectFill__Group__3
+    @init {
+		int stackSize = keepStackSize();
+    }
diff --git a/org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.tokens b/org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.tokens
new file mode 100644
index 0000000..9f53ca1
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.tokens
@@ -0,0 +1,297 @@
+'!'=41
+'!='=23
+'!=='=25
+'#'=125
+'%'=40
+'%='=21
+'&&'=15
+'&'=148
+'('=67
+')'=68
+'*'=37
+'**'=38
+'*='=19
+'+'=35
+'++'=42
+'+='=17
+','=69
+'-'=36
+'--'=43
+'-='=18
+'->'=29
+'.'=44
+'..'=31
+'..<'=30
+'/'=39
+'/='=20
+':'=132
+'::'=153
+';'=128
+'<'=28
+'<>'=33
+'='=13
+'=='=22
+'==='=24
+'=>'=32
+'>'=27
+'>='=26
+'?'=147
+'?.'=154
+'?:'=34
+'@'=123
+'['=126
+']'=124
+'as'=115
+'attributes'=66
+'based on'=81
+'boolean'=85
+'by enum'=73
+'by object'=117
+'by resource'=108
+'calculate as'=80
+'calculate based on'=118
+'case'=134
+'catch'=146
+'createBlobMapping'=149
+'datainterchange import'=61
+'datainterchanges'=60
+'datatype'=102
+'datatypes'=74
+'date from'=113
+'date in range'=86
+'days'=52
+'decimals'=89
+'default'=133
+'defined as'=79
+'do'=137
+'else'=130
+'embed'=78
+'every'=114
+'existing entities'=16
+'extends'=46
+'extension'=49
+'false'=51
+'finally'=144
+'for entity'=105
+'for'=135
+'from file'=62
+'future date'=83
+'if'=129
+'import'=48
+'instanceof'=127
+'integer from'=110
+'items'=65
+'iterate'=109
+'mock entities'=103
+'mock entitymodel for'=56
+'mocking'=104
+'months'=54
+'new'=138
+'null'=139
+'object'=71
+'objects'=70
+'optional for'=121
+'paragraps'=95
+'past date'=84
+'percent'=122
+'randomize'=82
+'ref'=120
+'resource'=64
+'resources'=63
+'return'=142
+'round to'=90
+'rows'=106
+'run with priority'=59
+'sentences'=96
+'signed double from'=91
+'signed double in range'=88
+'signed integer from'=93
+'signed integer in range'=92
+'static'=47
+'step'=112
+'super'=50
+'switch on'=76
+'switch'=131
+'synchronized'=145
+'temporary'=116
+'text from'=94
+'throw'=141
+'to'=107
+'today'=151
+'tomorrow'=152
+'true'=156
+'try'=143
+'typeof'=140
+'unsigned double from'=99
+'unsigned double in range'=98
+'unsigned integer from'=101
+'unsigned integer in range'=100
+'until'=111
+'up to and including'=87
+'using'=119
+'val'=45
+'var'=72
+'weeks'=53
+'when'=77
+'while'=136
+'with'=75
+'words'=97
+'years'=55
+'yesterday'=150
+'{'=57
+'|'=155
+'||'=14
+'}'=58
+RULE_ANY_OTHER=12
+RULE_DECIMAL=7
+RULE_HEX=5
+RULE_ID=4
+RULE_INT=6
+RULE_ML_COMMENT=9
+RULE_SL_COMMENT=10
+RULE_STRING=8
+RULE_WS=11
+T__100=100
+T__101=101
+T__102=102
+T__103=103
+T__104=104
+T__105=105
+T__106=106
+T__107=107
+T__108=108
+T__109=109
+T__110=110
+T__111=111
+T__112=112
+T__113=113
+T__114=114
+T__115=115
+T__116=116
+T__117=117
+T__118=118
+T__119=119
+T__120=120
+T__121=121
+T__122=122
+T__123=123
+T__124=124
+T__125=125
+T__126=126
+T__127=127
+T__128=128
+T__129=129
+T__130=130
+T__131=131
+T__132=132
+T__133=133
+T__134=134
+T__135=135
+T__136=136
+T__137=137
+T__138=138
+T__139=139
+T__13=13
+T__140=140
+T__141=141
+T__142=142
+T__143=143
+T__144=144
+T__145=145
+T__146=146
+T__147=147
+T__148=148
+T__149=149
+T__14=14
+T__150=150
+T__151=151
+T__152=152
+T__153=153
+T__154=154
+T__155=155
+T__156=156
+T__15=15
+T__16=16
+T__17=17
+T__18=18
+T__19=19
+T__20=20
+T__21=21
+T__22=22
+T__23=23
+T__24=24
+T__25=25
+T__26=26
+T__27=27
+T__28=28
+T__29=29
+T__30=30
+T__31=31
+T__32=32
+T__33=33
+T__34=34
+T__35=35
+T__36=36
+T__37=37
+T__38=38
+T__39=39
+T__40=40
+T__41=41
+T__42=42
+T__43=43
+T__44=44
+T__45=45
+T__46=46
+T__47=47
+T__48=48
+T__49=49
+T__50=50
+T__51=51
+T__52=52
+T__53=53
+T__54=54
+T__55=55
+T__56=56
+T__57=57
+T__58=58
+T__59=59
+T__60=60
+T__61=61
+T__62=62
+T__63=63
+T__64=64
+T__65=65
+T__66=66
+T__67=67
+T__68=68
+T__69=69
+T__70=70
+T__71=71
+T__72=72
+T__73=73
+T__74=74
+T__75=75
+T__76=76
+T__77=77
+T__78=78
+T__79=79
+T__80=80
+T__81=81
+T__82=82
+T__83=83
+T__84=84
+T__85=85
+T__86=86
+T__87=87
+T__88=88
+T__89=89
+T__90=90
+T__91=91
+T__92=92
+T__93=93
+T__94=94
+T__95=95
+T__96=96
+T__97=97
+T__98=98
+T__99=99
diff --git a/org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSLLexer.java b/org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSLLexer.java
new file mode 100644
index 0000000..dafaf19
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSLLexer.java
@@ -0,0 +1,6120 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  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:                                                      
+ * 	   Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ * 
+ */
+
+package org.eclipse.osbp.xtext.entitymock.ui.contentassist.antlr.internal;
+
+// Hack: Use our own Lexer superclass by means of import. 
+// Currently there is no other way to specify the superclass for the lexer.
+import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.Lexer;
+
+
+import org.antlr.runtime.*;
+import java.util.Stack;
+import java.util.List;
+import java.util.ArrayList;
+
+@SuppressWarnings("all")
+public class InternalEntityMockDSLLexer extends Lexer {
+    public static final int T__144=144;
+    public static final int T__143=143;
+    public static final int T__146=146;
+    public static final int RULE_HEX=5;
+    public static final int T__50=50;
+    public static final int T__145=145;
+    public static final int T__140=140;
+    public static final int T__142=142;
+    public static final int T__141=141;
+    public static final int T__59=59;
+    public static final int T__55=55;
+    public static final int T__56=56;
+    public static final int T__57=57;
+    public static final int T__58=58;
+    public static final int T__51=51;
+    public static final int T__137=137;
+    public static final int T__52=52;
+    public static final int T__136=136;
+    public static final int T__53=53;
+    public static final int T__139=139;
+    public static final int T__54=54;
+    public static final int T__138=138;
+    public static final int T__133=133;
+    public static final int T__132=132;
+    public static final int T__60=60;
+    public static final int T__135=135;
+    public static final int T__61=61;
+    public static final int T__134=134;
+    public static final int RULE_ID=4;
+    public static final int T__131=131;
+    public static final int T__130=130;
+    public static final int RULE_INT=6;
+    public static final int T__66=66;
+    public static final int RULE_ML_COMMENT=9;
+    public static final int T__67=67;
+    public static final int T__129=129;
+    public static final int T__68=68;
+    public static final int T__69=69;
+    public static final int T__62=62;
+    public static final int T__126=126;
+    public static final int T__63=63;
+    public static final int T__125=125;
+    public static final int T__64=64;
+    public static final int T__128=128;
+    public static final int T__65=65;
+    public static final int T__127=127;
+    public static final int T__37=37;
+    public static final int T__38=38;
+    public static final int T__39=39;
+    public static final int T__33=33;
+    public static final int T__34=34;
+    public static final int T__35=35;
+    public static final int T__36=36;
+    public static final int T__30=30;
+    public static final int T__31=31;
+    public static final int T__32=32;
+    public static final int T__155=155;
+    public static final int T__154=154;
+    public static final int T__156=156;
+    public static final int T__151=151;
+    public static final int T__150=150;
+    public static final int T__153=153;
+    public static final int T__152=152;
+    public static final int T__48=48;
+    public static final int T__49=49;
+    public static final int T__44=44;
+    public static final int T__45=45;
+    public static final int T__46=46;
+    public static final int T__47=47;
+    public static final int T__40=40;
+    public static final int T__148=148;
+    public static final int T__41=41;
+    public static final int T__147=147;
+    public static final int T__42=42;
+    public static final int T__43=43;
+    public static final int T__149=149;
+    public static final int T__91=91;
+    public static final int T__100=100;
+    public static final int T__92=92;
+    public static final int T__93=93;
+    public static final int T__102=102;
+    public static final int T__94=94;
+    public static final int T__101=101;
+    public static final int T__90=90;
+    public static final int T__19=19;
+    public static final int T__15=15;
+    public static final int T__16=16;
+    public static final int T__17=17;
+    public static final int T__18=18;
+    public static final int T__99=99;
+    public static final int T__13=13;
+    public static final int T__14=14;
+    public static final int T__95=95;
+    public static final int T__96=96;
+    public static final int T__97=97;
+    public static final int T__98=98;
+    public static final int RULE_DECIMAL=7;
+    public static final int T__26=26;
+    public static final int T__27=27;
+    public static final int T__28=28;
+    public static final int T__29=29;
+    public static final int T__22=22;
+    public static final int T__23=23;
+    public static final int T__24=24;
+    public static final int T__25=25;
+    public static final int T__20=20;
+    public static final int T__21=21;
+    public static final int T__122=122;
+    public static final int T__70=70;
+    public static final int T__121=121;
+    public static final int T__71=71;
+    public static final int T__124=124;
+    public static final int T__72=72;
+    public static final int T__123=123;
+    public static final int T__120=120;
+    public static final int RULE_STRING=8;
+    public static final int RULE_SL_COMMENT=10;
+    public static final int T__77=77;
+    public static final int T__119=119;
+    public static final int T__78=78;
+    public static final int T__118=118;
+    public static final int T__79=79;
+    public static final int T__73=73;
+    public static final int T__115=115;
+    public static final int EOF=-1;
+    public static final int T__74=74;
+    public static final int T__114=114;
+    public static final int T__75=75;
+    public static final int T__117=117;
+    public static final int T__76=76;
+    public static final int T__116=116;
+    public static final int T__80=80;
+    public static final int T__111=111;
+    public static final int T__81=81;
+    public static final int T__110=110;
+    public static final int T__82=82;
+    public static final int T__113=113;
+    public static final int T__83=83;
+    public static final int T__112=112;
+    public static final int RULE_WS=11;
+    public static final int RULE_ANY_OTHER=12;
+    public static final int T__88=88;
+    public static final int T__108=108;
+    public static final int T__89=89;
+    public static final int T__107=107;
+    public static final int T__109=109;
+    public static final int T__84=84;
+    public static final int T__104=104;
+    public static final int T__85=85;
+    public static final int T__103=103;
+    public static final int T__86=86;
+    public static final int T__106=106;
+    public static final int T__87=87;
+    public static final int T__105=105;
+
+    // delegates
+    // delegators
+
+    public InternalEntityMockDSLLexer() {;} 
+    public InternalEntityMockDSLLexer(CharStream input) {
+        this(input, new RecognizerSharedState());
+    }
+    public InternalEntityMockDSLLexer(CharStream input, RecognizerSharedState state) {
+        super(input,state);
+
+    }
+    public String getGrammarFileName() { return "../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g"; }
+
+    // $ANTLR start "T__13"
+    public final void mT__13() throws RecognitionException {
+        try {
+            int _type = T__13;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:11:7: ( '=' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:11:9: '='
+            {
+            match('='); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__13"
+
+    // $ANTLR start "T__14"
+    public final void mT__14() throws RecognitionException {
+        try {
+            int _type = T__14;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:12:7: ( '||' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:12:9: '||'
+            {
+            match("||"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__14"
+
+    // $ANTLR start "T__15"
+    public final void mT__15() throws RecognitionException {
+        try {
+            int _type = T__15;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:13:7: ( '&&' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:13:9: '&&'
+            {
+            match("&&"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__15"
+
+    // $ANTLR start "T__16"
+    public final void mT__16() throws RecognitionException {
+        try {
+            int _type = T__16;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:14:7: ( 'existing entities' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:14:9: 'existing entities'
+            {
+            match("existing entities"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__16"
+
+    // $ANTLR start "T__17"
+    public final void mT__17() throws RecognitionException {
+        try {
+            int _type = T__17;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:15:7: ( '+=' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:15:9: '+='
+            {
+            match("+="); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__17"
+
+    // $ANTLR start "T__18"
+    public final void mT__18() throws RecognitionException {
+        try {
+            int _type = T__18;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:16:7: ( '-=' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:16:9: '-='
+            {
+            match("-="); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__18"
+
+    // $ANTLR start "T__19"
+    public final void mT__19() throws RecognitionException {
+        try {
+            int _type = T__19;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:17:7: ( '*=' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:17:9: '*='
+            {
+            match("*="); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__19"
+
+    // $ANTLR start "T__20"
+    public final void mT__20() throws RecognitionException {
+        try {
+            int _type = T__20;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:18:7: ( '/=' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:18:9: '/='
+            {
+            match("/="); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__20"
+
+    // $ANTLR start "T__21"
+    public final void mT__21() throws RecognitionException {
+        try {
+            int _type = T__21;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:19:7: ( '%=' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:19:9: '%='
+            {
+            match("%="); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__21"
+
+    // $ANTLR start "T__22"
+    public final void mT__22() throws RecognitionException {
+        try {
+            int _type = T__22;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:20:7: ( '==' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:20:9: '=='
+            {
+            match("=="); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__22"
+
+    // $ANTLR start "T__23"
+    public final void mT__23() throws RecognitionException {
+        try {
+            int _type = T__23;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:21:7: ( '!=' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:21:9: '!='
+            {
+            match("!="); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__23"
+
+    // $ANTLR start "T__24"
+    public final void mT__24() throws RecognitionException {
+        try {
+            int _type = T__24;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:22:7: ( '===' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:22:9: '==='
+            {
+            match("==="); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__24"
+
+    // $ANTLR start "T__25"
+    public final void mT__25() throws RecognitionException {
+        try {
+            int _type = T__25;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:23:7: ( '!==' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:23:9: '!=='
+            {
+            match("!=="); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__25"
+
+    // $ANTLR start "T__26"
+    public final void mT__26() throws RecognitionException {
+        try {
+            int _type = T__26;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:24:7: ( '>=' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:24:9: '>='
+            {
+            match(">="); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__26"
+
+    // $ANTLR start "T__27"
+    public final void mT__27() throws RecognitionException {
+        try {
+            int _type = T__27;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:25:7: ( '>' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:25:9: '>'
+            {
+            match('>'); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__27"
+
+    // $ANTLR start "T__28"
+    public final void mT__28() throws RecognitionException {
+        try {
+            int _type = T__28;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:26:7: ( '<' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:26:9: '<'
+            {
+            match('<'); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__28"
+
+    // $ANTLR start "T__29"
+    public final void mT__29() throws RecognitionException {
+        try {
+            int _type = T__29;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:27:7: ( '->' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:27:9: '->'
+            {
+            match("->"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__29"
+
+    // $ANTLR start "T__30"
+    public final void mT__30() throws RecognitionException {
+        try {
+            int _type = T__30;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:28:7: ( '..<' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:28:9: '..<'
+            {
+            match("..<"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__30"
+
+    // $ANTLR start "T__31"
+    public final void mT__31() throws RecognitionException {
+        try {
+            int _type = T__31;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:29:7: ( '..' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:29:9: '..'
+            {
+            match(".."); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__31"
+
+    // $ANTLR start "T__32"
+    public final void mT__32() throws RecognitionException {
+        try {
+            int _type = T__32;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:30:7: ( '=>' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:30:9: '=>'
+            {
+            match("=>"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__32"
+
+    // $ANTLR start "T__33"
+    public final void mT__33() throws RecognitionException {
+        try {
+            int _type = T__33;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:31:7: ( '<>' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:31:9: '<>'
+            {
+            match("<>"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__33"
+
+    // $ANTLR start "T__34"
+    public final void mT__34() throws RecognitionException {
+        try {
+            int _type = T__34;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:32:7: ( '?:' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:32:9: '?:'
+            {
+            match("?:"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__34"
+
+    // $ANTLR start "T__35"
+    public final void mT__35() throws RecognitionException {
+        try {
+            int _type = T__35;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:33:7: ( '+' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:33:9: '+'
+            {
+            match('+'); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__35"
+
+    // $ANTLR start "T__36"
+    public final void mT__36() throws RecognitionException {
+        try {
+            int _type = T__36;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:34:7: ( '-' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:34:9: '-'
+            {
+            match('-'); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__36"
+
+    // $ANTLR start "T__37"
+    public final void mT__37() throws RecognitionException {
+        try {
+            int _type = T__37;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:35:7: ( '*' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:35:9: '*'
+            {
+            match('*'); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__37"
+
+    // $ANTLR start "T__38"
+    public final void mT__38() throws RecognitionException {
+        try {
+            int _type = T__38;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:36:7: ( '**' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:36:9: '**'
+            {
+            match("**"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__38"
+
+    // $ANTLR start "T__39"
+    public final void mT__39() throws RecognitionException {
+        try {
+            int _type = T__39;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:37:7: ( '/' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:37:9: '/'
+            {
+            match('/'); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__39"
+
+    // $ANTLR start "T__40"
+    public final void mT__40() throws RecognitionException {
+        try {
+            int _type = T__40;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:38:7: ( '%' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:38:9: '%'
+            {
+            match('%'); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__40"
+
+    // $ANTLR start "T__41"
+    public final void mT__41() throws RecognitionException {
+        try {
+            int _type = T__41;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:39:7: ( '!' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:39:9: '!'
+            {
+            match('!'); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__41"
+
+    // $ANTLR start "T__42"
+    public final void mT__42() throws RecognitionException {
+        try {
+            int _type = T__42;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:40:7: ( '++' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:40:9: '++'
+            {
+            match("++"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__42"
+
+    // $ANTLR start "T__43"
+    public final void mT__43() throws RecognitionException {
+        try {
+            int _type = T__43;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:41:7: ( '--' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:41:9: '--'
+            {
+            match("--"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__43"
+
+    // $ANTLR start "T__44"
+    public final void mT__44() throws RecognitionException {
+        try {
+            int _type = T__44;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:42:7: ( '.' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:42:9: '.'
+            {
+            match('.'); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__44"
+
+    // $ANTLR start "T__45"
+    public final void mT__45() throws RecognitionException {
+        try {
+            int _type = T__45;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:43:7: ( 'val' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:43:9: 'val'
+            {
+            match("val"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__45"
+
+    // $ANTLR start "T__46"
+    public final void mT__46() throws RecognitionException {
+        try {
+            int _type = T__46;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:44:7: ( 'extends' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:44:9: 'extends'
+            {
+            match("extends"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__46"
+
+    // $ANTLR start "T__47"
+    public final void mT__47() throws RecognitionException {
+        try {
+            int _type = T__47;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:45:7: ( 'static' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:45:9: 'static'
+            {
+            match("static"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__47"
+
+    // $ANTLR start "T__48"
+    public final void mT__48() throws RecognitionException {
+        try {
+            int _type = T__48;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:46:7: ( 'import' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:46:9: 'import'
+            {
+            match("import"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__48"
+
+    // $ANTLR start "T__49"
+    public final void mT__49() throws RecognitionException {
+        try {
+            int _type = T__49;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:47:7: ( 'extension' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:47:9: 'extension'
+            {
+            match("extension"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__49"
+
+    // $ANTLR start "T__50"
+    public final void mT__50() throws RecognitionException {
+        try {
+            int _type = T__50;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:48:7: ( 'super' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:48:9: 'super'
+            {
+            match("super"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__50"
+
+    // $ANTLR start "T__51"
+    public final void mT__51() throws RecognitionException {
+        try {
+            int _type = T__51;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:49:7: ( 'false' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:49:9: 'false'
+            {
+            match("false"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__51"
+
+    // $ANTLR start "T__52"
+    public final void mT__52() throws RecognitionException {
+        try {
+            int _type = T__52;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:50:7: ( 'days' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:50:9: 'days'
+            {
+            match("days"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__52"
+
+    // $ANTLR start "T__53"
+    public final void mT__53() throws RecognitionException {
+        try {
+            int _type = T__53;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:51:7: ( 'weeks' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:51:9: 'weeks'
+            {
+            match("weeks"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__53"
+
+    // $ANTLR start "T__54"
+    public final void mT__54() throws RecognitionException {
+        try {
+            int _type = T__54;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:52:7: ( 'months' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:52:9: 'months'
+            {
+            match("months"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__54"
+
+    // $ANTLR start "T__55"
+    public final void mT__55() throws RecognitionException {
+        try {
+            int _type = T__55;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:53:7: ( 'years' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:53:9: 'years'
+            {
+            match("years"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__55"
+
+    // $ANTLR start "T__56"
+    public final void mT__56() throws RecognitionException {
+        try {
+            int _type = T__56;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:54:7: ( 'mock entitymodel for' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:54:9: 'mock entitymodel for'
+            {
+            match("mock entitymodel for"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__56"
+
+    // $ANTLR start "T__57"
+    public final void mT__57() throws RecognitionException {
+        try {
+            int _type = T__57;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:55:7: ( '{' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:55:9: '{'
+            {
+            match('{'); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__57"
+
+    // $ANTLR start "T__58"
+    public final void mT__58() throws RecognitionException {
+        try {
+            int _type = T__58;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:56:7: ( '}' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:56:9: '}'
+            {
+            match('}'); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__58"
+
+    // $ANTLR start "T__59"
+    public final void mT__59() throws RecognitionException {
+        try {
+            int _type = T__59;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:57:7: ( 'run with priority' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:57:9: 'run with priority'
+            {
+            match("run with priority"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__59"
+
+    // $ANTLR start "T__60"
+    public final void mT__60() throws RecognitionException {
+        try {
+            int _type = T__60;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:58:7: ( 'datainterchanges' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:58:9: 'datainterchanges'
+            {
+            match("datainterchanges"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__60"
+
+    // $ANTLR start "T__61"
+    public final void mT__61() throws RecognitionException {
+        try {
+            int _type = T__61;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:59:7: ( 'datainterchange import' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:59:9: 'datainterchange import'
+            {
+            match("datainterchange import"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__61"
+
+    // $ANTLR start "T__62"
+    public final void mT__62() throws RecognitionException {
+        try {
+            int _type = T__62;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:60:7: ( 'from file' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:60:9: 'from file'
+            {
+            match("from file"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__62"
+
+    // $ANTLR start "T__63"
+    public final void mT__63() throws RecognitionException {
+        try {
+            int _type = T__63;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:61:7: ( 'resources' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:61:9: 'resources'
+            {
+            match("resources"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__63"
+
+    // $ANTLR start "T__64"
+    public final void mT__64() throws RecognitionException {
+        try {
+            int _type = T__64;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:62:7: ( 'resource' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:62:9: 'resource'
+            {
+            match("resource"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__64"
+
+    // $ANTLR start "T__65"
+    public final void mT__65() throws RecognitionException {
+        try {
+            int _type = T__65;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:63:7: ( 'items' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:63:9: 'items'
+            {
+            match("items"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__65"
+
+    // $ANTLR start "T__66"
+    public final void mT__66() throws RecognitionException {
+        try {
+            int _type = T__66;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:64:7: ( 'attributes' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:64:9: 'attributes'
+            {
+            match("attributes"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__66"
+
+    // $ANTLR start "T__67"
+    public final void mT__67() throws RecognitionException {
+        try {
+            int _type = T__67;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:65:7: ( '(' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:65:9: '('
+            {
+            match('('); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__67"
+
+    // $ANTLR start "T__68"
+    public final void mT__68() throws RecognitionException {
+        try {
+            int _type = T__68;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:66:7: ( ')' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:66:9: ')'
+            {
+            match(')'); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__68"
+
+    // $ANTLR start "T__69"
+    public final void mT__69() throws RecognitionException {
+        try {
+            int _type = T__69;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:67:7: ( ',' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:67:9: ','
+            {
+            match(','); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__69"
+
+    // $ANTLR start "T__70"
+    public final void mT__70() throws RecognitionException {
+        try {
+            int _type = T__70;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:68:7: ( 'objects' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:68:9: 'objects'
+            {
+            match("objects"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__70"
+
+    // $ANTLR start "T__71"
+    public final void mT__71() throws RecognitionException {
+        try {
+            int _type = T__71;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:69:7: ( 'object' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:69:9: 'object'
+            {
+            match("object"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__71"
+
+    // $ANTLR start "T__72"
+    public final void mT__72() throws RecognitionException {
+        try {
+            int _type = T__72;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:70:7: ( 'var' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:70:9: 'var'
+            {
+            match("var"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__72"
+
+    // $ANTLR start "T__73"
+    public final void mT__73() throws RecognitionException {
+        try {
+            int _type = T__73;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:71:7: ( 'by enum' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:71:9: 'by enum'
+            {
+            match("by enum"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__73"
+
+    // $ANTLR start "T__74"
+    public final void mT__74() throws RecognitionException {
+        try {
+            int _type = T__74;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:72:7: ( 'datatypes' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:72:9: 'datatypes'
+            {
+            match("datatypes"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__74"
+
+    // $ANTLR start "T__75"
+    public final void mT__75() throws RecognitionException {
+        try {
+            int _type = T__75;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:73:7: ( 'with' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:73:9: 'with'
+            {
+            match("with"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__75"
+
+    // $ANTLR start "T__76"
+    public final void mT__76() throws RecognitionException {
+        try {
+            int _type = T__76;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:74:7: ( 'switch on' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:74:9: 'switch on'
+            {
+            match("switch on"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__76"
+
+    // $ANTLR start "T__77"
+    public final void mT__77() throws RecognitionException {
+        try {
+            int _type = T__77;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:75:7: ( 'when' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:75:9: 'when'
+            {
+            match("when"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__77"
+
+    // $ANTLR start "T__78"
+    public final void mT__78() throws RecognitionException {
+        try {
+            int _type = T__78;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:76:7: ( 'embed' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:76:9: 'embed'
+            {
+            match("embed"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__78"
+
+    // $ANTLR start "T__79"
+    public final void mT__79() throws RecognitionException {
+        try {
+            int _type = T__79;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:77:7: ( 'defined as' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:77:9: 'defined as'
+            {
+            match("defined as"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__79"
+
+    // $ANTLR start "T__80"
+    public final void mT__80() throws RecognitionException {
+        try {
+            int _type = T__80;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:78:7: ( 'calculate as' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:78:9: 'calculate as'
+            {
+            match("calculate as"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__80"
+
+    // $ANTLR start "T__81"
+    public final void mT__81() throws RecognitionException {
+        try {
+            int _type = T__81;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:79:7: ( 'based on' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:79:9: 'based on'
+            {
+            match("based on"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__81"
+
+    // $ANTLR start "T__82"
+    public final void mT__82() throws RecognitionException {
+        try {
+            int _type = T__82;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:80:7: ( 'randomize' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:80:9: 'randomize'
+            {
+            match("randomize"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__82"
+
+    // $ANTLR start "T__83"
+    public final void mT__83() throws RecognitionException {
+        try {
+            int _type = T__83;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:81:7: ( 'future date' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:81:9: 'future date'
+            {
+            match("future date"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__83"
+
+    // $ANTLR start "T__84"
+    public final void mT__84() throws RecognitionException {
+        try {
+            int _type = T__84;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:82:7: ( 'past date' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:82:9: 'past date'
+            {
+            match("past date"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__84"
+
+    // $ANTLR start "T__85"
+    public final void mT__85() throws RecognitionException {
+        try {
+            int _type = T__85;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:83:7: ( 'boolean' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:83:9: 'boolean'
+            {
+            match("boolean"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__85"
+
+    // $ANTLR start "T__86"
+    public final void mT__86() throws RecognitionException {
+        try {
+            int _type = T__86;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:84:7: ( 'date in range' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:84:9: 'date in range'
+            {
+            match("date in range"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__86"
+
+    // $ANTLR start "T__87"
+    public final void mT__87() throws RecognitionException {
+        try {
+            int _type = T__87;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:85:7: ( 'up to and including' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:85:9: 'up to and including'
+            {
+            match("up to and including"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__87"
+
+    // $ANTLR start "T__88"
+    public final void mT__88() throws RecognitionException {
+        try {
+            int _type = T__88;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:86:7: ( 'signed double in range' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:86:9: 'signed double in range'
+            {
+            match("signed double in range"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__88"
+
+    // $ANTLR start "T__89"
+    public final void mT__89() throws RecognitionException {
+        try {
+            int _type = T__89;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:87:7: ( 'decimals' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:87:9: 'decimals'
+            {
+            match("decimals"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__89"
+
+    // $ANTLR start "T__90"
+    public final void mT__90() throws RecognitionException {
+        try {
+            int _type = T__90;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:88:7: ( 'round to' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:88:9: 'round to'
+            {
+            match("round to"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__90"
+
+    // $ANTLR start "T__91"
+    public final void mT__91() throws RecognitionException {
+        try {
+            int _type = T__91;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:89:7: ( 'signed double from' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:89:9: 'signed double from'
+            {
+            match("signed double from"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__91"
+
+    // $ANTLR start "T__92"
+    public final void mT__92() throws RecognitionException {
+        try {
+            int _type = T__92;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:90:7: ( 'signed integer in range' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:90:9: 'signed integer in range'
+            {
+            match("signed integer in range"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__92"
+
+    // $ANTLR start "T__93"
+    public final void mT__93() throws RecognitionException {
+        try {
+            int _type = T__93;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:91:7: ( 'signed integer from' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:91:9: 'signed integer from'
+            {
+            match("signed integer from"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__93"
+
+    // $ANTLR start "T__94"
+    public final void mT__94() throws RecognitionException {
+        try {
+            int _type = T__94;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:92:7: ( 'text from' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:92:9: 'text from'
+            {
+            match("text from"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__94"
+
+    // $ANTLR start "T__95"
+    public final void mT__95() throws RecognitionException {
+        try {
+            int _type = T__95;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:93:7: ( 'paragraps' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:93:9: 'paragraps'
+            {
+            match("paragraps"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__95"
+
+    // $ANTLR start "T__96"
+    public final void mT__96() throws RecognitionException {
+        try {
+            int _type = T__96;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:94:7: ( 'sentences' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:94:9: 'sentences'
+            {
+            match("sentences"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__96"
+
+    // $ANTLR start "T__97"
+    public final void mT__97() throws RecognitionException {
+        try {
+            int _type = T__97;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:95:7: ( 'words' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:95:9: 'words'
+            {
+            match("words"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__97"
+
+    // $ANTLR start "T__98"
+    public final void mT__98() throws RecognitionException {
+        try {
+            int _type = T__98;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:96:7: ( 'unsigned double in range' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:96:9: 'unsigned double in range'
+            {
+            match("unsigned double in range"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__98"
+
+    // $ANTLR start "T__99"
+    public final void mT__99() throws RecognitionException {
+        try {
+            int _type = T__99;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:97:7: ( 'unsigned double from' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:97:9: 'unsigned double from'
+            {
+            match("unsigned double from"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__99"
+
+    // $ANTLR start "T__100"
+    public final void mT__100() throws RecognitionException {
+        try {
+            int _type = T__100;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:98:8: ( 'unsigned integer in range' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:98:10: 'unsigned integer in range'
+            {
+            match("unsigned integer in range"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__100"
+
+    // $ANTLR start "T__101"
+    public final void mT__101() throws RecognitionException {
+        try {
+            int _type = T__101;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:99:8: ( 'unsigned integer from' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:99:10: 'unsigned integer from'
+            {
+            match("unsigned integer from"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__101"
+
+    // $ANTLR start "T__102"
+    public final void mT__102() throws RecognitionException {
+        try {
+            int _type = T__102;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:100:8: ( 'datatype' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:100:10: 'datatype'
+            {
+            match("datatype"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__102"
+
+    // $ANTLR start "T__103"
+    public final void mT__103() throws RecognitionException {
+        try {
+            int _type = T__103;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:101:8: ( 'mock entities' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:101:10: 'mock entities'
+            {
+            match("mock entities"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__103"
+
+    // $ANTLR start "T__104"
+    public final void mT__104() throws RecognitionException {
+        try {
+            int _type = T__104;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:102:8: ( 'mocking' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:102:10: 'mocking'
+            {
+            match("mocking"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__104"
+
+    // $ANTLR start "T__105"
+    public final void mT__105() throws RecognitionException {
+        try {
+            int _type = T__105;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:103:8: ( 'for entity' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:103:10: 'for entity'
+            {
+            match("for entity"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__105"
+
+    // $ANTLR start "T__106"
+    public final void mT__106() throws RecognitionException {
+        try {
+            int _type = T__106;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:104:8: ( 'rows' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:104:10: 'rows'
+            {
+            match("rows"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__106"
+
+    // $ANTLR start "T__107"
+    public final void mT__107() throws RecognitionException {
+        try {
+            int _type = T__107;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:105:8: ( 'to' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:105:10: 'to'
+            {
+            match("to"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__107"
+
+    // $ANTLR start "T__108"
+    public final void mT__108() throws RecognitionException {
+        try {
+            int _type = T__108;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:106:8: ( 'by resource' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:106:10: 'by resource'
+            {
+            match("by resource"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__108"
+
+    // $ANTLR start "T__109"
+    public final void mT__109() throws RecognitionException {
+        try {
+            int _type = T__109;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:107:8: ( 'iterate' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:107:10: 'iterate'
+            {
+            match("iterate"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__109"
+
+    // $ANTLR start "T__110"
+    public final void mT__110() throws RecognitionException {
+        try {
+            int _type = T__110;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:108:8: ( 'integer from' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:108:10: 'integer from'
+            {
+            match("integer from"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__110"
+
+    // $ANTLR start "T__111"
+    public final void mT__111() throws RecognitionException {
+        try {
+            int _type = T__111;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:109:8: ( 'until' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:109:10: 'until'
+            {
+            match("until"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__111"
+
+    // $ANTLR start "T__112"
+    public final void mT__112() throws RecognitionException {
+        try {
+            int _type = T__112;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:110:8: ( 'step' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:110:10: 'step'
+            {
+            match("step"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__112"
+
+    // $ANTLR start "T__113"
+    public final void mT__113() throws RecognitionException {
+        try {
+            int _type = T__113;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:111:8: ( 'date from' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:111:10: 'date from'
+            {
+            match("date from"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__113"
+
+    // $ANTLR start "T__114"
+    public final void mT__114() throws RecognitionException {
+        try {
+            int _type = T__114;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:112:8: ( 'every' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:112:10: 'every'
+            {
+            match("every"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__114"
+
+    // $ANTLR start "T__115"
+    public final void mT__115() throws RecognitionException {
+        try {
+            int _type = T__115;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:113:8: ( 'as' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:113:10: 'as'
+            {
+            match("as"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__115"
+
+    // $ANTLR start "T__116"
+    public final void mT__116() throws RecognitionException {
+        try {
+            int _type = T__116;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:114:8: ( 'temporary' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:114:10: 'temporary'
+            {
+            match("temporary"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__116"
+
+    // $ANTLR start "T__117"
+    public final void mT__117() throws RecognitionException {
+        try {
+            int _type = T__117;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:115:8: ( 'by object' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:115:10: 'by object'
+            {
+            match("by object"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__117"
+
+    // $ANTLR start "T__118"
+    public final void mT__118() throws RecognitionException {
+        try {
+            int _type = T__118;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:116:8: ( 'calculate based on' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:116:10: 'calculate based on'
+            {
+            match("calculate based on"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__118"
+
+    // $ANTLR start "T__119"
+    public final void mT__119() throws RecognitionException {
+        try {
+            int _type = T__119;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:117:8: ( 'using' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:117:10: 'using'
+            {
+            match("using"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__119"
+
+    // $ANTLR start "T__120"
+    public final void mT__120() throws RecognitionException {
+        try {
+            int _type = T__120;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:118:8: ( 'ref' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:118:10: 'ref'
+            {
+            match("ref"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__120"
+
+    // $ANTLR start "T__121"
+    public final void mT__121() throws RecognitionException {
+        try {
+            int _type = T__121;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:119:8: ( 'optional for' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:119:10: 'optional for'
+            {
+            match("optional for"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__121"
+
+    // $ANTLR start "T__122"
+    public final void mT__122() throws RecognitionException {
+        try {
+            int _type = T__122;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:120:8: ( 'percent' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:120:10: 'percent'
+            {
+            match("percent"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__122"
+
+    // $ANTLR start "T__123"
+    public final void mT__123() throws RecognitionException {
+        try {
+            int _type = T__123;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:121:8: ( '@' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:121:10: '@'
+            {
+            match('@'); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__123"
+
+    // $ANTLR start "T__124"
+    public final void mT__124() throws RecognitionException {
+        try {
+            int _type = T__124;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:122:8: ( ']' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:122:10: ']'
+            {
+            match(']'); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__124"
+
+    // $ANTLR start "T__125"
+    public final void mT__125() throws RecognitionException {
+        try {
+            int _type = T__125;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:123:8: ( '#' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:123:10: '#'
+            {
+            match('#'); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__125"
+
+    // $ANTLR start "T__126"
+    public final void mT__126() throws RecognitionException {
+        try {
+            int _type = T__126;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:124:8: ( '[' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:124:10: '['
+            {
+            match('['); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__126"
+
+    // $ANTLR start "T__127"
+    public final void mT__127() throws RecognitionException {
+        try {
+            int _type = T__127;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:125:8: ( 'instanceof' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:125:10: 'instanceof'
+            {
+            match("instanceof"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__127"
+
+    // $ANTLR start "T__128"
+    public final void mT__128() throws RecognitionException {
+        try {
+            int _type = T__128;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:126:8: ( ';' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:126:10: ';'
+            {
+            match(';'); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__128"
+
+    // $ANTLR start "T__129"
+    public final void mT__129() throws RecognitionException {
+        try {
+            int _type = T__129;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:127:8: ( 'if' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:127:10: 'if'
+            {
+            match("if"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__129"
+
+    // $ANTLR start "T__130"
+    public final void mT__130() throws RecognitionException {
+        try {
+            int _type = T__130;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:128:8: ( 'else' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:128:10: 'else'
+            {
+            match("else"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__130"
+
+    // $ANTLR start "T__131"
+    public final void mT__131() throws RecognitionException {
+        try {
+            int _type = T__131;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:129:8: ( 'switch' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:129:10: 'switch'
+            {
+            match("switch"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__131"
+
+    // $ANTLR start "T__132"
+    public final void mT__132() throws RecognitionException {
+        try {
+            int _type = T__132;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:130:8: ( ':' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:130:10: ':'
+            {
+            match(':'); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__132"
+
+    // $ANTLR start "T__133"
+    public final void mT__133() throws RecognitionException {
+        try {
+            int _type = T__133;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:131:8: ( 'default' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:131:10: 'default'
+            {
+            match("default"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__133"
+
+    // $ANTLR start "T__134"
+    public final void mT__134() throws RecognitionException {
+        try {
+            int _type = T__134;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:132:8: ( 'case' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:132:10: 'case'
+            {
+            match("case"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__134"
+
+    // $ANTLR start "T__135"
+    public final void mT__135() throws RecognitionException {
+        try {
+            int _type = T__135;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:133:8: ( 'for' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:133:10: 'for'
+            {
+            match("for"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__135"
+
+    // $ANTLR start "T__136"
+    public final void mT__136() throws RecognitionException {
+        try {
+            int _type = T__136;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:134:8: ( 'while' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:134:10: 'while'
+            {
+            match("while"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__136"
+
+    // $ANTLR start "T__137"
+    public final void mT__137() throws RecognitionException {
+        try {
+            int _type = T__137;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:135:8: ( 'do' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:135:10: 'do'
+            {
+            match("do"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__137"
+
+    // $ANTLR start "T__138"
+    public final void mT__138() throws RecognitionException {
+        try {
+            int _type = T__138;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:136:8: ( 'new' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:136:10: 'new'
+            {
+            match("new"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__138"
+
+    // $ANTLR start "T__139"
+    public final void mT__139() throws RecognitionException {
+        try {
+            int _type = T__139;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:137:8: ( 'null' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:137:10: 'null'
+            {
+            match("null"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__139"
+
+    // $ANTLR start "T__140"
+    public final void mT__140() throws RecognitionException {
+        try {
+            int _type = T__140;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:138:8: ( 'typeof' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:138:10: 'typeof'
+            {
+            match("typeof"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__140"
+
+    // $ANTLR start "T__141"
+    public final void mT__141() throws RecognitionException {
+        try {
+            int _type = T__141;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:139:8: ( 'throw' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:139:10: 'throw'
+            {
+            match("throw"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__141"
+
+    // $ANTLR start "T__142"
+    public final void mT__142() throws RecognitionException {
+        try {
+            int _type = T__142;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:140:8: ( 'return' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:140:10: 'return'
+            {
+            match("return"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__142"
+
+    // $ANTLR start "T__143"
+    public final void mT__143() throws RecognitionException {
+        try {
+            int _type = T__143;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:141:8: ( 'try' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:141:10: 'try'
+            {
+            match("try"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__143"
+
+    // $ANTLR start "T__144"
+    public final void mT__144() throws RecognitionException {
+        try {
+            int _type = T__144;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:142:8: ( 'finally' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:142:10: 'finally'
+            {
+            match("finally"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__144"
+
+    // $ANTLR start "T__145"
+    public final void mT__145() throws RecognitionException {
+        try {
+            int _type = T__145;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:143:8: ( 'synchronized' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:143:10: 'synchronized'
+            {
+            match("synchronized"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__145"
+
+    // $ANTLR start "T__146"
+    public final void mT__146() throws RecognitionException {
+        try {
+            int _type = T__146;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:144:8: ( 'catch' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:144:10: 'catch'
+            {
+            match("catch"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__146"
+
+    // $ANTLR start "T__147"
+    public final void mT__147() throws RecognitionException {
+        try {
+            int _type = T__147;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:145:8: ( '?' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:145:10: '?'
+            {
+            match('?'); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__147"
+
+    // $ANTLR start "T__148"
+    public final void mT__148() throws RecognitionException {
+        try {
+            int _type = T__148;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:146:8: ( '&' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:146:10: '&'
+            {
+            match('&'); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__148"
+
+    // $ANTLR start "T__149"
+    public final void mT__149() throws RecognitionException {
+        try {
+            int _type = T__149;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:147:8: ( 'createBlobMapping' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:147:10: 'createBlobMapping'
+            {
+            match("createBlobMapping"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__149"
+
+    // $ANTLR start "T__150"
+    public final void mT__150() throws RecognitionException {
+        try {
+            int _type = T__150;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:148:8: ( 'yesterday' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:148:10: 'yesterday'
+            {
+            match("yesterday"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__150"
+
+    // $ANTLR start "T__151"
+    public final void mT__151() throws RecognitionException {
+        try {
+            int _type = T__151;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:149:8: ( 'today' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:149:10: 'today'
+            {
+            match("today"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__151"
+
+    // $ANTLR start "T__152"
+    public final void mT__152() throws RecognitionException {
+        try {
+            int _type = T__152;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:150:8: ( 'tomorrow' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:150:10: 'tomorrow'
+            {
+            match("tomorrow"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__152"
+
+    // $ANTLR start "T__153"
+    public final void mT__153() throws RecognitionException {
+        try {
+            int _type = T__153;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:151:8: ( '::' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:151:10: '::'
+            {
+            match("::"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__153"
+
+    // $ANTLR start "T__154"
+    public final void mT__154() throws RecognitionException {
+        try {
+            int _type = T__154;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:152:8: ( '?.' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:152:10: '?.'
+            {
+            match("?."); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__154"
+
+    // $ANTLR start "T__155"
+    public final void mT__155() throws RecognitionException {
+        try {
+            int _type = T__155;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:153:8: ( '|' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:153:10: '|'
+            {
+            match('|'); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__155"
+
+    // $ANTLR start "T__156"
+    public final void mT__156() throws RecognitionException {
+        try {
+            int _type = T__156;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:154:8: ( 'true' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:154:10: 'true'
+            {
+            match("true"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__156"
+
+    // $ANTLR start "RULE_ID"
+    public final void mRULE_ID() throws RecognitionException {
+        try {
+            int _type = RULE_ID;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:36050:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' | '0' .. '9' )* )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:36050:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' | '0' .. '9' )*
+            {
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:36050:11: ( '^' )?
+            int alt1=2;
+            int LA1_0 = input.LA(1);
+
+            if ( (LA1_0=='^') ) {
+                alt1=1;
+            }
+            switch (alt1) {
+                case 1 :
+                    // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:36050:11: '^'
+                    {
+                    match('^'); 
+
+                    }
+                    break;
+
+            }
+
+            if ( input.LA(1)=='$'||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
+                input.consume();
+
+            }
+            else {
+                MismatchedSetException mse = new MismatchedSetException(null,input);
+                recover(mse);
+                throw mse;}
+
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:36050:44: ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' | '0' .. '9' )*
+            loop2:
+            do {
+                int alt2=2;
+                int LA2_0 = input.LA(1);
+
+                if ( (LA2_0=='$'||(LA2_0>='0' && LA2_0<='9')||(LA2_0>='A' && LA2_0<='Z')||LA2_0=='_'||(LA2_0>='a' && LA2_0<='z')) ) {
+                    alt2=1;
+                }
+
+
+                switch (alt2) {
+            	case 1 :
+            	    // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:
+            	    {
+            	    if ( input.LA(1)=='$'||(input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
+            	        input.consume();
+
+            	    }
+            	    else {
+            	        MismatchedSetException mse = new MismatchedSetException(null,input);
+            	        recover(mse);
+            	        throw mse;}
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop2;
+                }
+            } while (true);
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "RULE_ID"
+
+    // $ANTLR start "RULE_HEX"
+    public final void mRULE_HEX() throws RecognitionException {
+        try {
+            int _type = RULE_HEX;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:36052:10: ( ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+ ( '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) )? )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:36052:12: ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+ ( '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) )?
+            {
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:36052:12: ( '0x' | '0X' )
+            int alt3=2;
+            int LA3_0 = input.LA(1);
+
+            if ( (LA3_0=='0') ) {
+                int LA3_1 = input.LA(2);
+
+                if ( (LA3_1=='x') ) {
+                    alt3=1;
+                }
+                else if ( (LA3_1=='X') ) {
+                    alt3=2;
+                }
+                else {
+                    NoViableAltException nvae =
+                        new NoViableAltException("", 3, 1, input);
+
+                    throw nvae;
+                }
+            }
+            else {
+                NoViableAltException nvae =
+                    new NoViableAltException("", 3, 0, input);
+
+                throw nvae;
+            }
+            switch (alt3) {
+                case 1 :
+                    // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:36052:13: '0x'
+                    {
+                    match("0x"); 
+
+
+                    }
+                    break;
+                case 2 :
+                    // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:36052:18: '0X'
+                    {
+                    match("0X"); 
+
+
+                    }
+                    break;
+
+            }
+
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:36052:24: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+
+            int cnt4=0;
+            loop4:
+            do {
+                int alt4=2;
+                int LA4_0 = input.LA(1);
+
+                if ( ((LA4_0>='0' && LA4_0<='9')||(LA4_0>='A' && LA4_0<='F')||LA4_0=='_'||(LA4_0>='a' && LA4_0<='f')) ) {
+                    alt4=1;
+                }
+
+
+                switch (alt4) {
+            	case 1 :
+            	    // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:
+            	    {
+            	    if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='F')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='f') ) {
+            	        input.consume();
+
+            	    }
+            	    else {
+            	        MismatchedSetException mse = new MismatchedSetException(null,input);
+            	        recover(mse);
+            	        throw mse;}
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    if ( cnt4 >= 1 ) break loop4;
+                        EarlyExitException eee =
+                            new EarlyExitException(4, input);
+                        throw eee;
+                }
+                cnt4++;
+            } while (true);
+
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:36052:58: ( '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) )?
+            int alt6=2;
+            int LA6_0 = input.LA(1);
+
+            if ( (LA6_0=='#') ) {
+                alt6=1;
+            }
+            switch (alt6) {
+                case 1 :
+                    // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:36052:59: '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) )
+                    {
+                    match('#'); 
+                    // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:36052:63: ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) )
+                    int alt5=2;
+                    int LA5_0 = input.LA(1);
+
+                    if ( (LA5_0=='B'||LA5_0=='b') ) {
+                        alt5=1;
+                    }
+                    else if ( (LA5_0=='L'||LA5_0=='l') ) {
+                        alt5=2;
+                    }
+                    else {
+                        NoViableAltException nvae =
+                            new NoViableAltException("", 5, 0, input);
+
+                        throw nvae;
+                    }
+                    switch (alt5) {
+                        case 1 :
+                            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:36052:64: ( 'b' | 'B' ) ( 'i' | 'I' )
+                            {
+                            if ( input.LA(1)=='B'||input.LA(1)=='b' ) {
+                                input.consume();
+
+                            }
+                            else {
+                                MismatchedSetException mse = new MismatchedSetException(null,input);
+                                recover(mse);
+                                throw mse;}
+
+                            if ( input.LA(1)=='I'||input.LA(1)=='i' ) {
+                                input.consume();
+
+                            }
+                            else {
+                                MismatchedSetException mse = new MismatchedSetException(null,input);
+                                recover(mse);
+                                throw mse;}
+
+
+                            }
+                            break;
+                        case 2 :
+                            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:36052:84: ( 'l' | 'L' )
+                            {
+                            if ( input.LA(1)=='L'||input.LA(1)=='l' ) {
+                                input.consume();
+
+                            }
+                            else {
+                                MismatchedSetException mse = new MismatchedSetException(null,input);
+                                recover(mse);
+                                throw mse;}
+
+
+                            }
+                            break;
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "RULE_HEX"
+
+    // $ANTLR start "RULE_INT"
+    public final void mRULE_INT() throws RecognitionException {
+        try {
+            int _type = RULE_INT;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:36054:10: ( '0' .. '9' ( '0' .. '9' | '_' )* )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:36054:12: '0' .. '9' ( '0' .. '9' | '_' )*
+            {
+            matchRange('0','9'); 
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:36054:21: ( '0' .. '9' | '_' )*
+            loop7:
+            do {
+                int alt7=2;
+                int LA7_0 = input.LA(1);
+
+                if ( ((LA7_0>='0' && LA7_0<='9')||LA7_0=='_') ) {
+                    alt7=1;
+                }
+
+
+                switch (alt7) {
+            	case 1 :
+            	    // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:
+            	    {
+            	    if ( (input.LA(1)>='0' && input.LA(1)<='9')||input.LA(1)=='_' ) {
+            	        input.consume();
+
+            	    }
+            	    else {
+            	        MismatchedSetException mse = new MismatchedSetException(null,input);
+            	        recover(mse);
+            	        throw mse;}
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop7;
+                }
+            } while (true);
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "RULE_INT"
+
+    // $ANTLR start "RULE_DECIMAL"
+    public final void mRULE_DECIMAL() throws RecognitionException {
+        try {
+            int _type = RULE_DECIMAL;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:36056:14: ( RULE_INT ( ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT )? ( ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) | ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) )? )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:36056:16: RULE_INT ( ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT )? ( ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) | ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) )?
+            {
+            mRULE_INT(); 
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:36056:25: ( ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT )?
+            int alt9=2;
+            int LA9_0 = input.LA(1);
+
+            if ( (LA9_0=='E'||LA9_0=='e') ) {
+                alt9=1;
+            }
+            switch (alt9) {
+                case 1 :
+                    // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:36056:26: ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT
+                    {
+                    if ( input.LA(1)=='E'||input.LA(1)=='e' ) {
+                        input.consume();
+
+                    }
+                    else {
+                        MismatchedSetException mse = new MismatchedSetException(null,input);
+                        recover(mse);
+                        throw mse;}
+
+                    // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:36056:36: ( '+' | '-' )?
+                    int alt8=2;
+                    int LA8_0 = input.LA(1);
+
+                    if ( (LA8_0=='+'||LA8_0=='-') ) {
+                        alt8=1;
+                    }
+                    switch (alt8) {
+                        case 1 :
+                            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:
+                            {
+                            if ( input.LA(1)=='+'||input.LA(1)=='-' ) {
+                                input.consume();
+
+                            }
+                            else {
+                                MismatchedSetException mse = new MismatchedSetException(null,input);
+                                recover(mse);
+                                throw mse;}
+
+
+                            }
+                            break;
+
+                    }
+
+                    mRULE_INT(); 
+
+                    }
+                    break;
+
+            }
+
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:36056:58: ( ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) | ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) )?
+            int alt10=3;
+            int LA10_0 = input.LA(1);
+
+            if ( (LA10_0=='B'||LA10_0=='b') ) {
+                alt10=1;
+            }
+            else if ( (LA10_0=='D'||LA10_0=='F'||LA10_0=='L'||LA10_0=='d'||LA10_0=='f'||LA10_0=='l') ) {
+                alt10=2;
+            }
+            switch (alt10) {
+                case 1 :
+                    // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:36056:59: ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' )
+                    {
+                    if ( input.LA(1)=='B'||input.LA(1)=='b' ) {
+                        input.consume();
+
+                    }
+                    else {
+                        MismatchedSetException mse = new MismatchedSetException(null,input);
+                        recover(mse);
+                        throw mse;}
+
+                    if ( input.LA(1)=='D'||input.LA(1)=='I'||input.LA(1)=='d'||input.LA(1)=='i' ) {
+                        input.consume();
+
+                    }
+                    else {
+                        MismatchedSetException mse = new MismatchedSetException(null,input);
+                        recover(mse);
+                        throw mse;}
+
+
+                    }
+                    break;
+                case 2 :
+                    // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:36056:87: ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' )
+                    {
+                    if ( input.LA(1)=='D'||input.LA(1)=='F'||input.LA(1)=='L'||input.LA(1)=='d'||input.LA(1)=='f'||input.LA(1)=='l' ) {
+                        input.consume();
+
+                    }
+                    else {
+                        MismatchedSetException mse = new MismatchedSetException(null,input);
+                        recover(mse);
+                        throw mse;}
+
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "RULE_DECIMAL"
+
+    // $ANTLR start "RULE_STRING"
+    public final void mRULE_STRING() throws RecognitionException {
+        try {
+            int _type = RULE_STRING;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:36058:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? ) )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:36058:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:36058:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? )
+            int alt15=2;
+            int LA15_0 = input.LA(1);
+
+            if ( (LA15_0=='\"') ) {
+                alt15=1;
+            }
+            else if ( (LA15_0=='\'') ) {
+                alt15=2;
+            }
+            else {
+                NoViableAltException nvae =
+                    new NoViableAltException("", 15, 0, input);
+
+                throw nvae;
+            }
+            switch (alt15) {
+                case 1 :
+                    // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:36058:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )?
+                    {
+                    match('\"'); 
+                    // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:36058:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
+                    loop11:
+                    do {
+                        int alt11=3;
+                        int LA11_0 = input.LA(1);
+
+                        if ( (LA11_0=='\\') ) {
+                            alt11=1;
+                        }
+                        else if ( ((LA11_0>='\u0000' && LA11_0<='!')||(LA11_0>='#' && LA11_0<='[')||(LA11_0>=']' && LA11_0<='\uFFFF')) ) {
+                            alt11=2;
+                        }
+
+
+                        switch (alt11) {
+                    	case 1 :
+                    	    // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:36058:21: '\\\\' .
+                    	    {
+                    	    match('\\'); 
+                    	    matchAny(); 
+
+                    	    }
+                    	    break;
+                    	case 2 :
+                    	    // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:36058:28: ~ ( ( '\\\\' | '\"' ) )
+                    	    {
+                    	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
+                    	        input.consume();
+
+                    	    }
+                    	    else {
+                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
+                    	        recover(mse);
+                    	        throw mse;}
+
+
+                    	    }
+                    	    break;
+
+                    	default :
+                    	    break loop11;
+                        }
+                    } while (true);
+
+                    // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:36058:44: ( '\"' )?
+                    int alt12=2;
+                    int LA12_0 = input.LA(1);
+
+                    if ( (LA12_0=='\"') ) {
+                        alt12=1;
+                    }
+                    switch (alt12) {
+                        case 1 :
+                            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:36058:44: '\"'
+                            {
+                            match('\"'); 
+
+                            }
+                            break;
+
+                    }
+
+
+                    }
+                    break;
+                case 2 :
+                    // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:36058:49: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )?
+                    {
+                    match('\''); 
+                    // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:36058:54: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
+                    loop13:
+                    do {
+                        int alt13=3;
+                        int LA13_0 = input.LA(1);
+
+                        if ( (LA13_0=='\\') ) {
+                            alt13=1;
+                        }
+                        else if ( ((LA13_0>='\u0000' && LA13_0<='&')||(LA13_0>='(' && LA13_0<='[')||(LA13_0>=']' && LA13_0<='\uFFFF')) ) {
+                            alt13=2;
+                        }
+
+
+                        switch (alt13) {
+                    	case 1 :
+                    	    // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:36058:55: '\\\\' .
+                    	    {
+                    	    match('\\'); 
+                    	    matchAny(); 
+
+                    	    }
+                    	    break;
+                    	case 2 :
+                    	    // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:36058:62: ~ ( ( '\\\\' | '\\'' ) )
+                    	    {
+                    	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
+                    	        input.consume();
+
+                    	    }
+                    	    else {
+                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
+                    	        recover(mse);
+                    	        throw mse;}
+
+
+                    	    }
+                    	    break;
+
+                    	default :
+                    	    break loop13;
+                        }
+                    } while (true);
+
+                    // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:36058:79: ( '\\'' )?
+                    int alt14=2;
+                    int LA14_0 = input.LA(1);
+
+                    if ( (LA14_0=='\'') ) {
+                        alt14=1;
+                    }
+                    switch (alt14) {
+                        case 1 :
+                            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:36058:79: '\\''
+                            {
+                            match('\''); 
+
+                            }
+                            break;
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "RULE_STRING"
+
+    // $ANTLR start "RULE_ML_COMMENT"
+    public final void mRULE_ML_COMMENT() throws RecognitionException {
+        try {
+            int _type = RULE_ML_COMMENT;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:36060:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:36060:19: '/*' ( options {greedy=false; } : . )* '*/'
+            {
+            match("/*"); 
+
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:36060:24: ( options {greedy=false; } : . )*
+            loop16:
+            do {
+                int alt16=2;
+                int LA16_0 = input.LA(1);
+
+                if ( (LA16_0=='*') ) {
+                    int LA16_1 = input.LA(2);
+
+                    if ( (LA16_1=='/') ) {
+                        alt16=2;
+                    }
+                    else if ( ((LA16_1>='\u0000' && LA16_1<='.')||(LA16_1>='0' && LA16_1<='\uFFFF')) ) {
+                        alt16=1;
+                    }
+
+
+                }
+                else if ( ((LA16_0>='\u0000' && LA16_0<=')')||(LA16_0>='+' && LA16_0<='\uFFFF')) ) {
+                    alt16=1;
+                }
+
+
+                switch (alt16) {
+            	case 1 :
+            	    // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:36060:52: .
+            	    {
+            	    matchAny(); 
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop16;
+                }
+            } while (true);
+
+            match("*/"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "RULE_ML_COMMENT"
+
+    // $ANTLR start "RULE_SL_COMMENT"
+    public final void mRULE_SL_COMMENT() throws RecognitionException {
+        try {
+            int _type = RULE_SL_COMMENT;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:36062:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:36062:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
+            {
+            match("//"); 
+
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:36062:24: (~ ( ( '\\n' | '\\r' ) ) )*
+            loop17:
+            do {
+                int alt17=2;
+                int LA17_0 = input.LA(1);
+
+                if ( ((LA17_0>='\u0000' && LA17_0<='\t')||(LA17_0>='\u000B' && LA17_0<='\f')||(LA17_0>='\u000E' && LA17_0<='\uFFFF')) ) {
+                    alt17=1;
+                }
+
+
+                switch (alt17) {
+            	case 1 :
+            	    // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:36062:24: ~ ( ( '\\n' | '\\r' ) )
+            	    {
+            	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) {
+            	        input.consume();
+
+            	    }
+            	    else {
+            	        MismatchedSetException mse = new MismatchedSetException(null,input);
+            	        recover(mse);
+            	        throw mse;}
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop17;
+                }
+            } while (true);
+
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:36062:40: ( ( '\\r' )? '\\n' )?
+            int alt19=2;
+            int LA19_0 = input.LA(1);
+
+            if ( (LA19_0=='\n'||LA19_0=='\r') ) {
+                alt19=1;
+            }
+            switch (alt19) {
+                case 1 :
+                    // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:36062:41: ( '\\r' )? '\\n'
+                    {
+                    // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:36062:41: ( '\\r' )?
+                    int alt18=2;
+                    int LA18_0 = input.LA(1);
+
+                    if ( (LA18_0=='\r') ) {
+                        alt18=1;
+                    }
+                    switch (alt18) {
+                        case 1 :
+                            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:36062:41: '\\r'
+                            {
+                            match('\r'); 
+
+                            }
+                            break;
+
+                    }
+
+                    match('\n'); 
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "RULE_SL_COMMENT"
+
+    // $ANTLR start "RULE_WS"
+    public final void mRULE_WS() throws RecognitionException {
+        try {
+            int _type = RULE_WS;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:36064:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:36064:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+            {
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:36064:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+            int cnt20=0;
+            loop20:
+            do {
+                int alt20=2;
+                int LA20_0 = input.LA(1);
+
+                if ( ((LA20_0>='\t' && LA20_0<='\n')||LA20_0=='\r'||LA20_0==' ') ) {
+                    alt20=1;
+                }
+
+
+                switch (alt20) {
+            	case 1 :
+            	    // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:
+            	    {
+            	    if ( (input.LA(1)>='\t' && input.LA(1)<='\n')||input.LA(1)=='\r'||input.LA(1)==' ' ) {
+            	        input.consume();
+
+            	    }
+            	    else {
+            	        MismatchedSetException mse = new MismatchedSetException(null,input);
+            	        recover(mse);
+            	        throw mse;}
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    if ( cnt20 >= 1 ) break loop20;
+                        EarlyExitException eee =
+                            new EarlyExitException(20, input);
+                        throw eee;
+                }
+                cnt20++;
+            } while (true);
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "RULE_WS"
+
+    // $ANTLR start "RULE_ANY_OTHER"
+    public final void mRULE_ANY_OTHER() throws RecognitionException {
+        try {
+            int _type = RULE_ANY_OTHER;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:36066:16: ( . )
+            // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:36066:18: .
+            {
+            matchAny(); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "RULE_ANY_OTHER"
+
+    public void mTokens() throws RecognitionException {
+        // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:8: ( T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | T__89 | T__90 | T__91 | T__92 | T__93 | T__94 | T__95 | T__96 | T__97 | T__98 | T__99 | T__100 | T__101 | T__102 | T__103 | T__104 | T__105 | T__106 | T__107 | T__108 | T__109 | T__110 | T__111 | T__112 | T__113 | T__114 | T__115 | T__116 | T__117 | T__118 | T__119 | T__120 | T__121 | T__122 | T__123 | T__124 | T__125 | T__126 | T__127 | T__128 | T__129 | T__130 | T__131 | T__132 | T__133 | T__134 | T__135 | T__136 | T__137 | T__138 | T__139 | T__140 | T__141 | T__142 | T__143 | T__144 | T__145 | T__146 | T__147 | T__148 | T__149 | T__150 | T__151 | T__152 | T__153 | T__154 | T__155 | T__156 | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
+        int alt21=153;
+        alt21 = dfa21.predict(input);
+        switch (alt21) {
+            case 1 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:10: T__13
+                {
+                mT__13(); 
+
+                }
+                break;
+            case 2 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:16: T__14
+                {
+                mT__14(); 
+
+                }
+                break;
+            case 3 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:22: T__15
+                {
+                mT__15(); 
+
+                }
+                break;
+            case 4 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:28: T__16
+                {
+                mT__16(); 
+
+                }
+                break;
+            case 5 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:34: T__17
+                {
+                mT__17(); 
+
+                }
+                break;
+            case 6 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:40: T__18
+                {
+                mT__18(); 
+
+                }
+                break;
+            case 7 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:46: T__19
+                {
+                mT__19(); 
+
+                }
+                break;
+            case 8 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:52: T__20
+                {
+                mT__20(); 
+
+                }
+                break;
+            case 9 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:58: T__21
+                {
+                mT__21(); 
+
+                }
+                break;
+            case 10 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:64: T__22
+                {
+                mT__22(); 
+
+                }
+                break;
+            case 11 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:70: T__23
+                {
+                mT__23(); 
+
+                }
+                break;
+            case 12 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:76: T__24
+                {
+                mT__24(); 
+
+                }
+                break;
+            case 13 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:82: T__25
+                {
+                mT__25(); 
+
+                }
+                break;
+            case 14 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:88: T__26
+                {
+                mT__26(); 
+
+                }
+                break;
+            case 15 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:94: T__27
+                {
+                mT__27(); 
+
+                }
+                break;
+            case 16 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:100: T__28
+                {
+                mT__28(); 
+
+                }
+                break;
+            case 17 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:106: T__29
+                {
+                mT__29(); 
+
+                }
+                break;
+            case 18 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:112: T__30
+                {
+                mT__30(); 
+
+                }
+                break;
+            case 19 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:118: T__31
+                {
+                mT__31(); 
+
+                }
+                break;
+            case 20 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:124: T__32
+                {
+                mT__32(); 
+
+                }
+                break;
+            case 21 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:130: T__33
+                {
+                mT__33(); 
+
+                }
+                break;
+            case 22 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:136: T__34
+                {
+                mT__34(); 
+
+                }
+                break;
+            case 23 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:142: T__35
+                {
+                mT__35(); 
+
+                }
+                break;
+            case 24 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:148: T__36
+                {
+                mT__36(); 
+
+                }
+                break;
+            case 25 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:154: T__37
+                {
+                mT__37(); 
+
+                }
+                break;
+            case 26 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:160: T__38
+                {
+                mT__38(); 
+
+                }
+                break;
+            case 27 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:166: T__39
+                {
+                mT__39(); 
+
+                }
+                break;
+            case 28 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:172: T__40
+                {
+                mT__40(); 
+
+                }
+                break;
+            case 29 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:178: T__41
+                {
+                mT__41(); 
+
+                }
+                break;
+            case 30 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:184: T__42
+                {
+                mT__42(); 
+
+                }
+                break;
+            case 31 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:190: T__43
+                {
+                mT__43(); 
+
+                }
+                break;
+            case 32 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:196: T__44
+                {
+                mT__44(); 
+
+                }
+                break;
+            case 33 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:202: T__45
+                {
+                mT__45(); 
+
+                }
+                break;
+            case 34 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:208: T__46
+                {
+                mT__46(); 
+
+                }
+                break;
+            case 35 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:214: T__47
+                {
+                mT__47(); 
+
+                }
+                break;
+            case 36 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:220: T__48
+                {
+                mT__48(); 
+
+                }
+                break;
+            case 37 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:226: T__49
+                {
+                mT__49(); 
+
+                }
+                break;
+            case 38 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:232: T__50
+                {
+                mT__50(); 
+
+                }
+                break;
+            case 39 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:238: T__51
+                {
+                mT__51(); 
+
+                }
+                break;
+            case 40 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:244: T__52
+                {
+                mT__52(); 
+
+                }
+                break;
+            case 41 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:250: T__53
+                {
+                mT__53(); 
+
+                }
+                break;
+            case 42 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:256: T__54
+                {
+                mT__54(); 
+
+                }
+                break;
+            case 43 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:262: T__55
+                {
+                mT__55(); 
+
+                }
+                break;
+            case 44 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:268: T__56
+                {
+                mT__56(); 
+
+                }
+                break;
+            case 45 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:274: T__57
+                {
+                mT__57(); 
+
+                }
+                break;
+            case 46 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:280: T__58
+                {
+                mT__58(); 
+
+                }
+                break;
+            case 47 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:286: T__59
+                {
+                mT__59(); 
+
+                }
+                break;
+            case 48 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:292: T__60
+                {
+                mT__60(); 
+
+                }
+                break;
+            case 49 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:298: T__61
+                {
+                mT__61(); 
+
+                }
+                break;
+            case 50 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:304: T__62
+                {
+                mT__62(); 
+
+                }
+                break;
+            case 51 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:310: T__63
+                {
+                mT__63(); 
+
+                }
+                break;
+            case 52 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:316: T__64
+                {
+                mT__64(); 
+
+                }
+                break;
+            case 53 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:322: T__65
+                {
+                mT__65(); 
+
+                }
+                break;
+            case 54 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:328: T__66
+                {
+                mT__66(); 
+
+                }
+                break;
+            case 55 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:334: T__67
+                {
+                mT__67(); 
+
+                }
+                break;
+            case 56 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:340: T__68
+                {
+                mT__68(); 
+
+                }
+                break;
+            case 57 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:346: T__69
+                {
+                mT__69(); 
+
+                }
+                break;
+            case 58 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:352: T__70
+                {
+                mT__70(); 
+
+                }
+                break;
+            case 59 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:358: T__71
+                {
+                mT__71(); 
+
+                }
+                break;
+            case 60 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:364: T__72
+                {
+                mT__72(); 
+
+                }
+                break;
+            case 61 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:370: T__73
+                {
+                mT__73(); 
+
+                }
+                break;
+            case 62 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:376: T__74
+                {
+                mT__74(); 
+
+                }
+                break;
+            case 63 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:382: T__75
+                {
+                mT__75(); 
+
+                }
+                break;
+            case 64 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:388: T__76
+                {
+                mT__76(); 
+
+                }
+                break;
+            case 65 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:394: T__77
+                {
+                mT__77(); 
+
+                }
+                break;
+            case 66 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:400: T__78
+                {
+                mT__78(); 
+
+                }
+                break;
+            case 67 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:406: T__79
+                {
+                mT__79(); 
+
+                }
+                break;
+            case 68 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:412: T__80
+                {
+                mT__80(); 
+
+                }
+                break;
+            case 69 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:418: T__81
+                {
+                mT__81(); 
+
+                }
+                break;
+            case 70 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:424: T__82
+                {
+                mT__82(); 
+
+                }
+                break;
+            case 71 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:430: T__83
+                {
+                mT__83(); 
+
+                }
+                break;
+            case 72 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:436: T__84
+                {
+                mT__84(); 
+
+                }
+                break;
+            case 73 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:442: T__85
+                {
+                mT__85(); 
+
+                }
+                break;
+            case 74 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:448: T__86
+                {
+                mT__86(); 
+
+                }
+                break;
+            case 75 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:454: T__87
+                {
+                mT__87(); 
+
+                }
+                break;
+            case 76 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:460: T__88
+                {
+                mT__88(); 
+
+                }
+                break;
+            case 77 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:466: T__89
+                {
+                mT__89(); 
+
+                }
+                break;
+            case 78 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:472: T__90
+                {
+                mT__90(); 
+
+                }
+                break;
+            case 79 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:478: T__91
+                {
+                mT__91(); 
+
+                }
+                break;
+            case 80 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:484: T__92
+                {
+                mT__92(); 
+
+                }
+                break;
+            case 81 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:490: T__93
+                {
+                mT__93(); 
+
+                }
+                break;
+            case 82 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:496: T__94
+                {
+                mT__94(); 
+
+                }
+                break;
+            case 83 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:502: T__95
+                {
+                mT__95(); 
+
+                }
+                break;
+            case 84 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:508: T__96
+                {
+                mT__96(); 
+
+                }
+                break;
+            case 85 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:514: T__97
+                {
+                mT__97(); 
+
+                }
+                break;
+            case 86 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:520: T__98
+                {
+                mT__98(); 
+
+                }
+                break;
+            case 87 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:526: T__99
+                {
+                mT__99(); 
+
+                }
+                break;
+            case 88 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:532: T__100
+                {
+                mT__100(); 
+
+                }
+                break;
+            case 89 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:539: T__101
+                {
+                mT__101(); 
+
+                }
+                break;
+            case 90 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:546: T__102
+                {
+                mT__102(); 
+
+                }
+                break;
+            case 91 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:553: T__103
+                {
+                mT__103(); 
+
+                }
+                break;
+            case 92 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:560: T__104
+                {
+                mT__104(); 
+
+                }
+                break;
+            case 93 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:567: T__105
+                {
+                mT__105(); 
+
+                }
+                break;
+            case 94 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:574: T__106
+                {
+                mT__106(); 
+
+                }
+                break;
+            case 95 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:581: T__107
+                {
+                mT__107(); 
+
+                }
+                break;
+            case 96 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:588: T__108
+                {
+                mT__108(); 
+
+                }
+                break;
+            case 97 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:595: T__109
+                {
+                mT__109(); 
+
+                }
+                break;
+            case 98 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:602: T__110
+                {
+                mT__110(); 
+
+                }
+                break;
+            case 99 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:609: T__111
+                {
+                mT__111(); 
+
+                }
+                break;
+            case 100 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:616: T__112
+                {
+                mT__112(); 
+
+                }
+                break;
+            case 101 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:623: T__113
+                {
+                mT__113(); 
+
+                }
+                break;
+            case 102 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:630: T__114
+                {
+                mT__114(); 
+
+                }
+                break;
+            case 103 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:637: T__115
+                {
+                mT__115(); 
+
+                }
+                break;
+            case 104 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:644: T__116
+                {
+                mT__116(); 
+
+                }
+                break;
+            case 105 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:651: T__117
+                {
+                mT__117(); 
+
+                }
+                break;
+            case 106 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:658: T__118
+                {
+                mT__118(); 
+
+                }
+                break;
+            case 107 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:665: T__119
+                {
+                mT__119(); 
+
+                }
+                break;
+            case 108 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:672: T__120
+                {
+                mT__120(); 
+
+                }
+                break;
+            case 109 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:679: T__121
+                {
+                mT__121(); 
+
+                }
+                break;
+            case 110 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:686: T__122
+                {
+                mT__122(); 
+
+                }
+                break;
+            case 111 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:693: T__123
+                {
+                mT__123(); 
+
+                }
+                break;
+            case 112 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:700: T__124
+                {
+                mT__124(); 
+
+                }
+                break;
+            case 113 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:707: T__125
+                {
+                mT__125(); 
+
+                }
+                break;
+            case 114 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:714: T__126
+                {
+                mT__126(); 
+
+                }
+                break;
+            case 115 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:721: T__127
+                {
+                mT__127(); 
+
+                }
+                break;
+            case 116 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:728: T__128
+                {
+                mT__128(); 
+
+                }
+                break;
+            case 117 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:735: T__129
+                {
+                mT__129(); 
+
+                }
+                break;
+            case 118 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:742: T__130
+                {
+                mT__130(); 
+
+                }
+                break;
+            case 119 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:749: T__131
+                {
+                mT__131(); 
+
+                }
+                break;
+            case 120 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:756: T__132
+                {
+                mT__132(); 
+
+                }
+                break;
+            case 121 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:763: T__133
+                {
+                mT__133(); 
+
+                }
+                break;
+            case 122 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:770: T__134
+                {
+                mT__134(); 
+
+                }
+                break;
+            case 123 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:777: T__135
+                {
+                mT__135(); 
+
+                }
+                break;
+            case 124 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:784: T__136
+                {
+                mT__136(); 
+
+                }
+                break;
+            case 125 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:791: T__137
+                {
+                mT__137(); 
+
+                }
+                break;
+            case 126 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:798: T__138
+                {
+                mT__138(); 
+
+                }
+                break;
+            case 127 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:805: T__139
+                {
+                mT__139(); 
+
+                }
+                break;
+            case 128 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:812: T__140
+                {
+                mT__140(); 
+
+                }
+                break;
+            case 129 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:819: T__141
+                {
+                mT__141(); 
+
+                }
+                break;
+            case 130 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:826: T__142
+                {
+                mT__142(); 
+
+                }
+                break;
+            case 131 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:833: T__143
+                {
+                mT__143(); 
+
+                }
+                break;
+            case 132 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:840: T__144
+                {
+                mT__144(); 
+
+                }
+                break;
+            case 133 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:847: T__145
+                {
+                mT__145(); 
+
+                }
+                break;
+            case 134 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:854: T__146
+                {
+                mT__146(); 
+
+                }
+                break;
+            case 135 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:861: T__147
+                {
+                mT__147(); 
+
+                }
+                break;
+            case 136 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:868: T__148
+                {
+                mT__148(); 
+
+                }
+                break;
+            case 137 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:875: T__149
+                {
+                mT__149(); 
+
+                }
+                break;
+            case 138 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:882: T__150
+                {
+                mT__150(); 
+
+                }
+                break;
+            case 139 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:889: T__151
+                {
+                mT__151(); 
+
+                }
+                break;
+            case 140 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:896: T__152
+                {
+                mT__152(); 
+
+                }
+                break;
+            case 141 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:903: T__153
+                {
+                mT__153(); 
+
+                }
+                break;
+            case 142 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:910: T__154
+                {
+                mT__154(); 
+
+                }
+                break;
+            case 143 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:917: T__155
+                {
+                mT__155(); 
+
+                }
+                break;
+            case 144 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:924: T__156
+                {
+                mT__156(); 
+
+                }
+                break;
+            case 145 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:931: RULE_ID
+                {
+                mRULE_ID(); 
+
+                }
+                break;
+            case 146 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:939: RULE_HEX
+                {
+                mRULE_HEX(); 
+
+                }
+                break;
+            case 147 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:948: RULE_INT
+                {
+                mRULE_INT(); 
+
+                }
+                break;
+            case 148 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:957: RULE_DECIMAL
+                {
+                mRULE_DECIMAL(); 
+
+                }
+                break;
+            case 149 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:970: RULE_STRING
+                {
+                mRULE_STRING(); 
+
+                }
+                break;
+            case 150 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:982: RULE_ML_COMMENT
+                {
+                mRULE_ML_COMMENT(); 
+
+                }
+                break;
+            case 151 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:998: RULE_SL_COMMENT
+                {
+                mRULE_SL_COMMENT(); 
+
+                }
+                break;
+            case 152 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:1014: RULE_WS
+                {
+                mRULE_WS(); 
+
+                }
+                break;
+            case 153 :
+                // ../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g:1:1022: RULE_ANY_OTHER
+                {
+                mRULE_ANY_OTHER(); 
+
+                }
+                break;
+
+        }
+
+    }
+
+
+    protected DFA21 dfa21 = new DFA21(this);
+    static final String DFA21_eotS =
+        "\1\uffff\1\65\1\67\1\71\1\76\1\101\1\105\1\110\1\114\1\116\1\120"+
+        "\1\122\1\124\1\126\1\131\10\76\2\uffff\2\76\3\uffff\6\76\5\uffff"+
+        "\1\u0095\1\76\1\62\1\uffff\2\u009a\4\uffff\1\u009f\6\uffff\4\76"+
+        "\21\uffff\1\u00a6\5\uffff\1\u00a8\4\uffff\12\76\1\u00b6\7\76\1\u00c0"+
+        "\6\76\2\uffff\5\76\1\u00d2\3\uffff\15\76\1\u00e7\3\76\7\uffff\2"+
+        "\76\1\uffff\1\u009a\6\uffff\5\76\4\uffff\1\u00f3\1\u00f4\13\76\1"+
+        "\uffff\3\76\1\u0105\5\76\1\uffff\13\76\1\u0118\5\76\1\uffff\2\76"+
+        "\1\uffff\11\76\1\uffff\7\76\1\uffff\2\76\1\u0135\1\76\1\u0137\5"+
+        "\76\1\u013d\2\uffff\1\76\1\u013f\15\76\2\uffff\1\76\1\u014e\6\76"+
+        "\1\u0156\1\u0157\6\76\1\uffff\1\76\1\uffff\3\76\1\u0163\3\76\3\uffff"+
+        "\3\76\1\u016a\16\76\1\uffff\1\u0179\1\uffff\1\u017a\2\76\1\u017e"+
+        "\1\u017f\1\uffff\1\76\1\uffff\1\u0181\5\76\1\u0187\3\76\1\u018b"+
+        "\1\uffff\2\76\1\uffff\2\76\1\uffff\3\76\1\u0195\2\uffff\1\u0196"+
+        "\1\u0197\1\76\1\uffff\1\76\1\u019b\5\76\1\uffff\6\76\1\uffff\1\u01a7"+
+        "\1\76\1\uffff\3\76\1\u01ac\1\u01ad\1\uffff\1\76\1\u01af\2\76\1\u01b2"+
+        "\2\uffff\3\76\2\uffff\1\u01b6\1\uffff\1\u01b8\3\76\1\u01bc\1\uffff"+
+        "\3\76\1\uffff\4\76\2\uffff\3\76\3\uffff\1\u01c7\1\uffff\1\76\1\uffff"+
+        "\2\76\1\u01cc\1\76\1\uffff\1\76\1\u01d0\1\76\1\uffff\2\76\1\uffff"+
+        "\4\76\2\uffff\1\76\1\uffff\1\76\1\u01da\1\uffff\1\76\1\u01dc\1\76"+
+        "\4\uffff\2\76\1\uffff\1\u01e2\2\76\1\uffff\1\u01e5\3\76\1\u01e9"+
+        "\1\76\2\uffff\1\u01ec\2\76\1\uffff\2\76\1\u01f1\1\uffff\1\76\1\u01f3"+
+        "\3\76\1\u01f7\3\76\1\uffff\1\76\1\uffff\1\76\2\uffff\2\76\2\uffff"+
+        "\1\76\1\uffff\1\76\1\u0204\2\uffff\1\u0205\2\uffff\1\76\1\u0209"+
+        "\2\76\1\uffff\1\76\1\uffff\3\76\1\uffff\2\76\1\u0212\1\uffff\1\u0213"+
+        "\2\uffff\1\u0216\3\76\1\u021a\3\uffff\1\u021c\1\u021d\1\uffff\1"+
+        "\u021e\1\76\1\uffff\2\76\1\u0222\1\uffff\1\u0225\5\uffff\1\76\1"+
+        "\u0229\1\76\5\uffff\1\u022d\1\uffff\1\76\6\uffff\1\76\1\uffff\1"+
+        "\76\5\uffff\1\76\4\uffff\1\u023c\2\76\5\uffff\2\76\4\uffff\2\76"+
+        "\5\uffff\2\76\4\uffff\1\u0255\1\uffff\1\76\3\uffff\1\u025a\6\uffff";
+    static final String DFA21_eofS =
+        "\u025d\uffff";
+    static final String DFA21_minS =
+        "\1\0\1\75\1\174\1\46\1\154\1\53\1\55\2\52\3\75\1\76\2\56\1\141"+
+        "\1\145\1\146\2\141\1\145\1\157\1\145\2\uffff\1\141\1\163\3\uffff"+
+        "\1\142\3\141\1\156\1\145\5\uffff\1\72\1\145\1\44\1\uffff\2\60\4"+
+        "\uffff\1\75\6\uffff\1\151\1\142\1\145\1\163\21\uffff\1\75\5\uffff"+
+        "\1\74\4\uffff\1\154\1\141\1\160\1\151\1\147\2\156\1\160\1\145\1"+
+        "\163\1\44\1\154\1\157\1\164\1\162\1\156\1\164\1\143\1\44\1\145\1"+
+        "\164\1\145\1\162\1\143\1\141\2\uffff\1\156\1\146\1\156\1\165\1\164"+
+        "\1\44\3\uffff\1\152\1\164\1\40\1\163\1\157\1\154\1\145\2\162\1\40"+
+        "\1\163\1\151\1\155\1\44\1\160\1\162\1\165\7\uffff\1\167\1\154\1"+
+        "\uffff\1\60\6\uffff\1\163\2\145\1\162\1\145\4\uffff\2\44\1\164\1"+
+        "\160\1\145\1\164\1\156\1\164\1\143\1\157\1\155\1\145\1\164\1\uffff"+
+        "\1\163\1\155\1\165\1\40\1\141\1\163\2\141\1\151\1\uffff\1\153\1"+
+        "\150\1\156\1\154\1\144\1\164\1\153\1\162\1\164\1\40\1\157\1\44\1"+
+        "\165\1\144\1\156\1\163\1\162\1\uffff\1\145\1\151\2\145\1\154\1\143"+
+        "\1\145\1\143\1\141\1\164\1\141\1\143\1\uffff\2\151\1\156\1\164\1"+
+        "\160\1\141\1\157\1\uffff\1\145\1\157\1\44\1\145\1\44\1\154\1\164"+
+        "\1\156\1\144\1\171\1\44\2\uffff\1\151\1\44\1\162\1\143\2\145\1\150"+
+        "\1\162\1\163\1\141\1\147\1\141\1\145\1\40\1\162\2\uffff\1\154\1"+
+        "\44\1\151\1\40\1\156\1\165\1\155\1\163\2\44\1\145\1\163\1\150\1"+
+        "\40\1\163\1\145\1\uffff\1\165\1\uffff\1\162\1\157\1\144\1\44\1\151"+
+        "\1\143\1\157\3\uffff\1\144\1\145\1\165\1\44\1\150\1\164\1\40\1\147"+
+        "\1\145\1\147\1\154\1\147\1\40\1\157\1\171\1\162\1\157\1\167\1\uffff"+
+        "\1\44\1\uffff\1\44\1\151\1\144\2\44\1\uffff\1\143\1\uffff\1\44\1"+
+        "\150\1\144\1\156\1\162\1\164\1\44\1\164\1\145\1\156\1\44\1\uffff"+
+        "\1\145\1\154\1\uffff\1\156\1\171\1\146\1\145\1\154\1\141\1\44\2"+
+        "\uffff\2\44\1\163\1\145\1\156\1\44\2\162\1\156\1\155\1\40\1\uffff"+
+        "\1\142\1\164\1\156\1\40\1\141\1\154\1\uffff\1\44\1\145\1\uffff\1"+
+        "\162\2\156\2\44\1\uffff\1\162\1\44\1\162\1\146\1\44\2\uffff\1\156"+
+        "\1\163\1\151\2\uffff\1\44\1\uffff\2\40\1\143\1\157\1\44\1\uffff"+
+        "\1\145\1\162\1\143\1\uffff\1\40\1\171\1\164\1\160\2\uffff\1\144"+
+        "\1\164\1\154\3\uffff\1\44\1\156\1\147\1\uffff\1\144\1\143\1\44\1"+
+        "\151\1\uffff\1\165\1\44\1\141\1\uffff\1\156\1\141\1\uffff\1\102"+
+        "\1\141\1\164\1\145\2\uffff\1\141\1\uffff\1\157\1\44\1\uffff\1\147"+
+        "\1\44\1\157\3\uffff\1\144\1\145\1\156\1\uffff\1\44\1\40\1\145\1"+
+        "\uffff\1\44\2\145\1\40\1\44\1\163\1\uffff\1\164\1\44\1\141\1\145"+
+        "\1\uffff\1\172\1\164\1\44\1\uffff\1\154\1\44\1\164\1\154\1\160\1"+
+        "\44\1\144\1\162\1\167\1\uffff\1\40\1\uffff\1\156\1\157\1\156\1\163"+
+        "\1\151\2\uffff\1\157\1\uffff\1\162\1\44\2\uffff\1\44\1\151\1\uffff"+
+        "\1\171\1\44\2\145\1\uffff\1\40\1\uffff\1\145\1\157\1\163\1\uffff"+
+        "\1\40\1\171\1\44\1\uffff\1\44\1\165\1\164\1\44\1\172\1\146\1\143"+
+        "\1\44\2\uffff\1\164\2\44\1\uffff\1\44\1\163\1\uffff\1\40\1\142\1"+
+        "\44\1\144\1\44\2\uffff\1\142\1\145\1\uffff\1\145\1\44\1\150\1\uffff"+
+        "\1\151\3\uffff\1\44\1\141\1\115\1\uffff\1\157\1\156\1\uffff\1\154"+
+        "\1\147\1\144\1\uffff\1\141\5\uffff\1\141\1\165\1\164\2\145\1\44"+
+        "\1\156\1\160\1\142\1\145\1\40\1\162\1\uffff\1\147\1\160\1\154\1"+
+        "\147\1\146\1\40\1\145\1\151\2\145\2\uffff\1\146\1\40\1\156\1\40"+
+        "\1\162\2\uffff\1\44\1\uffff\1\147\1\146\1\40\1\uffff\1\44\2\uffff"+
+        "\1\146\3\uffff";
+    static final String DFA21_maxS =
+        "\1\uffff\1\76\1\174\1\46\1\170\1\75\1\76\5\75\1\76\1\56\1\72\1"+
+        "\141\1\171\1\164\1\165\3\157\1\145\2\uffff\1\165\1\164\3\uffff\1"+
+        "\160\1\171\1\162\1\145\1\163\1\171\5\uffff\1\72\1\165\1\172\1\uffff"+
+        "\1\170\1\154\4\uffff\1\75\6\uffff\1\164\1\142\1\145\1\163\21\uffff"+
+        "\1\75\5\uffff\1\74\4\uffff\1\162\1\145\1\160\1\151\1\147\2\156\1"+
+        "\160\1\145\1\164\1\172\1\154\1\157\1\164\1\162\1\156\1\171\1\146"+
+        "\1\172\1\145\1\164\1\151\1\162\1\156\1\163\2\uffff\1\156\1\164\1"+
+        "\156\1\167\1\164\1\172\3\uffff\1\152\1\164\1\40\1\163\1\157\1\164"+
+        "\1\145\1\163\1\162\1\40\1\164\1\151\1\170\1\172\1\160\1\162\1\171"+
+        "\7\uffff\1\167\1\154\1\uffff\1\154\6\uffff\1\163\2\145\1\162\1\145"+
+        "\4\uffff\2\172\1\164\1\160\1\145\1\164\1\156\1\164\1\143\1\157\1"+
+        "\162\1\145\1\164\1\uffff\1\163\1\155\1\165\1\172\1\141\1\163\1\145"+
+        "\2\151\1\uffff\1\153\1\150\1\156\1\154\1\144\1\164\1\153\1\162\1"+
+        "\164\1\40\1\157\1\172\1\165\1\144\1\156\1\163\1\162\1\uffff\1\145"+
+        "\1\151\1\162\1\145\1\154\1\143\1\145\1\143\1\141\1\164\1\141\1\143"+
+        "\1\uffff\2\151\1\156\1\164\1\160\1\141\1\157\1\uffff\1\145\1\157"+
+        "\1\172\1\145\1\172\1\154\1\164\1\156\1\144\1\171\1\172\2\uffff\1"+
+        "\151\1\172\1\162\1\143\2\145\1\150\1\162\1\163\1\141\1\147\1\141"+
+        "\1\145\1\40\1\162\2\uffff\1\154\1\172\1\164\1\40\1\156\1\165\1\155"+
+        "\1\163\2\172\1\145\1\163\1\150\1\151\1\163\1\145\1\uffff\1\165\1"+
+        "\uffff\1\162\1\157\1\144\1\172\1\151\1\143\1\157\3\uffff\1\144\1"+
+        "\145\1\165\1\172\1\150\1\164\1\40\1\147\1\145\1\147\1\154\1\147"+
+        "\1\40\1\157\1\171\1\162\1\157\1\167\1\uffff\1\172\1\uffff\1\172"+
+        "\1\151\1\163\2\172\1\uffff\1\143\1\uffff\1\172\1\150\1\144\1\156"+
+        "\1\162\1\164\1\172\1\164\1\145\1\156\1\172\1\uffff\1\145\1\154\1"+
+        "\uffff\1\156\1\171\1\151\1\145\1\154\1\141\1\172\2\uffff\2\172\1"+
+        "\163\1\145\1\156\1\172\2\162\1\156\1\155\1\40\1\uffff\1\142\1\164"+
+        "\1\156\1\40\1\141\1\154\1\uffff\1\172\1\145\1\uffff\1\162\2\156"+
+        "\2\172\1\uffff\1\162\1\172\1\162\1\146\1\172\2\uffff\1\156\1\163"+
+        "\1\151\2\uffff\1\172\1\uffff\1\172\1\40\1\143\1\157\1\172\1\uffff"+
+        "\1\145\1\162\1\143\1\uffff\1\40\1\171\1\164\1\160\2\uffff\1\144"+
+        "\1\164\1\154\3\uffff\1\172\1\156\1\147\1\uffff\1\144\1\143\1\172"+
+        "\1\151\1\uffff\1\165\1\172\1\141\1\uffff\1\156\1\141\1\uffff\1\102"+
+        "\1\141\1\164\1\145\2\uffff\1\141\1\uffff\1\157\1\172\1\uffff\1\147"+
+        "\1\172\1\157\3\uffff\1\151\1\145\1\156\1\uffff\1\172\1\40\1\145"+
+        "\1\uffff\1\172\2\145\1\40\1\172\1\163\1\uffff\1\164\1\172\1\141"+
+        "\1\145\1\uffff\1\172\1\164\1\172\1\uffff\1\154\1\172\1\164\1\154"+
+        "\1\160\1\172\1\144\1\162\1\167\1\uffff\1\40\1\uffff\1\156\1\157"+
+        "\1\156\1\163\1\151\2\uffff\1\157\1\uffff\1\162\1\172\2\uffff\1\172"+
+        "\1\151\1\uffff\1\171\1\172\2\145\1\uffff\1\40\1\uffff\1\145\1\157"+
+        "\1\163\1\uffff\1\40\1\171\1\172\1\uffff\1\172\1\165\1\164\2\172"+
+        "\1\146\1\143\1\172\2\uffff\1\164\2\172\1\uffff\1\172\1\163\1\uffff"+
+        "\1\40\1\142\1\172\1\151\1\172\2\uffff\1\142\1\145\1\uffff\1\145"+
+        "\1\172\1\150\1\uffff\1\171\3\uffff\1\172\1\142\1\115\1\uffff\1\157"+
+        "\1\156\1\uffff\1\154\1\147\1\144\1\uffff\1\141\5\uffff\1\141\1\165"+
+        "\1\164\2\145\1\172\1\156\1\160\1\142\1\145\1\40\1\162\1\uffff\1"+
+        "\147\1\160\1\154\1\147\1\151\1\40\1\145\1\151\2\145\2\uffff\1\151"+
+        "\1\163\1\156\1\40\1\162\2\uffff\1\172\1\uffff\1\147\1\151\1\40\1"+
+        "\uffff\1\172\2\uffff\1\151\3\uffff";
+    static final String DFA21_acceptS =
+        "\27\uffff\1\55\1\56\2\uffff\1\67\1\70\1\71\6\uffff\1\157\1\160"+
+        "\1\161\1\162\1\164\3\uffff\1\u0091\2\uffff\2\u0095\1\u0098\1\u0099"+
+        "\1\uffff\1\24\1\1\1\2\1\u008f\1\3\1\u0088\4\uffff\1\u0091\1\5\1"+
+        "\36\1\27\1\6\1\21\1\37\1\30\1\7\1\32\1\31\1\10\1\u0096\1\u0097\1"+
+        "\33\1\11\1\34\1\uffff\1\35\1\16\1\17\1\25\1\20\1\uffff\1\40\1\26"+
+        "\1\u008e\1\u0087\31\uffff\1\55\1\56\6\uffff\1\67\1\70\1\71\21\uffff"+
+        "\1\157\1\160\1\161\1\162\1\164\1\u008d\1\170\2\uffff\1\u0092\1\uffff"+
+        "\1\u0093\1\u0094\1\u0095\1\u0098\1\14\1\12\5\uffff\1\15\1\13\1\22"+
+        "\1\23\15\uffff\1\165\11\uffff\1\175\21\uffff\1\147\14\uffff\1\113"+
+        "\7\uffff\1\137\13\uffff\1\41\1\74\17\uffff\1\135\1\173\20\uffff"+
+        "\1\57\1\uffff\1\154\7\uffff\1\75\1\140\1\151\22\uffff\1\u0083\1"+
+        "\uffff\1\176\5\uffff\1\166\1\uffff\1\144\13\uffff\1\62\2\uffff\1"+
+        "\50\7\uffff\1\77\1\101\13\uffff\1\136\6\uffff\1\172\2\uffff\1\110"+
+        "\5\uffff\1\122\5\uffff\1\u0090\1\177\3\uffff\1\102\1\146\1\uffff"+
+        "\1\46\5\uffff\1\65\3\uffff\1\47\4\uffff\1\112\1\145\3\uffff\1\51"+
+        "\1\174\1\125\3\uffff\1\53\4\uffff\1\116\3\uffff\1\105\2\uffff\1"+
+        "\u0086\4\uffff\1\143\1\153\1\uffff\1\u008b\2\uffff\1\u0081\3\uffff"+
+        "\1\43\1\100\1\167\3\uffff\1\44\3\uffff\1\107\6\uffff\1\52\4\uffff"+
+        "\1\u0082\3\uffff\1\73\11\uffff\1\u0080\1\uffff\1\42\5\uffff\1\141"+
+        "\1\142\1\uffff\1\u0084\2\uffff\1\103\1\171\2\uffff\1\134\4\uffff"+
+        "\1\72\1\uffff\1\111\3\uffff\1\156\3\uffff\1\4\10\uffff\1\132\1\115"+
+        "\3\uffff\1\64\2\uffff\1\155\5\uffff\1\u008c\1\45\2\uffff\1\124\3"+
+        "\uffff\1\76\1\uffff\1\u008a\1\63\1\106\3\uffff\1\123\2\uffff\1\150"+
+        "\3\uffff\1\163\1\uffff\1\54\1\133\1\66\1\104\1\152\14\uffff\1\u0085"+
+        "\12\uffff\1\114\1\117\5\uffff\1\120\1\121\1\uffff\1\61\3\uffff\1"+
+        "\60\1\uffff\1\126\1\127\1\uffff\1\u0089\1\130\1\131";
+    static final String DFA21_specialS =
+        "\1\0\u025c\uffff}>";
+    static final String[] DFA21_transitionS = {
+            "\11\62\2\61\2\62\1\61\22\62\1\61\1\12\1\57\1\46\1\54\1\11\1"+
+            "\3\1\60\1\33\1\34\1\7\1\5\1\35\1\6\1\15\1\10\1\55\11\56\1\51"+
+            "\1\50\1\14\1\1\1\13\1\16\1\44\32\54\1\47\1\62\1\45\1\53\1\54"+
+            "\1\62\1\32\1\37\1\40\1\23\1\4\1\22\2\54\1\21\3\54\1\25\1\52"+
+            "\1\36\1\41\1\54\1\31\1\20\1\43\1\42\1\17\1\24\1\54\1\26\1\54"+
+            "\1\27\1\2\1\30\uff82\62",
+            "\1\63\1\64",
+            "\1\66",
+            "\1\70",
+            "\1\75\1\73\10\uffff\1\74\1\uffff\1\72",
+            "\1\100\21\uffff\1\77",
+            "\1\104\17\uffff\1\102\1\103",
+            "\1\107\22\uffff\1\106",
+            "\1\112\4\uffff\1\113\15\uffff\1\111",
+            "\1\115",
+            "\1\117",
+            "\1\121",
+            "\1\123",
+            "\1\125",
+            "\1\130\13\uffff\1\127",
+            "\1\132",
+            "\1\137\3\uffff\1\136\12\uffff\1\133\1\134\1\uffff\1\135\1"+
+            "\uffff\1\140",
+            "\1\144\6\uffff\1\141\1\143\5\uffff\1\142",
+            "\1\145\7\uffff\1\151\5\uffff\1\150\2\uffff\1\146\2\uffff\1"+
+            "\147",
+            "\1\152\3\uffff\1\153\11\uffff\1\154",
+            "\1\155\2\uffff\1\157\1\156\5\uffff\1\160",
+            "\1\161",
+            "\1\162",
+            "",
+            "",
+            "\1\167\3\uffff\1\166\11\uffff\1\170\5\uffff\1\165",
+            "\1\172\1\171",
+            "",
+            "",
+            "",
+            "\1\176\15\uffff\1\177",
+            "\1\u0081\15\uffff\1\u0082\11\uffff\1\u0080",
+            "\1\u0083\20\uffff\1\u0084",
+            "\1\u0085\3\uffff\1\u0086",
+            "\1\u0088\1\uffff\1\u0087\2\uffff\1\u0089",
+            "\1\u008a\2\uffff\1\u008d\6\uffff\1\u008b\2\uffff\1\u008e\6"+
+            "\uffff\1\u008c",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "\1\u0094",
+            "\1\u0096\17\uffff\1\u0097",
+            "\1\76\34\uffff\32\76\4\uffff\1\76\1\uffff\32\76",
+            "",
+            "\12\u0099\10\uffff\1\u009b\1\uffff\3\u009b\5\uffff\1\u009b"+
+            "\13\uffff\1\u0098\6\uffff\1\u0099\2\uffff\1\u009b\1\uffff\3"+
+            "\u009b\5\uffff\1\u009b\13\uffff\1\u0098",
+            "\12\u0099\10\uffff\1\u009b\1\uffff\3\u009b\5\uffff\1\u009b"+
+            "\22\uffff\1\u0099\2\uffff\1\u009b\1\uffff\3\u009b\5\uffff\1"+
+            "\u009b",
+            "",
+            "",
+            "",
+            "",
+            "\1\u009e",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "\1\u00a0\12\uffff\1\u00a1",
+            "\1\u00a2",
+            "\1\u00a3",
+            "\1\u00a4",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "\1\u00a5",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "\1\u00a7",
+            "",
+            "",
+            "",
+            "",
+            "\1\u00a9\5\uffff\1\u00aa",
+            "\1\u00ab\3\uffff\1\u00ac",
+            "\1\u00ad",
+            "\1\u00ae",
+            "\1\u00af",
+            "\1\u00b0",
+            "\1\u00b1",
+            "\1\u00b2",
+            "\1\u00b3",
+            "\1\u00b5\1\u00b4",
+            "\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff\32"+
+            "\76",
+            "\1\u00b7",
+            "\1\u00b8",
+            "\1\u00b9",
+            "\1\u00ba",
+            "\1\u00bb",
+            "\1\u00bd\4\uffff\1\u00bc",
+            "\1\u00bf\2\uffff\1\u00be",
+            "\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff\32"+
+            "\76",
+            "\1\u00c1",
+            "\1\u00c2",
+            "\1\u00c3\3\uffff\1\u00c4",
+            "\1\u00c5",
+            "\1\u00c7\12\uffff\1\u00c6",
+            "\1\u00c8\21\uffff\1\u00c9",
+            "",
+            "",
+            "\1\u00ca",
+            "\1\u00cc\14\uffff\1\u00cb\1\u00cd",
+            "\1\u00ce",
+            "\1\u00cf\1\uffff\1\u00d0",
+            "\1\u00d1",
+            "\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff\32"+
+            "\76",
+            "",
+            "",
+            "",
+            "\1\u00d3",
+            "\1\u00d4",
+            "\1\u00d5",
+            "\1\u00d6",
+            "\1\u00d7",
+            "\1\u00d8\6\uffff\1\u00d9\1\u00da",
+            "\1\u00db",
+            "\1\u00dd\1\u00dc",
+            "\1\u00de",
+            "\1\u00df",
+            "\1\u00e0\1\u00e1",
+            "\1\u00e2",
+            "\1\u00e4\12\uffff\1\u00e3",
+            "\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff\3"+
+            "\76\1\u00e5\10\76\1\u00e6\15\76",
+            "\1\u00e8",
+            "\1\u00e9",
+            "\1\u00eb\3\uffff\1\u00ea",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "\1\u00ec",
+            "\1\u00ed",
+            "",
+            "\12\u0099\10\uffff\1\u009b\1\uffff\3\u009b\5\uffff\1\u009b"+
+            "\22\uffff\1\u0099\2\uffff\1\u009b\1\uffff\3\u009b\5\uffff\1"+
+            "\u009b",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "\1\u00ee",
+            "\1\u00ef",
+            "\1\u00f0",
+            "\1\u00f1",
+            "\1\u00f2",
+            "",
+            "",
+            "",
+            "",
+            "\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff\32"+
+            "\76",
+            "\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff\32"+
+            "\76",
+            "\1\u00f5",
+            "\1\u00f6",
+            "\1\u00f7",
+            "\1\u00f8",
+            "\1\u00f9",
+            "\1\u00fa",
+            "\1\u00fb",
+            "\1\u00fc",
+            "\1\u00fd\4\uffff\1\u00fe",
+            "\1\u00ff",
+            "\1\u0100",
+            "",
+            "\1\u0101",
+            "\1\u0102",
+            "\1\u0103",
+            "\1\u0104\3\uffff\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff"+
+            "\1\76\1\uffff\32\76",
+            "\1\u0106",
+            "\1\u0107",
+            "\1\u0108\3\uffff\1\u0109",
+            "\1\u010b\7\uffff\1\u010a",
+            "\1\u010c",
+            "",
+            "\1\u010d",
+            "\1\u010e",
+            "\1\u010f",
+            "\1\u0110",
+            "\1\u0111",
+            "\1\u0112",
+            "\1\u0113",
+            "\1\u0114",
+            "\1\u0115",
+            "\1\u0116",
+            "\1\u0117",
+            "\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff\32"+
+            "\76",
+            "\1\u0119",
+            "\1\u011a",
+            "\1\u011b",
+            "\1\u011c",
+            "\1\u011d",
+            "",
+            "\1\u011e",
+            "\1\u011f",
+            "\1\u0120\11\uffff\1\u0122\2\uffff\1\u0121",
+            "\1\u0123",
+            "\1\u0124",
+            "\1\u0125",
+            "\1\u0126",
+            "\1\u0127",
+            "\1\u0128",
+            "\1\u0129",
+            "\1\u012a",
+            "\1\u012b",
+            "",
+            "\1\u012c",
+            "\1\u012d",
+            "\1\u012e",
+            "\1\u012f",
+            "\1\u0130",
+            "\1\u0131",
+            "\1\u0132",
+            "",
+            "\1\u0133",
+            "\1\u0134",
+            "\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff\32"+
+            "\76",
+            "\1\u0136",
+            "\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff\32"+
+            "\76",
+            "\1\u0138",
+            "\1\u0139",
+            "\1\u013a",
+            "\1\u013b",
+            "\1\u013c",
+            "\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff\32"+
+            "\76",
+            "",
+            "",
+            "\1\u013e",
+            "\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff\32"+
+            "\76",
+            "\1\u0140",
+            "\1\u0141",
+            "\1\u0142",
+            "\1\u0143",
+            "\1\u0144",
+            "\1\u0145",
+            "\1\u0146",
+            "\1\u0147",
+            "\1\u0148",
+            "\1\u0149",
+            "\1\u014a",
+            "\1\u014b",
+            "\1\u014c",
+            "",
+            "",
+            "\1\u014d",
+            "\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff\32"+
+            "\76",
+            "\1\u014f\12\uffff\1\u0150",
+            "\1\u0151",
+            "\1\u0152",
+            "\1\u0153",
+            "\1\u0154",
+            "\1\u0155",
+            "\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff\32"+
+            "\76",
+            "\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff\32"+
+            "\76",
+            "\1\u0158",
+            "\1\u0159",
+            "\1\u015a",
+            "\1\u015b\110\uffff\1\u015c",
+            "\1\u015d",
+            "\1\u015e",
+            "",
+            "\1\u015f",
+            "",
+            "\1\u0160",
+            "\1\u0161",
+            "\1\u0162",
+            "\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff\32"+
+            "\76",
+            "\1\u0164",
+            "\1\u0165",
+            "\1\u0166",
+            "",
+            "",
+            "",
+            "\1\u0167",
+            "\1\u0168",
+            "\1\u0169",
+            "\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff\32"+
+            "\76",
+            "\1\u016b",
+            "\1\u016c",
+            "\1\u016d",
+            "\1\u016e",
+            "\1\u016f",
+            "\1\u0170",
+            "\1\u0171",
+            "\1\u0172",
+            "\1\u0173",
+            "\1\u0174",
+            "\1\u0175",
+            "\1\u0176",
+            "\1\u0177",
+            "\1\u0178",
+            "",
+            "\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff\32"+
+            "\76",
+            "",
+            "\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff\32"+
+            "\76",
+            "\1\u017b",
+            "\1\u017c\16\uffff\1\u017d",
+            "\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff\32"+
+            "\76",
+            "\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff\32"+
+            "\76",
+            "",
+            "\1\u0180",
+            "",
+            "\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff\32"+
+            "\76",
+            "\1\u0182",
+            "\1\u0183",
+            "\1\u0184",
+            "\1\u0185",
+            "\1\u0186",
+            "\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff\32"+
+            "\76",
+            "\1\u0188",
+            "\1\u0189",
+            "\1\u018a",
+            "\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff\32"+
+            "\76",
+            "",
+            "\1\u018c",
+            "\1\u018d",
+            "",
+            "\1\u018e",
+            "\1\u018f",
+            "\1\u0191\2\uffff\1\u0190",
+            "\1\u0192",
+            "\1\u0193",
+            "\1\u0194",
+            "\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff\32"+
+            "\76",
+            "",
+            "",
+            "\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff\32"+
+            "\76",
+            "\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff\32"+
+            "\76",
+            "\1\u0198",
+            "\1\u0199",
+            "\1\u019a",
+            "\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff\32"+
+            "\76",
+            "\1\u019c",
+            "\1\u019d",
+            "\1\u019e",
+            "\1\u019f",
+            "\1\u01a0",
+            "",
+            "\1\u01a1",
+            "\1\u01a2",
+            "\1\u01a3",
+            "\1\u01a4",
+            "\1\u01a5",
+            "\1\u01a6",
+            "",
+            "\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff\32"+
+            "\76",
+            "\1\u01a8",
+            "",
+            "\1\u01a9",
+            "\1\u01aa",
+            "\1\u01ab",
+            "\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff\32"+
+            "\76",
+            "\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff\32"+
+            "\76",
+            "",
+            "\1\u01ae",
+            "\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff\32"+
+            "\76",
+            "\1\u01b0",
+            "\1\u01b1",
+            "\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff\32"+
+            "\76",
+            "",
+            "",
+            "\1\u01b3",
+            "\1\u01b4",
+            "\1\u01b5",
+            "",
+            "",
+            "\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff\32"+
+            "\76",
+            "",
+            "\1\u01b7\3\uffff\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff"+
+            "\1\76\1\uffff\32\76",
+            "\1\u01b9",
+            "\1\u01ba",
+            "\1\u01bb",
+            "\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff\32"+
+            "\76",
+            "",
+            "\1\u01bd",
+            "\1\u01be",
+            "\1\u01bf",
+            "",
+            "\1\u01c0",
+            "\1\u01c1",
+            "\1\u01c2",
+            "\1\u01c3",
+            "",
+            "",
+            "\1\u01c4",
+            "\1\u01c5",
+            "\1\u01c6",
+            "",
+            "",
+            "",
+            "\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff\32"+
+            "\76",
+            "\1\u01c8",
+            "\1\u01c9",
+            "",
+            "\1\u01ca",
+            "\1\u01cb",
+            "\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff\32"+
+            "\76",
+            "\1\u01cd",
+            "",
+            "\1\u01ce",
+            "\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff\22"+
+            "\76\1\u01cf\7\76",
+            "\1\u01d1",
+            "",
+            "\1\u01d2",
+            "\1\u01d3",
+            "",
+            "\1\u01d4",
+            "\1\u01d5",
+            "\1\u01d6",
+            "\1\u01d7",
+            "",
+            "",
+            "\1\u01d8",
+            "",
+            "\1\u01d9",
+            "\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff\32"+
+            "\76",
+            "",
+            "\1\u01db",
+            "\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff\32"+
+            "\76",
+            "\1\u01dd",
+            "",
+            "",
+            "",
+            "\1\u01de\4\uffff\1\u01df",
+            "\1\u01e0",
+            "\1\u01e1",
+            "",
+            "\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff\32"+
+            "\76",
+            "\1\u01e3",
+            "\1\u01e4",
+            "",
+            "\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff\32"+
+            "\76",
+            "\1\u01e6",
+            "\1\u01e7",
+            "\1\u01e8",
+            "\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff\32"+
+            "\76",
+            "\1\u01ea",
+            "",
+            "\1\u01eb",
+            "\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff\32"+
+            "\76",
+            "\1\u01ed",
+            "\1\u01ee",
+            "",
+            "\1\u01ef",
+            "\1\u01f0",
+            "\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff\32"+
+            "\76",
+            "",
+            "\1\u01f2",
+            "\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff\32"+
+            "\76",
+            "\1\u01f4",
+            "\1\u01f5",
+            "\1\u01f6",
+            "\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff\32"+
+            "\76",
+            "\1\u01f8",
+            "\1\u01f9",
+            "\1\u01fa",
+            "",
+            "\1\u01fb",
+            "",
+            "\1\u01fc",
+            "\1\u01fd",
+            "\1\u01fe",
+            "\1\u01ff",
+            "\1\u0200",
+            "",
+            "",
+            "\1\u0201",
+            "",
+            "\1\u0202",
+            "\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff\22"+
+            "\76\1\u0203\7\76",
+            "",
+            "",
+            "\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff\32"+
+            "\76",
+            "\1\u0206",
+            "",
+            "\1\u0207",
+            "\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff\22"+
+            "\76\1\u0208\7\76",
+            "\1\u020a",
+            "\1\u020b",
+            "",
+            "\1\u020c",
+            "",
+            "\1\u020d",
+            "\1\u020e",
+            "\1\u020f",
+            "",
+            "\1\u0210",
+            "\1\u0211",
+            "\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff\32"+
+            "\76",
+            "",
+            "\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff\32"+
+            "\76",
+            "\1\u0214",
+            "\1\u0215",
+            "\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff\32"+
+            "\76",
+            "\1\u0217",
+            "\1\u0218",
+            "\1\u0219",
+            "\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff\32"+
+            "\76",
+            "",
+            "",
+            "\1\u021b",
+            "\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff\32"+
+            "\76",
+            "\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff\32"+
+            "\76",
+            "",
+            "\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff\32"+
+            "\76",
+            "\1\u021f",
+            "",
+            "\1\u0220",
+            "\1\u0221",
+            "\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff\32"+
+            "\76",
+            "\1\u0223\4\uffff\1\u0224",
+            "\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff\32"+
+            "\76",
+            "",
+            "",
+            "\1\u0226",
+            "\1\u0227",
+            "",
+            "\1\u0228",
+            "\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff\32"+
+            "\76",
+            "\1\u022a",
+            "",
+            "\1\u022c\17\uffff\1\u022b",
+            "",
+            "",
+            "",
+            "\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff\32"+
+            "\76",
+            "\1\u022e\1\u022f",
+            "\1\u0230",
+            "",
+            "\1\u0231",
+            "\1\u0232",
+            "",
+            "\1\u0233",
+            "\1\u0234",
+            "\1\u0235",
+            "",
+            "\1\u0236",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "\1\u0237",
+            "\1\u0238",
+            "\1\u0239",
+            "\1\u023a",
+            "\1\u023b",
+            "\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff\32"+
+            "\76",
+            "\1\u023d",
+            "\1\u023e",
+            "\1\u023f",
+            "\1\u0240",
+            "\1\u0241",
+            "\1\u0242",
+            "",
+            "\1\u0243",
+            "\1\u0244",
+            "\1\u0245",
+            "\1\u0246",
+            "\1\u0248\2\uffff\1\u0247",
+            "\1\u0249",
+            "\1\u024a",
+            "\1\u024b",
+            "\1\u024c",
+            "\1\u024d",
+            "",
+            "",
+            "\1\u024f\2\uffff\1\u024e",
+            "\1\u0251\122\uffff\1\u0250",
+            "\1\u0252",
+            "\1\u0253",
+            "\1\u0254",
+            "",
+            "",
+            "\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff\32"+
+            "\76",
+            "",
+            "\1\u0256",
+            "\1\u0258\2\uffff\1\u0257",
+            "\1\u0259",
+            "",
+            "\1\76\13\uffff\12\76\7\uffff\32\76\4\uffff\1\76\1\uffff\32"+
+            "\76",
+            "",
+            "",
+            "\1\u025c\2\uffff\1\u025b",
+            "",
+            "",
+            ""
+    };
+
+    static final short[] DFA21_eot = DFA.unpackEncodedString(DFA21_eotS);
+    static final short[] DFA21_eof = DFA.unpackEncodedString(DFA21_eofS);
+    static final char[] DFA21_min = DFA.unpackEncodedStringToUnsignedChars(DFA21_minS);
+    static final char[] DFA21_max = DFA.unpackEncodedStringToUnsignedChars(DFA21_maxS);
+    static final short[] DFA21_accept = DFA.unpackEncodedString(DFA21_acceptS);
+    static final short[] DFA21_special = DFA.unpackEncodedString(DFA21_specialS);
+    static final short[][] DFA21_transition;
+
+    static {
+        int numStates = DFA21_transitionS.length;
+        DFA21_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA21_transition[i] = DFA.unpackEncodedString(DFA21_transitionS[i]);
+        }
+    }
+
+    static class DFA21 extends DFA {
+
+        public DFA21(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 21;
+            this.eot = DFA21_eot;
+            this.eof = DFA21_eof;
+            this.min = DFA21_min;
+            this.max = DFA21_max;
+            this.accept = DFA21_accept;
+            this.special = DFA21_special;
+            this.transition = DFA21_transition;
+        }
+        public String getDescription() {
+            return "1:1: Tokens : ( T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | T__89 | T__90 | T__91 | T__92 | T__93 | T__94 | T__95 | T__96 | T__97 | T__98 | T__99 | T__100 | T__101 | T__102 | T__103 | T__104 | T__105 | T__106 | T__107 | T__108 | T__109 | T__110 | T__111 | T__112 | T__113 | T__114 | T__115 | T__116 | T__117 | T__118 | T__119 | T__120 | T__121 | T__122 | T__123 | T__124 | T__125 | T__126 | T__127 | T__128 | T__129 | T__130 | T__131 | T__132 | T__133 | T__134 | T__135 | T__136 | T__137 | T__138 | T__139 | T__140 | T__141 | T__142 | T__143 | T__144 | T__145 | T__146 | T__147 | T__148 | T__149 | T__150 | T__151 | T__152 | T__153 | T__154 | T__155 | T__156 | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            IntStream input = _input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA21_0 = input.LA(1);
+
+                        s = -1;
+                        if ( (LA21_0=='=') ) {s = 1;}
+
+                        else if ( (LA21_0=='|') ) {s = 2;}
+
+                        else if ( (LA21_0=='&') ) {s = 3;}
+
+                        else if ( (LA21_0=='e') ) {s = 4;}
+
+                        else if ( (LA21_0=='+') ) {s = 5;}
+
+                        else if ( (LA21_0=='-') ) {s = 6;}
+
+                        else if ( (LA21_0=='*') ) {s = 7;}
+
+                        else if ( (LA21_0=='/') ) {s = 8;}
+
+                        else if ( (LA21_0=='%') ) {s = 9;}
+
+                        else if ( (LA21_0=='!') ) {s = 10;}
+
+                        else if ( (LA21_0=='>') ) {s = 11;}
+
+                        else if ( (LA21_0=='<') ) {s = 12;}
+
+                        else if ( (LA21_0=='.') ) {s = 13;}
+
+                        else if ( (LA21_0=='?') ) {s = 14;}
+
+                        else if ( (LA21_0=='v') ) {s = 15;}
+
+                        else if ( (LA21_0=='s') ) {s = 16;}
+
+                        else if ( (LA21_0=='i') ) {s = 17;}
+
+                        else if ( (LA21_0=='f') ) {s = 18;}
+
+                        else if ( (LA21_0=='d') ) {s = 19;}
+
+                        else if ( (LA21_0=='w') ) {s = 20;}
+
+                        else if ( (LA21_0=='m') ) {s = 21;}
+
+                        else if ( (LA21_0=='y') ) {s = 22;}
+
+                        else if ( (LA21_0=='{') ) {s = 23;}
+
+                        else if ( (LA21_0=='}') ) {s = 24;}
+
+                        else if ( (LA21_0=='r') ) {s = 25;}
+
+                        else if ( (LA21_0=='a') ) {s = 26;}
+
+                        else if ( (LA21_0=='(') ) {s = 27;}
+
+                        else if ( (LA21_0==')') ) {s = 28;}
+
+                        else if ( (LA21_0==',') ) {s = 29;}
+
+                        else if ( (LA21_0=='o') ) {s = 30;}
+
+                        else if ( (LA21_0=='b') ) {s = 31;}
+
+                        else if ( (LA21_0=='c') ) {s = 32;}
+
+                        else if ( (LA21_0=='p') ) {s = 33;}
+
+                        else if ( (LA21_0=='u') ) {s = 34;}
+
+                        else if ( (LA21_0=='t') ) {s = 35;}
+
+                        else if ( (LA21_0=='@') ) {s = 36;}
+
+                        else if ( (LA21_0==']') ) {s = 37;}
+
+                        else if ( (LA21_0=='#') ) {s = 38;}
+
+                        else if ( (LA21_0=='[') ) {s = 39;}
+
+                        else if ( (LA21_0==';') ) {s = 40;}
+
+                        else if ( (LA21_0==':') ) {s = 41;}
+
+                        else if ( (LA21_0=='n') ) {s = 42;}
+
+                        else if ( (LA21_0=='^') ) {s = 43;}
+
+                        else if ( (LA21_0=='$'||(LA21_0>='A' && LA21_0<='Z')||LA21_0=='_'||(LA21_0>='g' && LA21_0<='h')||(LA21_0>='j' && LA21_0<='l')||LA21_0=='q'||LA21_0=='x'||LA21_0=='z') ) {s = 44;}
+
+                        else if ( (LA21_0=='0') ) {s = 45;}
+
+                        else if ( ((LA21_0>='1' && LA21_0<='9')) ) {s = 46;}
+
+                        else if ( (LA21_0=='\"') ) {s = 47;}
+
+                        else if ( (LA21_0=='\'') ) {s = 48;}
+
+                        else if ( ((LA21_0>='\t' && LA21_0<='\n')||LA21_0=='\r'||LA21_0==' ') ) {s = 49;}
+
+                        else if ( ((LA21_0>='\u0000' && LA21_0<='\b')||(LA21_0>='\u000B' && LA21_0<='\f')||(LA21_0>='\u000E' && LA21_0<='\u001F')||LA21_0=='\\'||LA21_0=='`'||(LA21_0>='~' && LA21_0<='\uFFFF')) ) {s = 50;}
+
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 21, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+ 
+
+}
diff --git a/org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSLParser.java b/org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSLParser.java
new file mode 100644
index 0000000..5ea20b1
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSLParser.java
@@ -0,0 +1,10015 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  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:                                                      
+ * 	   Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ * 
+ */
+
+package org.eclipse.osbp.xtext.entitymock.ui.contentassist.antlr.internal; 
+
+import java.io.InputStream;
+import org.eclipse.xtext.*;
+import org.eclipse.xtext.parser.*;
+import org.eclipse.xtext.parser.impl.*;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
+import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
+import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.DFA;
+import org.eclipse.osbp.xtext.entitymock.services.EntityMockDSLGrammarAccess;
+
+
+
+import org.antlr.runtime.*;
+import java.util.Stack;
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Map;
+import java.util.HashMap;
+@SuppressWarnings("all")
+interface InternalEntityMockDSLParserSignatures {
+     void entryRuleEntityMockModel() throws RecognitionException;
+     void ruleEntityMockModel() throws RecognitionException;
+     void entryRuleEntityMockPackage() throws RecognitionException;
+     void ruleEntityMockPackage() throws RecognitionException;
+     void entryRuleEntityModelImport() throws RecognitionException;
+     void ruleEntityModelImport() throws RecognitionException;
+     void entryRuleEntityMockQualifiedNameWithWildCard() throws RecognitionException;
+     void ruleEntityMockQualifiedNameWithWildCard() throws RecognitionException;
+     void entryRuleRunningDataInterchanges() throws RecognitionException;
+     void ruleRunningDataInterchanges() throws RecognitionException;
+     void entryRuleRunningDataInterchange() throws RecognitionException;
+     void ruleRunningDataInterchange() throws RecognitionException;
+     void entryRuleEntityMockResources() throws RecognitionException;
+     void ruleEntityMockResources() throws RecognitionException;
+     void entryRuleEntityMockResource() throws RecognitionException;
+     void ruleEntityMockResource() throws RecognitionException;
+     void entryRuleEntityMockResourceAttribute() throws RecognitionException;
+     void ruleEntityMockResourceAttribute() throws RecognitionException;
+     void entryRuleEntityMockResourceDataRow() throws RecognitionException;
+     void ruleEntityMockResourceDataRow() throws RecognitionException;
+     void entryRuleEntityMockObjects() throws RecognitionException;
+     void ruleEntityMockObjects() throws RecognitionException;
+     void entryRuleEntityMockObject() throws RecognitionException;
+     void ruleEntityMockObject() throws RecognitionException;
+     void entryRuleEntityMockObjectEnum() throws RecognitionException;
+     void ruleEntityMockObjectEnum() throws RecognitionException;
+     void entryRuleEntityMockDataTypes() throws RecognitionException;
+     void ruleEntityMockDataTypes() throws RecognitionException;
+     void entryRuleIEntityMockObjectAttribute() throws RecognitionException;
+     void ruleIEntityMockObjectAttribute() throws RecognitionException;
+     void entryRuleEntityMockObjectPlainValue() throws RecognitionException;
+     void ruleEntityMockObjectPlainValue() throws RecognitionException;
+     void entryRuleEntityMockObjectResourceValue() throws RecognitionException;
+     void ruleEntityMockObjectResourceValue() throws RecognitionException;
+     void entryRuleEntityMockObjectArrayValue() throws RecognitionException;
+     void ruleEntityMockObjectArrayValue() throws RecognitionException;
+     void entryRuleEntityMockObjectItemValue() throws RecognitionException;
+     void ruleEntityMockObjectItemValue() throws RecognitionException;
+     void entryRuleEntityMockObjectEmbed() throws RecognitionException;
+     void ruleEntityMockObjectEmbed() throws RecognitionException;
+     void entryRuleEntityMockObjectFunction() throws RecognitionException;
+     void ruleEntityMockObjectFunction() throws RecognitionException;
+     void entryRuleEntityMockObjectFunctionParameter() throws RecognitionException;
+     void ruleEntityMockObjectFunctionParameter() throws RecognitionException;
+     void entryRuleEntityMockObjectFill() throws RecognitionException;
+     void ruleEntityMockObjectFill() throws RecognitionException;
+     void entryRulePropertyFillerType() throws RecognitionException;
+     void rulePropertyFillerType() throws RecognitionException;
+     void entryRulePropertyFillerDateFuture() throws RecognitionException;
+     void rulePropertyFillerDateFuture() throws RecognitionException;
+     void entryRulePropertyFillerDatePast() throws RecognitionException;
+     void rulePropertyFillerDatePast() throws RecognitionException;
+     void entryRulePropertyFillerBoolean() throws RecognitionException;
+     void rulePropertyFillerBoolean() throws RecognitionException;
+     void entryRulePropertyFillerDateRange() throws RecognitionException;
+     void rulePropertyFillerDateRange() throws RecognitionException;
+     void entryRulePropertyFillerSignedDoubleRange() throws RecognitionException;
+     void rulePropertyFillerSignedDoubleRange() throws RecognitionException;
+     void entryRulePropertyFillerSignedDoubleRandom() throws RecognitionException;
+     void rulePropertyFillerSignedDoubleRandom() throws RecognitionException;
+     void entryRulePropertyFillerSignedIntegerRange() throws RecognitionException;
+     void rulePropertyFillerSignedIntegerRange() throws RecognitionException;
+     void entryRulePropertyFillerSignedIntegerRandom() throws RecognitionException;
+     void rulePropertyFillerSignedIntegerRandom() throws RecognitionException;
+     void entryRulePropertyFillerTextRandom() throws RecognitionException;
+     void rulePropertyFillerTextRandom() throws RecognitionException;
+     void entryRulePropertyFillerTextParagraphs() throws RecognitionException;
+     void rulePropertyFillerTextParagraphs() throws RecognitionException;
+     void entryRulePropertyFillerTextSentences() throws RecognitionException;
+     void rulePropertyFillerTextSentences() throws RecognitionException;
+     void entryRulePropertyFillerTextWords() throws RecognitionException;
+     void rulePropertyFillerTextWords() throws RecognitionException;
+     void entryRulePropertyFillerUnsignedDoubleRange() throws RecognitionException;
+     void rulePropertyFillerUnsignedDoubleRange() throws RecognitionException;
+     void entryRulePropertyFillerUnsignedDoubleRandom() throws RecognitionException;
+     void rulePropertyFillerUnsignedDoubleRandom() throws RecognitionException;
+     void entryRulePropertyFillerUnsignedIntegerRange() throws RecognitionException;
+     void rulePropertyFillerUnsignedIntegerRange() throws RecognitionException;
+     void entryRulePropertyFillerUnsignedIntegerRandom() throws RecognitionException;
+     void rulePropertyFillerUnsignedIntegerRandom() throws RecognitionException;
+     void entryRuleEntityMockDataType() throws RecognitionException;
+     void ruleEntityMockDataType() throws RecognitionException;
+     void entryRuleEntityMockEntities() throws RecognitionException;
+     void ruleEntityMockEntities() throws RecognitionException;
+     void entryRuleEntityMockEntity() throws RecognitionException;
+     void ruleEntityMockEntity() throws RecognitionException;
+     void entryRuleIIterate() throws RecognitionException;
+     void ruleIIterate() throws RecognitionException;
+     void entryRuleIntegerIterate() throws RecognitionException;
+     void ruleIntegerIterate() throws RecognitionException;
+     void entryRuleDateIterate() throws RecognitionException;
+     void ruleDateIterate() throws RecognitionException;
+     void entryRuleDate() throws RecognitionException;
+     void ruleDate() throws RecognitionException;
+     void entryRuleEntityMockByResourceAttribute() throws RecognitionException;
+     void ruleEntityMockByResourceAttribute() throws RecognitionException;
+     void entryRuleEntityMockTemporary() throws RecognitionException;
+     void ruleEntityMockTemporary() throws RecognitionException;
+     void entryRuleIEntityMockAttribute() throws RecognitionException;
+     void ruleIEntityMockAttribute() throws RecognitionException;
+     void entryRuleEntityMockEntityFunction() throws RecognitionException;
+     void ruleEntityMockEntityFunction() throws RecognitionException;
+     void entryRuleEntityMockEntityFunctionParameter() throws RecognitionException;
+     void ruleEntityMockEntityFunctionParameter() throws RecognitionException;
+     void entryRuleEntityMockReferencedObjectAttribute() throws RecognitionException;
+     void ruleEntityMockReferencedObjectAttribute() throws RecognitionException;
+     void entryRuleEntityMockAttributeByObject() throws RecognitionException;
+     void ruleEntityMockAttributeByObject() throws RecognitionException;
+     void entryRuleEntityMockAttributeFiller() throws RecognitionException;
+     void ruleEntityMockAttributeFiller() throws RecognitionException;
+     void entryRuleEntityMockAttributeByReference() throws RecognitionException;
+     void ruleEntityMockAttributeByReference() throws RecognitionException;
+     void entryRuleSignedNumber() throws RecognitionException;
+     void ruleSignedNumber() throws RecognitionException;
+     void entryRuleUnsignedNumber() throws RecognitionException;
+     void ruleUnsignedNumber() throws RecognitionException;
+     void entryRuleSINT() throws RecognitionException;
+     void ruleSINT() throws RecognitionException;
+     void entryRuleQualifiedName() throws RecognitionException;
+     void ruleQualifiedName() throws RecognitionException;
+     void entryRuleValidID() throws RecognitionException;
+     void ruleValidID() throws RecognitionException;
+     void entryRuleXAnnotation() throws RecognitionException;
+     void ruleXAnnotation() throws RecognitionException;
+     void entryRuleXAnnotationElementValuePair() throws RecognitionException;
+     void ruleXAnnotationElementValuePair() throws RecognitionException;
+     void entryRuleXAnnotationElementValueOrCommaList() throws RecognitionException;
+     void ruleXAnnotationElementValueOrCommaList() throws RecognitionException;
+     void entryRuleXAnnotationElementValue() throws RecognitionException;
+     void ruleXAnnotationElementValue() throws RecognitionException;
+     void entryRuleXAnnotationOrExpression() throws RecognitionException;
+     void ruleXAnnotationOrExpression() throws RecognitionException;
+     void entryRuleXExpression() throws RecognitionException;
+     void ruleXExpression() throws RecognitionException;
+     void entryRuleXAssignment() throws RecognitionException;
+     void ruleXAssignment() throws RecognitionException;
+     void entryRuleOpSingleAssign() throws RecognitionException;
+     void ruleOpSingleAssign() throws RecognitionException;
+     void entryRuleOpMultiAssign() throws RecognitionException;
+     void ruleOpMultiAssign() throws RecognitionException;
+     void entryRuleXOrExpression() throws RecognitionException;
+     void ruleXOrExpression() throws RecognitionException;
+     void entryRuleOpOr() throws RecognitionException;
+     void ruleOpOr() throws RecognitionException;
+     void entryRuleXAndExpression() throws RecognitionException;
+     void ruleXAndExpression() throws RecognitionException;
+     void entryRuleOpAnd() throws RecognitionException;
+     void ruleOpAnd() throws RecognitionException;
+     void entryRuleXEqualityExpression() throws RecognitionException;
+     void ruleXEqualityExpression() throws RecognitionException;
+     void entryRuleOpEquality() throws RecognitionException;
+     void ruleOpEquality() throws RecognitionException;
+     void entryRuleXRelationalExpression() throws RecognitionException;
+     void ruleXRelationalExpression() throws RecognitionException;
+     void entryRuleOpCompare() throws RecognitionException;
+     void ruleOpCompare() throws RecognitionException;
+     void entryRuleXOtherOperatorExpression() throws RecognitionException;
+     void ruleXOtherOperatorExpression() throws RecognitionException;
+     void entryRuleOpOther() throws RecognitionException;
+     void ruleOpOther() throws RecognitionException;
+     void entryRuleXAdditiveExpression() throws RecognitionException;
+     void ruleXAdditiveExpression() throws RecognitionException;
+     void entryRuleOpAdd() throws RecognitionException;
+     void ruleOpAdd() throws RecognitionException;
+     void entryRuleXMultiplicativeExpression() throws RecognitionException;
+     void ruleXMultiplicativeExpression() throws RecognitionException;
+     void entryRuleOpMulti() throws RecognitionException;
+     void ruleOpMulti() throws RecognitionException;
+     void entryRuleXUnaryOperation() throws RecognitionException;
+     void ruleXUnaryOperation() throws RecognitionException;
+     void entryRuleOpUnary() throws RecognitionException;
+     void ruleOpUnary() throws RecognitionException;
+     void entryRuleXCastedExpression() throws RecognitionException;
+     void ruleXCastedExpression() throws RecognitionException;
+     void entryRuleXPostfixOperation() throws RecognitionException;
+     void ruleXPostfixOperation() throws RecognitionException;
+     void entryRuleOpPostfix() throws RecognitionException;
+     void ruleOpPostfix() throws RecognitionException;
+     void entryRuleXMemberFeatureCall() throws RecognitionException;
+     void ruleXMemberFeatureCall() throws RecognitionException;
+     void entryRuleXPrimaryExpression() throws RecognitionException;
+     void ruleXPrimaryExpression() throws RecognitionException;
+     void entryRuleXLiteral() throws RecognitionException;
+     void ruleXLiteral() throws RecognitionException;
+     void entryRuleXCollectionLiteral() throws RecognitionException;
+     void ruleXCollectionLiteral() throws RecognitionException;
+     void entryRuleXSetLiteral() throws RecognitionException;
+     void ruleXSetLiteral() throws RecognitionException;
+     void entryRuleXListLiteral() throws RecognitionException;
+     void ruleXListLiteral() throws RecognitionException;
+     void entryRuleXClosure() throws RecognitionException;
+     void ruleXClosure() throws RecognitionException;
+     void entryRuleXExpressionInClosure() throws RecognitionException;
+     void ruleXExpressionInClosure() throws RecognitionException;
+     void entryRuleXShortClosure() throws RecognitionException;
+     void ruleXShortClosure() throws RecognitionException;
+     void entryRuleXParenthesizedExpression() throws RecognitionException;
+     void ruleXParenthesizedExpression() throws RecognitionException;
+     void entryRuleXIfExpression() throws RecognitionException;
+     void ruleXIfExpression() throws RecognitionException;
+     void entryRuleXSwitchExpression() throws RecognitionException;
+     void ruleXSwitchExpression() throws RecognitionException;
+     void entryRuleXCasePart() throws RecognitionException;
+     void ruleXCasePart() throws RecognitionException;
+     void entryRuleXForLoopExpression() throws RecognitionException;
+     void ruleXForLoopExpression() throws RecognitionException;
+     void entryRuleXBasicForLoopExpression() throws RecognitionException;
+     void ruleXBasicForLoopExpression() throws RecognitionException;
+     void entryRuleXWhileExpression() throws RecognitionException;
+     void ruleXWhileExpression() throws RecognitionException;
+     void entryRuleXDoWhileExpression() throws RecognitionException;
+     void ruleXDoWhileExpression() throws RecognitionException;
+     void entryRuleXBlockExpression() throws RecognitionException;
+     void ruleXBlockExpression() throws RecognitionException;
+     void entryRuleXExpressionOrVarDeclaration() throws RecognitionException;
+     void ruleXExpressionOrVarDeclaration() throws RecognitionException;
+     void entryRuleXVariableDeclaration() throws RecognitionException;
+     void ruleXVariableDeclaration() throws RecognitionException;
+     void entryRuleJvmFormalParameter() throws RecognitionException;
+     void ruleJvmFormalParameter() throws RecognitionException;
+     void entryRuleFullJvmFormalParameter() throws RecognitionException;
+     void ruleFullJvmFormalParameter() throws RecognitionException;
+     void entryRuleXFeatureCall() throws RecognitionException;
+     void ruleXFeatureCall() throws RecognitionException;
+     void entryRuleFeatureCallID() throws RecognitionException;
+     void ruleFeatureCallID() throws RecognitionException;
+     void entryRuleIdOrSuper() throws RecognitionException;
+     void ruleIdOrSuper() throws RecognitionException;
+     void entryRuleXConstructorCall() throws RecognitionException;
+     void ruleXConstructorCall() throws RecognitionException;
+     void entryRuleXBooleanLiteral() throws RecognitionException;
+     void ruleXBooleanLiteral() throws RecognitionException;
+     void entryRuleXNullLiteral() throws RecognitionException;
+     void ruleXNullLiteral() throws RecognitionException;
+     void entryRuleXNumberLiteral() throws RecognitionException;
+     void ruleXNumberLiteral() throws RecognitionException;
+     void entryRuleXStringLiteral() throws RecognitionException;
+     void ruleXStringLiteral() throws RecognitionException;
+     void entryRuleXTypeLiteral() throws RecognitionException;
+     void ruleXTypeLiteral() throws RecognitionException;
+     void entryRuleXThrowExpression() throws RecognitionException;
+     void ruleXThrowExpression() throws RecognitionException;
+     void entryRuleXReturnExpression() throws RecognitionException;
+     void ruleXReturnExpression() throws RecognitionException;
+     void entryRuleXTryCatchFinallyExpression() throws RecognitionException;
+     void ruleXTryCatchFinallyExpression() throws RecognitionException;
+     void entryRuleXSynchronizedExpression() throws RecognitionException;
+     void ruleXSynchronizedExpression() throws RecognitionException;
+     void entryRuleXCatchClause() throws RecognitionException;
+     void ruleXCatchClause() throws RecognitionException;
+     void entryRuleNumber() throws RecognitionException;
+     void ruleNumber() throws RecognitionException;
+     void entryRuleJvmTypeReference() throws RecognitionException;
+     void ruleJvmTypeReference() throws RecognitionException;
+     void entryRuleArrayBrackets() throws RecognitionException;
+     void ruleArrayBrackets() throws RecognitionException;
+     void entryRuleXFunctionTypeRef() throws RecognitionException;
+     void ruleXFunctionTypeRef() throws RecognitionException;
+     void entryRuleJvmParameterizedTypeReference() throws RecognitionException;
+     void ruleJvmParameterizedTypeReference() throws RecognitionException;
+     void entryRuleJvmArgumentTypeReference() throws RecognitionException;
+     void ruleJvmArgumentTypeReference() throws RecognitionException;
+     void entryRuleJvmWildcardTypeReference() throws RecognitionException;
+     void ruleJvmWildcardTypeReference() throws RecognitionException;
+     void entryRuleJvmUpperBound() throws RecognitionException;
+     void ruleJvmUpperBound() throws RecognitionException;
+     void entryRuleJvmUpperBoundAnded() throws RecognitionException;
+     void ruleJvmUpperBoundAnded() throws RecognitionException;
+     void entryRuleJvmLowerBound() throws RecognitionException;
+     void ruleJvmLowerBound() throws RecognitionException;
+     void entryRuleJvmLowerBoundAnded() throws RecognitionException;
+     void ruleJvmLowerBoundAnded() throws RecognitionException;
+     void entryRuleQualifiedNameWithWildcard() throws RecognitionException;
+     void ruleQualifiedNameWithWildcard() throws RecognitionException;
+     void entryRuleXImportDeclaration() throws RecognitionException;
+     void ruleXImportDeclaration() throws RecognitionException;
+     void entryRuleQualifiedNameInStaticImport() throws RecognitionException;
+     void ruleQualifiedNameInStaticImport() throws RecognitionException;
+     void ruleEDateStepType() throws RecognitionException;
+     void rule__IEntityMockObjectAttribute__Alternatives() throws RecognitionException;
+     void rule__PropertyFillerType__Alternatives() throws RecognitionException;
+     void rule__PropertyFillerSignedDoubleRange__Alternatives_1_0() throws RecognitionException;
+     void rule__PropertyFillerSignedDoubleRange__Alternatives_1_2() throws RecognitionException;
+     void rule__PropertyFillerSignedIntegerRange__Alternatives_2_0() throws RecognitionException;
+     void rule__PropertyFillerSignedIntegerRange__Alternatives_2_2() throws RecognitionException;
+     void rule__PropertyFillerUnsignedDoubleRange__Alternatives_1_0() throws RecognitionException;
+     void rule__PropertyFillerUnsignedDoubleRange__Alternatives_1_2() throws RecognitionException;
+     void rule__PropertyFillerUnsignedIntegerRange__Alternatives_2_0() throws RecognitionException;
+     void rule__PropertyFillerUnsignedIntegerRange__Alternatives_2_2() throws RecognitionException;
+     void rule__EntityMockEntity__Alternatives_4() throws RecognitionException;
+     void rule__IIterate__Alternatives() throws RecognitionException;
+     void rule__Date__Alternatives() throws RecognitionException;
+     void rule__IEntityMockAttribute__Alternatives() throws RecognitionException;
+     void rule__EntityMockEntityFunctionParameter__Alternatives() throws RecognitionException;
+     void rule__EntityMockAttributeByObject__Alternatives() throws RecognitionException;
+     void rule__EntityMockAttributeByReference__Alternatives_3() throws RecognitionException;
+     void rule__XAnnotation__Alternatives_3_1() throws RecognitionException;
+     void rule__XAnnotationElementValueOrCommaList__Alternatives() throws RecognitionException;
+     void rule__XAnnotationElementValue__Alternatives() throws RecognitionException;
+     void rule__XAnnotationOrExpression__Alternatives() throws RecognitionException;
+     void rule__XAssignment__Alternatives() throws RecognitionException;
+     void rule__OpMultiAssign__Alternatives() throws RecognitionException;
+     void rule__OpEquality__Alternatives() throws RecognitionException;
+     void rule__XRelationalExpression__Alternatives_1() throws RecognitionException;
+     void rule__OpCompare__Alternatives() throws RecognitionException;
+     void rule__OpOther__Alternatives() throws RecognitionException;
+     void rule__OpOther__Alternatives_5_1() throws RecognitionException;
+     void rule__OpOther__Alternatives_6_1() throws RecognitionException;
+     void rule__OpAdd__Alternatives() throws RecognitionException;
+     void rule__OpMulti__Alternatives() throws RecognitionException;
+     void rule__XUnaryOperation__Alternatives() throws RecognitionException;
+     void rule__OpUnary__Alternatives() throws RecognitionException;
+     void rule__OpPostfix__Alternatives() throws RecognitionException;
+     void rule__XMemberFeatureCall__Alternatives_1() throws RecognitionException;
+     void rule__XMemberFeatureCall__Alternatives_1_0_0_0_1() throws RecognitionException;
+     void rule__XMemberFeatureCall__Alternatives_1_1_0_0_1() throws RecognitionException;
+     void rule__XMemberFeatureCall__Alternatives_1_1_3_1() throws RecognitionException;
+     void rule__XPrimaryExpression__Alternatives() throws RecognitionException;
+     void rule__XLiteral__Alternatives() throws RecognitionException;
+     void rule__XCollectionLiteral__Alternatives() throws RecognitionException;
+     void rule__XSwitchExpression__Alternatives_2() throws RecognitionException;
+     void rule__XCasePart__Alternatives_3() throws RecognitionException;
+     void rule__XExpressionOrVarDeclaration__Alternatives() throws RecognitionException;
+     void rule__XVariableDeclaration__Alternatives_1() throws RecognitionException;
+     void rule__XVariableDeclaration__Alternatives_2() throws RecognitionException;
+     void rule__XFeatureCall__Alternatives_3_1() throws RecognitionException;
+     void rule__FeatureCallID__Alternatives() throws RecognitionException;
+     void rule__IdOrSuper__Alternatives() throws RecognitionException;
+     void rule__XConstructorCall__Alternatives_4_1() throws RecognitionException;
+     void rule__XBooleanLiteral__Alternatives_1() throws RecognitionException;
+     void rule__XTryCatchFinallyExpression__Alternatives_3() throws RecognitionException;
+     void rule__Number__Alternatives() throws RecognitionException;
+     void rule__Number__Alternatives_1_0() throws RecognitionException;
+     void rule__Number__Alternatives_1_1_1() throws RecognitionException;
+     void rule__JvmTypeReference__Alternatives() throws RecognitionException;
+     void rule__JvmArgumentTypeReference__Alternatives() throws RecognitionException;
+     void rule__JvmWildcardTypeReference__Alternatives_2() throws RecognitionException;
+     void rule__XImportDeclaration__Alternatives_1() throws RecognitionException;
+     void rule__XImportDeclaration__Alternatives_1_0_3() throws RecognitionException;
+     void rule__EDateStepType__Alternatives() throws RecognitionException;
+     void rule__EntityMockPackage__Group__0() throws RecognitionException;
+     void rule__EntityMockPackage__Group__0__Impl() throws RecognitionException;
+     void rule__EntityMockPackage__Group__1() throws RecognitionException;
+     void rule__EntityMockPackage__Group__1__Impl() throws RecognitionException;
+     void rule__EntityMockPackage__Group__2() throws RecognitionException;
+     void rule__EntityMockPackage__Group__2__Impl() throws RecognitionException;
+     void rule__EntityMockPackage__Group__3() throws RecognitionException;
+     void rule__EntityMockPackage__Group__3__Impl() throws RecognitionException;
+     void rule__EntityMockPackage__Group__4() throws RecognitionException;
+     void rule__EntityMockPackage__Group__4__Impl() throws RecognitionException;
+     void rule__EntityMockPackage__Group__5() throws RecognitionException;
+     void rule__EntityMockPackage__Group__5__Impl() throws RecognitionException;
+     void rule__EntityMockPackage__Group__6() throws RecognitionException;
+     void rule__EntityMockPackage__Group__6__Impl() throws RecognitionException;
+     void rule__EntityMockPackage__Group__7() throws RecognitionException;
+     void rule__EntityMockPackage__Group__7__Impl() throws RecognitionException;
+     void rule__EntityMockPackage__Group__8() throws RecognitionException;
+     void rule__EntityMockPackage__Group__8__Impl() throws RecognitionException;
+     void rule__EntityMockPackage__Group__9() throws RecognitionException;
+     void rule__EntityMockPackage__Group__9__Impl() throws RecognitionException;
+     void rule__EntityMockPackage__Group__10() throws RecognitionException;
+     void rule__EntityMockPackage__Group__10__Impl() throws RecognitionException;
+     void rule__EntityMockPackage__Group_3__0() throws RecognitionException;
+     void rule__EntityMockPackage__Group_3__0__Impl() throws RecognitionException;
+     void rule__EntityMockPackage__Group_3__1() throws RecognitionException;
+     void rule__EntityMockPackage__Group_3__1__Impl() throws RecognitionException;
+     void rule__EntityMockPackage__Group_4__0() throws RecognitionException;
+     void rule__EntityMockPackage__Group_4__0__Impl() throws RecognitionException;
+     void rule__EntityMockPackage__Group_4__1() throws RecognitionException;
+     void rule__EntityMockPackage__Group_4__1__Impl() throws RecognitionException;
+     void rule__EntityMockQualifiedNameWithWildCard__Group__0() throws RecognitionException;
+     void rule__EntityMockQualifiedNameWithWildCard__Group__0__Impl() throws RecognitionException;
+     void rule__EntityMockQualifiedNameWithWildCard__Group__1() throws RecognitionException;
+     void rule__EntityMockQualifiedNameWithWildCard__Group__1__Impl() throws RecognitionException;
+     void rule__EntityMockQualifiedNameWithWildCard__Group_1__0() throws RecognitionException;
+     void rule__EntityMockQualifiedNameWithWildCard__Group_1__0__Impl() throws RecognitionException;
+     void rule__EntityMockQualifiedNameWithWildCard__Group_1__1() throws RecognitionException;
+     void rule__EntityMockQualifiedNameWithWildCard__Group_1__1__Impl() throws RecognitionException;
+     void rule__RunningDataInterchanges__Group__0() throws RecognitionException;
+     void rule__RunningDataInterchanges__Group__0__Impl() throws RecognitionException;
+     void rule__RunningDataInterchanges__Group__1() throws RecognitionException;
+     void rule__RunningDataInterchanges__Group__1__Impl() throws RecognitionException;
+     void rule__RunningDataInterchanges__Group__2() throws RecognitionException;
+     void rule__RunningDataInterchanges__Group__2__Impl() throws RecognitionException;
+     void rule__RunningDataInterchanges__Group__3() throws RecognitionException;
+     void rule__RunningDataInterchanges__Group__3__Impl() throws RecognitionException;
+     void rule__RunningDataInterchanges__Group__4() throws RecognitionException;
+     void rule__RunningDataInterchanges__Group__4__Impl() throws RecognitionException;
+     void rule__RunningDataInterchange__Group__0() throws RecognitionException;
+     void rule__RunningDataInterchange__Group__0__Impl() throws RecognitionException;
+     void rule__RunningDataInterchange__Group__1() throws RecognitionException;
+     void rule__RunningDataInterchange__Group__1__Impl() throws RecognitionException;
+     void rule__RunningDataInterchange__Group__2() throws RecognitionException;
+     void rule__RunningDataInterchange__Group__2__Impl() throws RecognitionException;
+     void rule__RunningDataInterchange__Group__3() throws RecognitionException;
+     void rule__RunningDataInterchange__Group__3__Impl() throws RecognitionException;
+     void rule__RunningDataInterchange__Group__4() throws RecognitionException;
+     void rule__RunningDataInterchange__Group__4__Impl() throws RecognitionException;
+     void rule__EntityMockResources__Group__0() throws RecognitionException;
+     void rule__EntityMockResources__Group__0__Impl() throws RecognitionException;
+     void rule__EntityMockResources__Group__1() throws RecognitionException;
+     void rule__EntityMockResources__Group__1__Impl() throws RecognitionException;
+     void rule__EntityMockResources__Group__2() throws RecognitionException;
+     void rule__EntityMockResources__Group__2__Impl() throws RecognitionException;
+     void rule__EntityMockResources__Group__3() throws RecognitionException;
+     void rule__EntityMockResources__Group__3__Impl() throws RecognitionException;
+     void rule__EntityMockResources__Group__4() throws RecognitionException;
+     void rule__EntityMockResources__Group__4__Impl() throws RecognitionException;
+     void rule__EntityMockResource__Group__0() throws RecognitionException;
+     void rule__EntityMockResource__Group__0__Impl() throws RecognitionException;
+     void rule__EntityMockResource__Group__1() throws RecognitionException;
+     void rule__EntityMockResource__Group__1__Impl() throws RecognitionException;
+     void rule__EntityMockResource__Group__2() throws RecognitionException;
+     void rule__EntityMockResource__Group__2__Impl() throws RecognitionException;
+     void rule__EntityMockResource__Group__3() throws RecognitionException;
+     void rule__EntityMockResource__Group__3__Impl() throws RecognitionException;
+     void rule__EntityMockResource__Group__4() throws RecognitionException;
+     void rule__EntityMockResource__Group__4__Impl() throws RecognitionException;
+     void rule__EntityMockResource__Group__5() throws RecognitionException;
+     void rule__EntityMockResource__Group__5__Impl() throws RecognitionException;
+     void rule__EntityMockResource__Group__6() throws RecognitionException;
+     void rule__EntityMockResource__Group__6__Impl() throws RecognitionException;
+     void rule__EntityMockResource__Group__7() throws RecognitionException;
+     void rule__EntityMockResource__Group__7__Impl() throws RecognitionException;
+     void rule__EntityMockResource__Group__8() throws RecognitionException;
+     void rule__EntityMockResource__Group__8__Impl() throws RecognitionException;
+     void rule__EntityMockResource__Group_3__0() throws RecognitionException;
+     void rule__EntityMockResource__Group_3__0__Impl() throws RecognitionException;
+     void rule__EntityMockResource__Group_3__1() throws RecognitionException;
+     void rule__EntityMockResource__Group_3__1__Impl() throws RecognitionException;
+     void rule__EntityMockResource__Group_3__2() throws RecognitionException;
+     void rule__EntityMockResource__Group_3__2__Impl() throws RecognitionException;
+     void rule__EntityMockResource__Group_3__3() throws RecognitionException;
+     void rule__EntityMockResource__Group_3__3__Impl() throws RecognitionException;
+     void rule__EntityMockResource__Group_3_2__0() throws RecognitionException;
+     void rule__EntityMockResource__Group_3_2__0__Impl() throws RecognitionException;
+     void rule__EntityMockResource__Group_3_2__1() throws RecognitionException;
+     void rule__EntityMockResource__Group_3_2__1__Impl() throws RecognitionException;
+     void rule__EntityMockResourceAttribute__Group__0() throws RecognitionException;
+     void rule__EntityMockResourceAttribute__Group__0__Impl() throws RecognitionException;
+     void rule__EntityMockResourceAttribute__Group__1() throws RecognitionException;
+     void rule__EntityMockResourceAttribute__Group__1__Impl() throws RecognitionException;
+     void rule__EntityMockResourceDataRow__Group__0() throws RecognitionException;
+     void rule__EntityMockResourceDataRow__Group__0__Impl() throws RecognitionException;
+     void rule__EntityMockResourceDataRow__Group__1() throws RecognitionException;
+     void rule__EntityMockResourceDataRow__Group__1__Impl() throws RecognitionException;
+     void rule__EntityMockResourceDataRow__Group__2() throws RecognitionException;
+     void rule__EntityMockResourceDataRow__Group__2__Impl() throws RecognitionException;
+     void rule__EntityMockResourceDataRow__Group_2__0() throws RecognitionException;
+     void rule__EntityMockResourceDataRow__Group_2__0__Impl() throws RecognitionException;
+     void rule__EntityMockResourceDataRow__Group_2__1() throws RecognitionException;
+     void rule__EntityMockResourceDataRow__Group_2__1__Impl() throws RecognitionException;
+     void rule__EntityMockResourceDataRow__Group_2__2() throws RecognitionException;
+     void rule__EntityMockResourceDataRow__Group_2__2__Impl() throws RecognitionException;
+     void rule__EntityMockResourceDataRow__Group_2_1__0() throws RecognitionException;
+     void rule__EntityMockResourceDataRow__Group_2_1__0__Impl() throws RecognitionException;
+     void rule__EntityMockResourceDataRow__Group_2_1__1() throws RecognitionException;
+     void rule__EntityMockResourceDataRow__Group_2_1__1__Impl() throws RecognitionException;
+     void rule__EntityMockObjects__Group__0() throws RecognitionException;
+     void rule__EntityMockObjects__Group__0__Impl() throws RecognitionException;
+     void rule__EntityMockObjects__Group__1() throws RecognitionException;
+     void rule__EntityMockObjects__Group__1__Impl() throws RecognitionException;
+     void rule__EntityMockObjects__Group__2() throws RecognitionException;
+     void rule__EntityMockObjects__Group__2__Impl() throws RecognitionException;
+     void rule__EntityMockObjects__Group__3() throws RecognitionException;
+     void rule__EntityMockObjects__Group__3__Impl() throws RecognitionException;
+     void rule__EntityMockObjects__Group__4() throws RecognitionException;
+     void rule__EntityMockObjects__Group__4__Impl() throws RecognitionException;
+     void rule__EntityMockObject__Group__0() throws RecognitionException;
+     void rule__EntityMockObject__Group__0__Impl() throws RecognitionException;
+     void rule__EntityMockObject__Group__1() throws RecognitionException;
+     void rule__EntityMockObject__Group__1__Impl() throws RecognitionException;
+     void rule__EntityMockObject__Group__2() throws RecognitionException;
+     void rule__EntityMockObject__Group__2__Impl() throws RecognitionException;
+     void rule__EntityMockObject__Group__3() throws RecognitionException;
+     void rule__EntityMockObject__Group__3__Impl() throws RecognitionException;
+     void rule__EntityMockObject__Group__4() throws RecognitionException;
+     void rule__EntityMockObject__Group__4__Impl() throws RecognitionException;
+     void rule__EntityMockObject__Group__5() throws RecognitionException;
+     void rule__EntityMockObject__Group__5__Impl() throws RecognitionException;
+     void rule__EntityMockObject__Group__6() throws RecognitionException;
+     void rule__EntityMockObject__Group__6__Impl() throws RecognitionException;
+     void rule__EntityMockObjectEnum__Group__0() throws RecognitionException;
+     void rule__EntityMockObjectEnum__Group__0__Impl() throws RecognitionException;
+     void rule__EntityMockObjectEnum__Group__1() throws RecognitionException;
+     void rule__EntityMockObjectEnum__Group__1__Impl() throws RecognitionException;
+     void rule__EntityMockObjectEnum__Group__2() throws RecognitionException;
+     void rule__EntityMockObjectEnum__Group__2__Impl() throws RecognitionException;
+     void rule__EntityMockObjectEnum__Group__3() throws RecognitionException;
+     void rule__EntityMockObjectEnum__Group__3__Impl() throws RecognitionException;
+     void rule__EntityMockDataTypes__Group__0() throws RecognitionException;
+     void rule__EntityMockDataTypes__Group__0__Impl() throws RecognitionException;
+     void rule__EntityMockDataTypes__Group__1() throws RecognitionException;
+     void rule__EntityMockDataTypes__Group__1__Impl() throws RecognitionException;
+     void rule__EntityMockDataTypes__Group__2() throws RecognitionException;
+     void rule__EntityMockDataTypes__Group__2__Impl() throws RecognitionException;
+     void rule__EntityMockDataTypes__Group__3() throws RecognitionException;
+     void rule__EntityMockDataTypes__Group__3__Impl() throws RecognitionException;
+     void rule__EntityMockDataTypes__Group__4() throws RecognitionException;
+     void rule__EntityMockDataTypes__Group__4__Impl() throws RecognitionException;
+     void rule__EntityMockObjectPlainValue__Group__0() throws RecognitionException;
+     void rule__EntityMockObjectPlainValue__Group__0__Impl() throws RecognitionException;
+     void rule__EntityMockObjectPlainValue__Group__1() throws RecognitionException;
+     void rule__EntityMockObjectPlainValue__Group__1__Impl() throws RecognitionException;
+     void rule__EntityMockObjectPlainValue__Group__2() throws RecognitionException;
+     void rule__EntityMockObjectPlainValue__Group__2__Impl() throws RecognitionException;
+     void rule__EntityMockObjectPlainValue__Group__3() throws RecognitionException;
+     void rule__EntityMockObjectPlainValue__Group__3__Impl() throws RecognitionException;
+     void rule__EntityMockObjectPlainValue__Group__4() throws RecognitionException;
+     void rule__EntityMockObjectPlainValue__Group__4__Impl() throws RecognitionException;
+     void rule__EntityMockObjectPlainValue__Group_3__0() throws RecognitionException;
+     void rule__EntityMockObjectPlainValue__Group_3__0__Impl() throws RecognitionException;
+     void rule__EntityMockObjectPlainValue__Group_3__1() throws RecognitionException;
+     void rule__EntityMockObjectPlainValue__Group_3__1__Impl() throws RecognitionException;
+     void rule__EntityMockObjectResourceValue__Group__0() throws RecognitionException;
+     void rule__EntityMockObjectResourceValue__Group__0__Impl() throws RecognitionException;
+     void rule__EntityMockObjectResourceValue__Group__1() throws RecognitionException;
+     void rule__EntityMockObjectResourceValue__Group__1__Impl() throws RecognitionException;
+     void rule__EntityMockObjectResourceValue__Group__2() throws RecognitionException;
+     void rule__EntityMockObjectResourceValue__Group__2__Impl() throws RecognitionException;
+     void rule__EntityMockObjectResourceValue__Group__3() throws RecognitionException;
+     void rule__EntityMockObjectResourceValue__Group__3__Impl() throws RecognitionException;
+     void rule__EntityMockObjectResourceValue__Group__4() throws RecognitionException;
+     void rule__EntityMockObjectResourceValue__Group__4__Impl() throws RecognitionException;
+     void rule__EntityMockObjectResourceValue__Group_4__0() throws RecognitionException;
+     void rule__EntityMockObjectResourceValue__Group_4__0__Impl() throws RecognitionException;
+     void rule__EntityMockObjectResourceValue__Group_4__1() throws RecognitionException;
+     void rule__EntityMockObjectResourceValue__Group_4__1__Impl() throws RecognitionException;
+     void rule__EntityMockObjectArrayValue__Group__0() throws RecognitionException;
+     void rule__EntityMockObjectArrayValue__Group__0__Impl() throws RecognitionException;
+     void rule__EntityMockObjectArrayValue__Group__1() throws RecognitionException;
+     void rule__EntityMockObjectArrayValue__Group__1__Impl() throws RecognitionException;
+     void rule__EntityMockObjectArrayValue__Group__2() throws RecognitionException;
+     void rule__EntityMockObjectArrayValue__Group__2__Impl() throws RecognitionException;
+     void rule__EntityMockObjectArrayValue__Group__3() throws RecognitionException;
+     void rule__EntityMockObjectArrayValue__Group__3__Impl() throws RecognitionException;
+     void rule__EntityMockObjectArrayValue__Group__4() throws RecognitionException;
+     void rule__EntityMockObjectArrayValue__Group__4__Impl() throws RecognitionException;
+     void rule__EntityMockObjectArrayValue__Group__5() throws RecognitionException;
+     void rule__EntityMockObjectArrayValue__Group__5__Impl() throws RecognitionException;
+     void rule__EntityMockObjectArrayValue__Group__6() throws RecognitionException;
+     void rule__EntityMockObjectArrayValue__Group__6__Impl() throws RecognitionException;
+     void rule__EntityMockObjectItemValue__Group__0() throws RecognitionException;
+     void rule__EntityMockObjectItemValue__Group__0__Impl() throws RecognitionException;
+     void rule__EntityMockObjectItemValue__Group__1() throws RecognitionException;
+     void rule__EntityMockObjectItemValue__Group__1__Impl() throws RecognitionException;
+     void rule__EntityMockObjectItemValue__Group__2() throws RecognitionException;
+     void rule__EntityMockObjectItemValue__Group__2__Impl() throws RecognitionException;
+     void rule__EntityMockObjectItemValue__Group__3() throws RecognitionException;
+     void rule__EntityMockObjectItemValue__Group__3__Impl() throws RecognitionException;
+     void rule__EntityMockObjectItemValue__Group__4() throws RecognitionException;
+     void rule__EntityMockObjectItemValue__Group__4__Impl() throws RecognitionException;
+     void rule__EntityMockObjectItemValue__Group_3__0() throws RecognitionException;
+     void rule__EntityMockObjectItemValue__Group_3__0__Impl() throws RecognitionException;
+     void rule__EntityMockObjectItemValue__Group_3__1() throws RecognitionException;
+     void rule__EntityMockObjectItemValue__Group_3__1__Impl() throws RecognitionException;
+     void rule__EntityMockObjectEmbed__Group__0() throws RecognitionException;
+     void rule__EntityMockObjectEmbed__Group__0__Impl() throws RecognitionException;
+     void rule__EntityMockObjectEmbed__Group__1() throws RecognitionException;
+     void rule__EntityMockObjectEmbed__Group__1__Impl() throws RecognitionException;
+     void rule__EntityMockObjectEmbed__Group__2() throws RecognitionException;
+     void rule__EntityMockObjectEmbed__Group__2__Impl() throws RecognitionException;
+     void rule__EntityMockObjectEmbed__Group__3() throws RecognitionException;
+     void rule__EntityMockObjectEmbed__Group__3__Impl() throws RecognitionException;
+     void rule__EntityMockObjectEmbed__Group__4() throws RecognitionException;
+     void rule__EntityMockObjectEmbed__Group__4__Impl() throws RecognitionException;
+     void rule__EntityMockObjectFunction__Group__0() throws RecognitionException;
+     void rule__EntityMockObjectFunction__Group__0__Impl() throws RecognitionException;
+     void rule__EntityMockObjectFunction__Group__1() throws RecognitionException;
+     void rule__EntityMockObjectFunction__Group__1__Impl() throws RecognitionException;
+     void rule__EntityMockObjectFunction__Group__2() throws RecognitionException;
+     void rule__EntityMockObjectFunction__Group__2__Impl() throws RecognitionException;
+     void rule__EntityMockObjectFunction__Group__3() throws RecognitionException;
+     void rule__EntityMockObjectFunction__Group__3__Impl() throws RecognitionException;
+     void rule__EntityMockObjectFunction__Group__4() throws RecognitionException;
+     void rule__EntityMockObjectFunction__Group__4__Impl() throws RecognitionException;
+     void rule__EntityMockObjectFunction__Group__5() throws RecognitionException;
+     void rule__EntityMockObjectFunction__Group__5__Impl() throws RecognitionException;
+     void rule__EntityMockObjectFunction__Group__6() throws RecognitionException;
+     void rule__EntityMockObjectFunction__Group__6__Impl() throws RecognitionException;
+     void rule__EntityMockObjectFunction__Group__7() throws RecognitionException;
+     void rule__EntityMockObjectFunction__Group__7__Impl() throws RecognitionException;
+     void rule__EntityMockObjectFunction__Group__8() throws RecognitionException;
+     void rule__EntityMockObjectFunction__Group__8__Impl() throws RecognitionException;
+     void rule__EntityMockObjectFunction__Group_6__0() throws RecognitionException;
+     void rule__EntityMockObjectFunction__Group_6__0__Impl() throws RecognitionException;
+     void rule__EntityMockObjectFunction__Group_6__1() throws RecognitionException;
+     void rule__EntityMockObjectFunction__Group_6__1__Impl() throws RecognitionException;
+     void rule__EntityMockObjectFunction__Group_6_1__0() throws RecognitionException;
+     void rule__EntityMockObjectFunction__Group_6_1__0__Impl() throws RecognitionException;
+     void rule__EntityMockObjectFunction__Group_6_1__1() throws RecognitionException;
+     void rule__EntityMockObjectFunction__Group_6_1__1__Impl() throws RecognitionException;
+     void rule__EntityMockObjectFunctionParameter__Group__0() throws RecognitionException;
+     void rule__EntityMockObjectFunctionParameter__Group__0__Impl() throws RecognitionException;
+     void rule__EntityMockObjectFunctionParameter__Group__1() throws RecognitionException;
+     void rule__EntityMockObjectFunctionParameter__Group__1__Impl() throws RecognitionException;
+     void rule__EntityMockObjectFill__Group__0() throws RecognitionException;
+     void rule__EntityMockObjectFill__Group__0__Impl() throws RecognitionException;
+     void rule__EntityMockObjectFill__Group__1() throws RecognitionException;
+     void rule__EntityMockObjectFill__Group__1__Impl() throws RecognitionException;
+     void rule__EntityMockObjectFill__Group__2() throws RecognitionException;
+     void rule__EntityMockObjectFill__Group__2__Impl() throws RecognitionException;
+     void rule__EntityMockObjectFill__Group__3() throws RecognitionException;
+     void rule__EntityMockObjectFill__Group__3__Impl() throws RecognitionException;
+     void rule__PropertyFillerDateFuture__Group__0() throws RecognitionException;
+     void rule__PropertyFillerDateFuture__Group__0__Impl() throws RecognitionException;
+     void rule__PropertyFillerDateFuture__Group__1() throws RecognitionException;
+     void rule__PropertyFillerDateFuture__Group__1__Impl() throws RecognitionException;
+     void rule__PropertyFillerDateFuture__Group__2() throws RecognitionException;
+     void rule__PropertyFillerDateFuture__Group__2__Impl() throws RecognitionException;
+     void rule__PropertyFillerDatePast__Group__0() throws RecognitionException;
+     void rule__PropertyFillerDatePast__Group__0__Impl() throws RecognitionException;
+     void rule__PropertyFillerDatePast__Group__1() throws RecognitionException;
+     void rule__PropertyFillerDatePast__Group__1__Impl() throws RecognitionException;
+     void rule__PropertyFillerDatePast__Group__2() throws RecognitionException;
+     void rule__PropertyFillerDatePast__Group__2__Impl() throws RecognitionException;
+     void rule__PropertyFillerBoolean__Group__0() throws RecognitionException;
+     void rule__PropertyFillerBoolean__Group__0__Impl() throws RecognitionException;
+     void rule__PropertyFillerBoolean__Group__1() throws RecognitionException;
+     void rule__PropertyFillerBoolean__Group__1__Impl() throws RecognitionException;
+     void rule__PropertyFillerDateRange__Group__0() throws RecognitionException;
+     void rule__PropertyFillerDateRange__Group__0__Impl() throws RecognitionException;
+     void rule__PropertyFillerDateRange__Group__1() throws RecognitionException;
+     void rule__PropertyFillerDateRange__Group__1__Impl() throws RecognitionException;
+     void rule__PropertyFillerDateRange__Group__2() throws RecognitionException;
+     void rule__PropertyFillerDateRange__Group__2__Impl() throws RecognitionException;
+     void rule__PropertyFillerDateRange__Group__3() throws RecognitionException;
+     void rule__PropertyFillerDateRange__Group__3__Impl() throws RecognitionException;
+     void rule__PropertyFillerDateRange__Group__4() throws RecognitionException;
+     void rule__PropertyFillerDateRange__Group__4__Impl() throws RecognitionException;
+     void rule__PropertyFillerSignedDoubleRange__Group__0() throws RecognitionException;
+     void rule__PropertyFillerSignedDoubleRange__Group__0__Impl() throws RecognitionException;
+     void rule__PropertyFillerSignedDoubleRange__Group__1() throws RecognitionException;
+     void rule__PropertyFillerSignedDoubleRange__Group__1__Impl() throws RecognitionException;
+     void rule__PropertyFillerSignedDoubleRange__Group__2() throws RecognitionException;
+     void rule__PropertyFillerSignedDoubleRange__Group__2__Impl() throws RecognitionException;
+     void rule__PropertyFillerSignedDoubleRange__Group__3() throws RecognitionException;
+     void rule__PropertyFillerSignedDoubleRange__Group__3__Impl() throws RecognitionException;
+     void rule__PropertyFillerSignedDoubleRange__Group__4() throws RecognitionException;
+     void rule__PropertyFillerSignedDoubleRange__Group__4__Impl() throws RecognitionException;
+     void rule__PropertyFillerSignedDoubleRange__Group__5() throws RecognitionException;
+     void rule__PropertyFillerSignedDoubleRange__Group__5__Impl() throws RecognitionException;
+     void rule__PropertyFillerSignedDoubleRange__Group_1__0() throws RecognitionException;
+     void rule__PropertyFillerSignedDoubleRange__Group_1__0__Impl() throws RecognitionException;
+     void rule__PropertyFillerSignedDoubleRange__Group_1__1() throws RecognitionException;
+     void rule__PropertyFillerSignedDoubleRange__Group_1__1__Impl() throws RecognitionException;
+     void rule__PropertyFillerSignedDoubleRange__Group_1__2() throws RecognitionException;
+     void rule__PropertyFillerSignedDoubleRange__Group_1__2__Impl() throws RecognitionException;
+     void rule__PropertyFillerSignedDoubleRange__Group_5__0() throws RecognitionException;
+     void rule__PropertyFillerSignedDoubleRange__Group_5__0__Impl() throws RecognitionException;
+     void rule__PropertyFillerSignedDoubleRange__Group_5__1() throws RecognitionException;
+     void rule__PropertyFillerSignedDoubleRange__Group_5__1__Impl() throws RecognitionException;
+     void rule__PropertyFillerSignedDoubleRandom__Group__0() throws RecognitionException;
+     void rule__PropertyFillerSignedDoubleRandom__Group__0__Impl() throws RecognitionException;
+     void rule__PropertyFillerSignedDoubleRandom__Group__1() throws RecognitionException;
+     void rule__PropertyFillerSignedDoubleRandom__Group__1__Impl() throws RecognitionException;
+     void rule__PropertyFillerSignedDoubleRandom__Group__2() throws RecognitionException;
+     void rule__PropertyFillerSignedDoubleRandom__Group__2__Impl() throws RecognitionException;
+     void rule__PropertyFillerSignedDoubleRandom__Group__3() throws RecognitionException;
+     void rule__PropertyFillerSignedDoubleRandom__Group__3__Impl() throws RecognitionException;
+     void rule__PropertyFillerSignedIntegerRange__Group__0() throws RecognitionException;
+     void rule__PropertyFillerSignedIntegerRange__Group__0__Impl() throws RecognitionException;
+     void rule__PropertyFillerSignedIntegerRange__Group__1() throws RecognitionException;
+     void rule__PropertyFillerSignedIntegerRange__Group__1__Impl() throws RecognitionException;
+     void rule__PropertyFillerSignedIntegerRange__Group__2() throws RecognitionException;
+     void rule__PropertyFillerSignedIntegerRange__Group__2__Impl() throws RecognitionException;
+     void rule__PropertyFillerSignedIntegerRange__Group__3() throws RecognitionException;
+     void rule__PropertyFillerSignedIntegerRange__Group__3__Impl() throws RecognitionException;
+     void rule__PropertyFillerSignedIntegerRange__Group_2__0() throws RecognitionException;
+     void rule__PropertyFillerSignedIntegerRange__Group_2__0__Impl() throws RecognitionException;
+     void rule__PropertyFillerSignedIntegerRange__Group_2__1() throws RecognitionException;
+     void rule__PropertyFillerSignedIntegerRange__Group_2__1__Impl() throws RecognitionException;
+     void rule__PropertyFillerSignedIntegerRange__Group_2__2() throws RecognitionException;
+     void rule__PropertyFillerSignedIntegerRange__Group_2__2__Impl() throws RecognitionException;
+     void rule__PropertyFillerSignedIntegerRange__Group_3__0() throws RecognitionException;
+     void rule__PropertyFillerSignedIntegerRange__Group_3__0__Impl() throws RecognitionException;
+     void rule__PropertyFillerSignedIntegerRange__Group_3__1() throws RecognitionException;
+     void rule__PropertyFillerSignedIntegerRange__Group_3__1__Impl() throws RecognitionException;
+     void rule__PropertyFillerSignedIntegerRandom__Group__0() throws RecognitionException;
+     void rule__PropertyFillerSignedIntegerRandom__Group__0__Impl() throws RecognitionException;
+     void rule__PropertyFillerSignedIntegerRandom__Group__1() throws RecognitionException;
+     void rule__PropertyFillerSignedIntegerRandom__Group__1__Impl() throws RecognitionException;
+     void rule__PropertyFillerSignedIntegerRandom__Group__2() throws RecognitionException;
+     void rule__PropertyFillerSignedIntegerRandom__Group__2__Impl() throws RecognitionException;
+     void rule__PropertyFillerSignedIntegerRandom__Group__3() throws RecognitionException;
+     void rule__PropertyFillerSignedIntegerRandom__Group__3__Impl() throws RecognitionException;
+     void rule__PropertyFillerTextRandom__Group__0() throws RecognitionException;
+     void rule__PropertyFillerTextRandom__Group__0__Impl() throws RecognitionException;
+     void rule__PropertyFillerTextRandom__Group__1() throws RecognitionException;
+     void rule__PropertyFillerTextRandom__Group__1__Impl() throws RecognitionException;
+     void rule__PropertyFillerTextRandom__Group__2() throws RecognitionException;
+     void rule__PropertyFillerTextRandom__Group__2__Impl() throws RecognitionException;
+     void rule__PropertyFillerTextRandom__Group__3() throws RecognitionException;
+     void rule__PropertyFillerTextRandom__Group__3__Impl() throws RecognitionException;
+     void rule__PropertyFillerTextParagraphs__Group__0() throws RecognitionException;
+     void rule__PropertyFillerTextParagraphs__Group__0__Impl() throws RecognitionException;
+     void rule__PropertyFillerTextParagraphs__Group__1() throws RecognitionException;
+     void rule__PropertyFillerTextParagraphs__Group__1__Impl() throws RecognitionException;
+     void rule__PropertyFillerTextParagraphs__Group__2() throws RecognitionException;
+     void rule__PropertyFillerTextParagraphs__Group__2__Impl() throws RecognitionException;
+     void rule__PropertyFillerTextSentences__Group__0() throws RecognitionException;
+     void rule__PropertyFillerTextSentences__Group__0__Impl() throws RecognitionException;
+     void rule__PropertyFillerTextSentences__Group__1() throws RecognitionException;
+     void rule__PropertyFillerTextSentences__Group__1__Impl() throws RecognitionException;
+     void rule__PropertyFillerTextSentences__Group__2() throws RecognitionException;
+     void rule__PropertyFillerTextSentences__Group__2__Impl() throws RecognitionException;
+     void rule__PropertyFillerTextWords__Group__0() throws RecognitionException;
+     void rule__PropertyFillerTextWords__Group__0__Impl() throws RecognitionException;
+     void rule__PropertyFillerTextWords__Group__1() throws RecognitionException;
+     void rule__PropertyFillerTextWords__Group__1__Impl() throws RecognitionException;
+     void rule__PropertyFillerTextWords__Group__2() throws RecognitionException;
+     void rule__PropertyFillerTextWords__Group__2__Impl() throws RecognitionException;
+     void rule__PropertyFillerUnsignedDoubleRange__Group__0() throws RecognitionException;
+     void rule__PropertyFillerUnsignedDoubleRange__Group__0__Impl() throws RecognitionException;
+     void rule__PropertyFillerUnsignedDoubleRange__Group__1() throws RecognitionException;
+     void rule__PropertyFillerUnsignedDoubleRange__Group__1__Impl() throws RecognitionException;
+     void rule__PropertyFillerUnsignedDoubleRange__Group__2() throws RecognitionException;
+     void rule__PropertyFillerUnsignedDoubleRange__Group__2__Impl() throws RecognitionException;
+     void rule__PropertyFillerUnsignedDoubleRange__Group__3() throws RecognitionException;
+     void rule__PropertyFillerUnsignedDoubleRange__Group__3__Impl() throws RecognitionException;
+     void rule__PropertyFillerUnsignedDoubleRange__Group__4() throws RecognitionException;
+     void rule__PropertyFillerUnsignedDoubleRange__Group__4__Impl() throws RecognitionException;
+     void rule__PropertyFillerUnsignedDoubleRange__Group__5() throws RecognitionException;
+     void rule__PropertyFillerUnsignedDoubleRange__Group__5__Impl() throws RecognitionException;
+     void rule__PropertyFillerUnsignedDoubleRange__Group_1__0() throws RecognitionException;
+     void rule__PropertyFillerUnsignedDoubleRange__Group_1__0__Impl() throws RecognitionException;
+     void rule__PropertyFillerUnsignedDoubleRange__Group_1__1() throws RecognitionException;
+     void rule__PropertyFillerUnsignedDoubleRange__Group_1__1__Impl() throws RecognitionException;
+     void rule__PropertyFillerUnsignedDoubleRange__Group_1__2() throws RecognitionException;
+     void rule__PropertyFillerUnsignedDoubleRange__Group_1__2__Impl() throws RecognitionException;
+     void rule__PropertyFillerUnsignedDoubleRange__Group_5__0() throws RecognitionException;
+     void rule__PropertyFillerUnsignedDoubleRange__Group_5__0__Impl() throws RecognitionException;
+     void rule__PropertyFillerUnsignedDoubleRange__Group_5__1() throws RecognitionException;
+     void rule__PropertyFillerUnsignedDoubleRange__Group_5__1__Impl() throws RecognitionException;
+     void rule__PropertyFillerUnsignedDoubleRandom__Group__0() throws RecognitionException;
+     void rule__PropertyFillerUnsignedDoubleRandom__Group__0__Impl() throws RecognitionException;
+     void rule__PropertyFillerUnsignedDoubleRandom__Group__1() throws RecognitionException;
+     void rule__PropertyFillerUnsignedDoubleRandom__Group__1__Impl() throws RecognitionException;
+     void rule__PropertyFillerUnsignedDoubleRandom__Group__2() throws RecognitionException;
+     void rule__PropertyFillerUnsignedDoubleRandom__Group__2__Impl() throws RecognitionException;
+     void rule__PropertyFillerUnsignedDoubleRandom__Group__3() throws RecognitionException;
+     void rule__PropertyFillerUnsignedDoubleRandom__Group__3__Impl() throws RecognitionException;
+     void rule__PropertyFillerUnsignedIntegerRange__Group__0() throws RecognitionException;
+     void rule__PropertyFillerUnsignedIntegerRange__Group__0__Impl() throws RecognitionException;
+     void rule__PropertyFillerUnsignedIntegerRange__Group__1() throws RecognitionException;
+     void rule__PropertyFillerUnsignedIntegerRange__Group__1__Impl() throws RecognitionException;
+     void rule__PropertyFillerUnsignedIntegerRange__Group__2() throws RecognitionException;
+     void rule__PropertyFillerUnsignedIntegerRange__Group__2__Impl() throws RecognitionException;
+     void rule__PropertyFillerUnsignedIntegerRange__Group__3() throws RecognitionException;
+     void rule__PropertyFillerUnsignedIntegerRange__Group__3__Impl() throws RecognitionException;
+     void rule__PropertyFillerUnsignedIntegerRange__Group_2__0() throws RecognitionException;
+     void rule__PropertyFillerUnsignedIntegerRange__Group_2__0__Impl() throws RecognitionException;
+     void rule__PropertyFillerUnsignedIntegerRange__Group_2__1() throws RecognitionException;
+     void rule__PropertyFillerUnsignedIntegerRange__Group_2__1__Impl() throws RecognitionException;
+     void rule__PropertyFillerUnsignedIntegerRange__Group_2__2() throws RecognitionException;
+     void rule__PropertyFillerUnsignedIntegerRange__Group_2__2__Impl() throws RecognitionException;
+     void rule__PropertyFillerUnsignedIntegerRange__Group_3__0() throws RecognitionException;
+     void rule__PropertyFillerUnsignedIntegerRange__Group_3__0__Impl() throws RecognitionException;
+     void rule__PropertyFillerUnsignedIntegerRange__Group_3__1() throws RecognitionException;
+     void rule__PropertyFillerUnsignedIntegerRange__Group_3__1__Impl() throws RecognitionException;
+     void rule__PropertyFillerUnsignedIntegerRandom__Group__0() throws RecognitionException;
+     void rule__PropertyFillerUnsignedIntegerRandom__Group__0__Impl() throws RecognitionException;
+     void rule__PropertyFillerUnsignedIntegerRandom__Group__1() throws RecognitionException;
+     void rule__PropertyFillerUnsignedIntegerRandom__Group__1__Impl() throws RecognitionException;
+     void rule__PropertyFillerUnsignedIntegerRandom__Group__2() throws RecognitionException;
+     void rule__PropertyFillerUnsignedIntegerRandom__Group__2__Impl() throws RecognitionException;
+     void rule__PropertyFillerUnsignedIntegerRandom__Group__3() throws RecognitionException;
+     void rule__PropertyFillerUnsignedIntegerRandom__Group__3__Impl() throws RecognitionException;
+     void rule__EntityMockDataType__Group__0() throws RecognitionException;
+     void rule__EntityMockDataType__Group__0__Impl() throws RecognitionException;
+     void rule__EntityMockDataType__Group__1() throws RecognitionException;
+     void rule__EntityMockDataType__Group__1__Impl() throws RecognitionException;
+     void rule__EntityMockDataType__Group__2() throws RecognitionException;
+     void rule__EntityMockDataType__Group__2__Impl() throws RecognitionException;
+     void rule__EntityMockDataType__Group__3() throws RecognitionException;
+     void rule__EntityMockDataType__Group__3__Impl() throws RecognitionException;
+     void rule__EntityMockEntities__Group__0() throws RecognitionException;
+     void rule__EntityMockEntities__Group__0__Impl() throws RecognitionException;
+     void rule__EntityMockEntities__Group__1() throws RecognitionException;
+     void rule__EntityMockEntities__Group__1__Impl() throws RecognitionException;
+     void rule__EntityMockEntities__Group__2() throws RecognitionException;
+     void rule__EntityMockEntities__Group__2__Impl() throws RecognitionException;
+     void rule__EntityMockEntities__Group__3() throws RecognitionException;
+     void rule__EntityMockEntities__Group__3__Impl() throws RecognitionException;
+     void rule__EntityMockEntities__Group__4() throws RecognitionException;
+     void rule__EntityMockEntities__Group__4__Impl() throws RecognitionException;
+     void rule__EntityMockEntity__Group__0() throws RecognitionException;
+     void rule__EntityMockEntity__Group__0__Impl() throws RecognitionException;
+     void rule__EntityMockEntity__Group__1() throws RecognitionException;
+     void rule__EntityMockEntity__Group__1__Impl() throws RecognitionException;
+     void rule__EntityMockEntity__Group__2() throws RecognitionException;
+     void rule__EntityMockEntity__Group__2__Impl() throws RecognitionException;
+     void rule__EntityMockEntity__Group__3() throws RecognitionException;
+     void rule__EntityMockEntity__Group__3__Impl() throws RecognitionException;
+     void rule__EntityMockEntity__Group__4() throws RecognitionException;
+     void rule__EntityMockEntity__Group__4__Impl() throws RecognitionException;
+     void rule__EntityMockEntity__Group_4_0__0() throws RecognitionException;
+     void rule__EntityMockEntity__Group_4_0__0__Impl() throws RecognitionException;
+     void rule__EntityMockEntity__Group_4_0__1() throws RecognitionException;
+     void rule__EntityMockEntity__Group_4_0__1__Impl() throws RecognitionException;
+     void rule__EntityMockEntity__Group_4_0__2() throws RecognitionException;
+     void rule__EntityMockEntity__Group_4_0__2__Impl() throws RecognitionException;
+     void rule__EntityMockEntity__Group_4_0__3() throws RecognitionException;
+     void rule__EntityMockEntity__Group_4_0__3__Impl() throws RecognitionException;
+     void rule__EntityMockEntity__Group_4_0__4() throws RecognitionException;
+     void rule__EntityMockEntity__Group_4_0__4__Impl() throws RecognitionException;
+     void rule__EntityMockEntity__Group_4_0__5() throws RecognitionException;
+     void rule__EntityMockEntity__Group_4_0__5__Impl() throws RecognitionException;
+     void rule__EntityMockEntity__Group_4_0__6() throws RecognitionException;
+     void rule__EntityMockEntity__Group_4_0__6__Impl() throws RecognitionException;
+     void rule__EntityMockEntity__Group_4_0__7() throws RecognitionException;
+     void rule__EntityMockEntity__Group_4_0__7__Impl() throws RecognitionException;
+     void rule__EntityMockEntity__Group_4_0__8() throws RecognitionException;
+     void rule__EntityMockEntity__Group_4_0__8__Impl() throws RecognitionException;
+     void rule__EntityMockEntity__Group_4_1__0() throws RecognitionException;
+     void rule__EntityMockEntity__Group_4_1__0__Impl() throws RecognitionException;
+     void rule__EntityMockEntity__Group_4_1__1() throws RecognitionException;
+     void rule__EntityMockEntity__Group_4_1__1__Impl() throws RecognitionException;
+     void rule__EntityMockEntity__Group_4_1__2() throws RecognitionException;
+     void rule__EntityMockEntity__Group_4_1__2__Impl() throws RecognitionException;
+     void rule__EntityMockEntity__Group_4_1__3() throws RecognitionException;
+     void rule__EntityMockEntity__Group_4_1__3__Impl() throws RecognitionException;
+     void rule__EntityMockEntity__Group_4_1__4() throws RecognitionException;
+     void rule__EntityMockEntity__Group_4_1__4__Impl() throws RecognitionException;
+     void rule__EntityMockEntity__Group_4_1__5() throws RecognitionException;
+     void rule__EntityMockEntity__Group_4_1__5__Impl() throws RecognitionException;
+     void rule__EntityMockEntity__Group_4_2__0() throws RecognitionException;
+     void rule__EntityMockEntity__Group_4_2__0__Impl() throws RecognitionException;
+     void rule__EntityMockEntity__Group_4_2__1() throws RecognitionException;
+     void rule__EntityMockEntity__Group_4_2__1__Impl() throws RecognitionException;
+     void rule__EntityMockEntity__Group_4_2__2() throws RecognitionException;
+     void rule__EntityMockEntity__Group_4_2__2__Impl() throws RecognitionException;
+     void rule__EntityMockEntity__Group_4_2__3() throws RecognitionException;
+     void rule__EntityMockEntity__Group_4_2__3__Impl() throws RecognitionException;
+     void rule__EntityMockEntity__Group_4_2__4() throws RecognitionException;
+     void rule__EntityMockEntity__Group_4_2__4__Impl() throws RecognitionException;
+     void rule__EntityMockEntity__Group_4_2__5() throws RecognitionException;
+     void rule__EntityMockEntity__Group_4_2__5__Impl() throws RecognitionException;
+     void rule__EntityMockEntity__Group_4_2__6() throws RecognitionException;
+     void rule__EntityMockEntity__Group_4_2__6__Impl() throws RecognitionException;
+     void rule__EntityMockEntity__Group_4_2__7() throws RecognitionException;
+     void rule__EntityMockEntity__Group_4_2__7__Impl() throws RecognitionException;
+     void rule__EntityMockEntity__Group_4_2__8() throws RecognitionException;
+     void rule__EntityMockEntity__Group_4_2__8__Impl() throws RecognitionException;
+     void rule__IntegerIterate__Group__0() throws RecognitionException;
+     void rule__IntegerIterate__Group__0__Impl() throws RecognitionException;
+     void rule__IntegerIterate__Group__1() throws RecognitionException;
+     void rule__IntegerIterate__Group__1__Impl() throws RecognitionException;
+     void rule__IntegerIterate__Group__2() throws RecognitionException;
+     void rule__IntegerIterate__Group__2__Impl() throws RecognitionException;
+     void rule__IntegerIterate__Group__3() throws RecognitionException;
+     void rule__IntegerIterate__Group__3__Impl() throws RecognitionException;
+     void rule__IntegerIterate__Group__4() throws RecognitionException;
+     void rule__IntegerIterate__Group__4__Impl() throws RecognitionException;
+     void rule__IntegerIterate__Group__5() throws RecognitionException;
+     void rule__IntegerIterate__Group__5__Impl() throws RecognitionException;
+     void rule__DateIterate__Group__0() throws RecognitionException;
+     void rule__DateIterate__Group__0__Impl() throws RecognitionException;
+     void rule__DateIterate__Group__1() throws RecognitionException;
+     void rule__DateIterate__Group__1__Impl() throws RecognitionException;
+     void rule__DateIterate__Group__2() throws RecognitionException;
+     void rule__DateIterate__Group__2__Impl() throws RecognitionException;
+     void rule__DateIterate__Group__3() throws RecognitionException;
+     void rule__DateIterate__Group__3__Impl() throws RecognitionException;
+     void rule__DateIterate__Group__4() throws RecognitionException;
+     void rule__DateIterate__Group__4__Impl() throws RecognitionException;
+     void rule__DateIterate__Group__5() throws RecognitionException;
+     void rule__DateIterate__Group__5__Impl() throws RecognitionException;
+     void rule__DateIterate__Group__6() throws RecognitionException;
+     void rule__DateIterate__Group__6__Impl() throws RecognitionException;
+     void rule__Date__Group_3__0() throws RecognitionException;
+     void rule__Date__Group_3__0__Impl() throws RecognitionException;
+     void rule__Date__Group_3__1() throws RecognitionException;
+     void rule__Date__Group_3__1__Impl() throws RecognitionException;
+     void rule__Date__Group_3__2() throws RecognitionException;
+     void rule__Date__Group_3__2__Impl() throws RecognitionException;
+     void rule__Date__Group_3__3() throws RecognitionException;
+     void rule__Date__Group_3__3__Impl() throws RecognitionException;
+     void rule__Date__Group_3__4() throws RecognitionException;
+     void rule__Date__Group_3__4__Impl() throws RecognitionException;
+     void rule__EntityMockByResourceAttribute__Group__0() throws RecognitionException;
+     void rule__EntityMockByResourceAttribute__Group__0__Impl() throws RecognitionException;
+     void rule__EntityMockByResourceAttribute__Group__1() throws RecognitionException;
+     void rule__EntityMockByResourceAttribute__Group__1__Impl() throws RecognitionException;
+     void rule__EntityMockByResourceAttribute__Group__2() throws RecognitionException;
+     void rule__EntityMockByResourceAttribute__Group__2__Impl() throws RecognitionException;
+     void rule__EntityMockByResourceAttribute__Group__3() throws RecognitionException;
+     void rule__EntityMockByResourceAttribute__Group__3__Impl() throws RecognitionException;
+     void rule__EntityMockByResourceAttribute__Group__4() throws RecognitionException;
+     void rule__EntityMockByResourceAttribute__Group__4__Impl() throws RecognitionException;
+     void rule__EntityMockTemporary__Group__0() throws RecognitionException;
+     void rule__EntityMockTemporary__Group__0__Impl() throws RecognitionException;
+     void rule__EntityMockTemporary__Group__1() throws RecognitionException;
+     void rule__EntityMockTemporary__Group__1__Impl() throws RecognitionException;
+     void rule__EntityMockTemporary__Group__2() throws RecognitionException;
+     void rule__EntityMockTemporary__Group__2__Impl() throws RecognitionException;
+     void rule__EntityMockTemporary__Group__3() throws RecognitionException;
+     void rule__EntityMockTemporary__Group__3__Impl() throws RecognitionException;
+     void rule__EntityMockEntityFunction__Group__0() throws RecognitionException;
+     void rule__EntityMockEntityFunction__Group__0__Impl() throws RecognitionException;
+     void rule__EntityMockEntityFunction__Group__1() throws RecognitionException;
+     void rule__EntityMockEntityFunction__Group__1__Impl() throws RecognitionException;
+     void rule__EntityMockEntityFunction__Group__2() throws RecognitionException;
+     void rule__EntityMockEntityFunction__Group__2__Impl() throws RecognitionException;
+     void rule__EntityMockEntityFunction__Group__3() throws RecognitionException;
+     void rule__EntityMockEntityFunction__Group__3__Impl() throws RecognitionException;
+     void rule__EntityMockEntityFunction__Group__4() throws RecognitionException;
+     void rule__EntityMockEntityFunction__Group__4__Impl() throws RecognitionException;
+     void rule__EntityMockEntityFunction__Group__5() throws RecognitionException;
+     void rule__EntityMockEntityFunction__Group__5__Impl() throws RecognitionException;
+     void rule__EntityMockEntityFunction__Group__6() throws RecognitionException;
+     void rule__EntityMockEntityFunction__Group__6__Impl() throws RecognitionException;
+     void rule__EntityMockEntityFunction__Group_4__0() throws RecognitionException;
+     void rule__EntityMockEntityFunction__Group_4__0__Impl() throws RecognitionException;
+     void rule__EntityMockEntityFunction__Group_4__1() throws RecognitionException;
+     void rule__EntityMockEntityFunction__Group_4__1__Impl() throws RecognitionException;
+     void rule__EntityMockEntityFunction__Group_4_1__0() throws RecognitionException;
+     void rule__EntityMockEntityFunction__Group_4_1__0__Impl() throws RecognitionException;
+     void rule__EntityMockEntityFunction__Group_4_1__1() throws RecognitionException;
+     void rule__EntityMockEntityFunction__Group_4_1__1__Impl() throws RecognitionException;
+     void rule__EntityMockEntityFunctionParameter__Group_1__0() throws RecognitionException;
+     void rule__EntityMockEntityFunctionParameter__Group_1__0__Impl() throws RecognitionException;
+     void rule__EntityMockEntityFunctionParameter__Group_1__1() throws RecognitionException;
+     void rule__EntityMockEntityFunctionParameter__Group_1__1__Impl() throws RecognitionException;
+     void rule__EntityMockEntityFunctionParameter__Group_1__2() throws RecognitionException;
+     void rule__EntityMockEntityFunctionParameter__Group_1__2__Impl() throws RecognitionException;
+     void rule__EntityMockEntityFunctionParameter__Group_1__3() throws RecognitionException;
+     void rule__EntityMockEntityFunctionParameter__Group_1__3__Impl() throws RecognitionException;
+     void rule__EntityMockEntityFunctionParameter__Group_1_1__0() throws RecognitionException;
+     void rule__EntityMockEntityFunctionParameter__Group_1_1__0__Impl() throws RecognitionException;
+     void rule__EntityMockEntityFunctionParameter__Group_1_1__1() throws RecognitionException;
+     void rule__EntityMockEntityFunctionParameter__Group_1_1__1__Impl() throws RecognitionException;
+     void rule__EntityMockReferencedObjectAttribute__Group__0() throws RecognitionException;
+     void rule__EntityMockReferencedObjectAttribute__Group__0__Impl() throws RecognitionException;
+     void rule__EntityMockReferencedObjectAttribute__Group__1() throws RecognitionException;
+     void rule__EntityMockReferencedObjectAttribute__Group__1__Impl() throws RecognitionException;
+     void rule__EntityMockReferencedObjectAttribute__Group__2() throws RecognitionException;
+     void rule__EntityMockReferencedObjectAttribute__Group__2__Impl() throws RecognitionException;
+     void rule__EntityMockReferencedObjectAttribute__Group__3() throws RecognitionException;
+     void rule__EntityMockReferencedObjectAttribute__Group__3__Impl() throws RecognitionException;
+     void rule__EntityMockReferencedObjectAttribute__Group__4() throws RecognitionException;
+     void rule__EntityMockReferencedObjectAttribute__Group__4__Impl() throws RecognitionException;
+     void rule__EntityMockReferencedObjectAttribute__Group_2__0() throws RecognitionException;
+     void rule__EntityMockReferencedObjectAttribute__Group_2__0__Impl() throws RecognitionException;
+     void rule__EntityMockReferencedObjectAttribute__Group_2__1() throws RecognitionException;
+     void rule__EntityMockReferencedObjectAttribute__Group_2__1__Impl() throws RecognitionException;
+     void rule__EntityMockAttributeByObject__Group_0__0() throws RecognitionException;
+     void rule__EntityMockAttributeByObject__Group_0__0__Impl() throws RecognitionException;
+     void rule__EntityMockAttributeByObject__Group_0__1() throws RecognitionException;
+     void rule__EntityMockAttributeByObject__Group_0__1__Impl() throws RecognitionException;
+     void rule__EntityMockAttributeByObject__Group_0__2() throws RecognitionException;
+     void rule__EntityMockAttributeByObject__Group_0__2__Impl() throws RecognitionException;
+     void rule__EntityMockAttributeByObject__Group_0_2__0() throws RecognitionException;
+     void rule__EntityMockAttributeByObject__Group_0_2__0__Impl() throws RecognitionException;
+     void rule__EntityMockAttributeByObject__Group_0_2__1() throws RecognitionException;
+     void rule__EntityMockAttributeByObject__Group_0_2__1__Impl() throws RecognitionException;
+     void rule__EntityMockAttributeByObject__Group_1__0() throws RecognitionException;
+     void rule__EntityMockAttributeByObject__Group_1__0__Impl() throws RecognitionException;
+     void rule__EntityMockAttributeByObject__Group_1__1() throws RecognitionException;
+     void rule__EntityMockAttributeByObject__Group_1__1__Impl() throws RecognitionException;
+     void rule__EntityMockAttributeByObject__Group_1__2() throws RecognitionException;
+     void rule__EntityMockAttributeByObject__Group_1__2__Impl() throws RecognitionException;
+     void rule__EntityMockAttributeByObject__Group_1__3() throws RecognitionException;
+     void rule__EntityMockAttributeByObject__Group_1__3__Impl() throws RecognitionException;
+     void rule__EntityMockAttributeFiller__Group__0() throws RecognitionException;
+     void rule__EntityMockAttributeFiller__Group__0__Impl() throws RecognitionException;
+     void rule__EntityMockAttributeFiller__Group__1() throws RecognitionException;
+     void rule__EntityMockAttributeFiller__Group__1__Impl() throws RecognitionException;
+     void rule__EntityMockAttributeFiller__Group__2() throws RecognitionException;
+     void rule__EntityMockAttributeFiller__Group__2__Impl() throws RecognitionException;
+     void rule__EntityMockAttributeFiller__Group__3() throws RecognitionException;
+     void rule__EntityMockAttributeFiller__Group__3__Impl() throws RecognitionException;
+     void rule__EntityMockAttributeByReference__Group__0() throws RecognitionException;
+     void rule__EntityMockAttributeByReference__Group__0__Impl() throws RecognitionException;
+     void rule__EntityMockAttributeByReference__Group__1() throws RecognitionException;
+     void rule__EntityMockAttributeByReference__Group__1__Impl() throws RecognitionException;
+     void rule__EntityMockAttributeByReference__Group__2() throws RecognitionException;
+     void rule__EntityMockAttributeByReference__Group__2__Impl() throws RecognitionException;
+     void rule__EntityMockAttributeByReference__Group__3() throws RecognitionException;
+     void rule__EntityMockAttributeByReference__Group__3__Impl() throws RecognitionException;
+     void rule__EntityMockAttributeByReference__Group__4() throws RecognitionException;
+     void rule__EntityMockAttributeByReference__Group__4__Impl() throws RecognitionException;
+     void rule__EntityMockAttributeByReference__Group_4__0() throws RecognitionException;
+     void rule__EntityMockAttributeByReference__Group_4__0__Impl() throws RecognitionException;
+     void rule__EntityMockAttributeByReference__Group_4__1() throws RecognitionException;
+     void rule__EntityMockAttributeByReference__Group_4__1__Impl() throws RecognitionException;
+     void rule__EntityMockAttributeByReference__Group_4__2() throws RecognitionException;
+     void rule__EntityMockAttributeByReference__Group_4__2__Impl() throws RecognitionException;
+     void rule__SignedNumber__Group__0() throws RecognitionException;
+     void rule__SignedNumber__Group__0__Impl() throws RecognitionException;
+     void rule__SignedNumber__Group__1() throws RecognitionException;
+     void rule__SignedNumber__Group__1__Impl() throws RecognitionException;
+     void rule__UnsignedNumber__Group__0() throws RecognitionException;
+     void rule__UnsignedNumber__Group__0__Impl() throws RecognitionException;
+     void rule__UnsignedNumber__Group__1() throws RecognitionException;
+     void rule__UnsignedNumber__Group__1__Impl() throws RecognitionException;
+     void rule__UnsignedNumber__Group_1__0() throws RecognitionException;
+     void rule__UnsignedNumber__Group_1__0__Impl() throws RecognitionException;
+     void rule__UnsignedNumber__Group_1__1() throws RecognitionException;
+     void rule__UnsignedNumber__Group_1__1__Impl() throws RecognitionException;
+     void rule__SINT__Group__0() throws RecognitionException;
+     void rule__SINT__Group__0__Impl() throws RecognitionException;
+     void rule__SINT__Group__1() throws RecognitionException;
+     void rule__SINT__Group__1__Impl() throws RecognitionException;
+     void rule__QualifiedName__Group__0() throws RecognitionException;
+     void rule__QualifiedName__Group__0__Impl() throws RecognitionException;
+     void rule__QualifiedName__Group__1() throws RecognitionException;
+     void rule__QualifiedName__Group__1__Impl() throws RecognitionException;
+     void rule__QualifiedName__Group_1__0() throws RecognitionException;
+     void rule__QualifiedName__Group_1__0__Impl() throws RecognitionException;
+     void rule__QualifiedName__Group_1__1() throws RecognitionException;
+     void rule__QualifiedName__Group_1__1__Impl() throws RecognitionException;
+     void rule__XAnnotation__Group__0() throws RecognitionException;
+     void rule__XAnnotation__Group__0__Impl() throws RecognitionException;
+     void rule__XAnnotation__Group__1() throws RecognitionException;
+     void rule__XAnnotation__Group__1__Impl() throws RecognitionException;
+     void rule__XAnnotation__Group__2() throws RecognitionException;
+     void rule__XAnnotation__Group__2__Impl() throws RecognitionException;
+     void rule__XAnnotation__Group__3() throws RecognitionException;
+     void rule__XAnnotation__Group__3__Impl() throws RecognitionException;
+     void rule__XAnnotation__Group_3__0() throws RecognitionException;
+     void rule__XAnnotation__Group_3__0__Impl() throws RecognitionException;
+     void rule__XAnnotation__Group_3__1() throws RecognitionException;
+     void rule__XAnnotation__Group_3__1__Impl() throws RecognitionException;
+     void rule__XAnnotation__Group_3__2() throws RecognitionException;
+     void rule__XAnnotation__Group_3__2__Impl() throws RecognitionException;
+     void rule__XAnnotation__Group_3_1_0__0() throws RecognitionException;
+     void rule__XAnnotation__Group_3_1_0__0__Impl() throws RecognitionException;
+     void rule__XAnnotation__Group_3_1_0__1() throws RecognitionException;
+     void rule__XAnnotation__Group_3_1_0__1__Impl() throws RecognitionException;
+     void rule__XAnnotation__Group_3_1_0_1__0() throws RecognitionException;
+     void rule__XAnnotation__Group_3_1_0_1__0__Impl() throws RecognitionException;
+     void rule__XAnnotation__Group_3_1_0_1__1() throws RecognitionException;
+     void rule__XAnnotation__Group_3_1_0_1__1__Impl() throws RecognitionException;
+     void rule__XAnnotationElementValuePair__Group__0() throws RecognitionException;
+     void rule__XAnnotationElementValuePair__Group__0__Impl() throws RecognitionException;
+     void rule__XAnnotationElementValuePair__Group__1() throws RecognitionException;
+     void rule__XAnnotationElementValuePair__Group__1__Impl() throws RecognitionException;
+     void rule__XAnnotationElementValuePair__Group_0__0() throws RecognitionException;
+     void rule__XAnnotationElementValuePair__Group_0__0__Impl() throws RecognitionException;
+     void rule__XAnnotationElementValuePair__Group_0_0__0() throws RecognitionException;
+     void rule__XAnnotationElementValuePair__Group_0_0__0__Impl() throws RecognitionException;
+     void rule__XAnnotationElementValuePair__Group_0_0__1() throws RecognitionException;
+     void rule__XAnnotationElementValuePair__Group_0_0__1__Impl() throws RecognitionException;
+     void rule__XAnnotationElementValueOrCommaList__Group_0__0() throws RecognitionException;
+     void rule__XAnnotationElementValueOrCommaList__Group_0__0__Impl() throws RecognitionException;
+     void rule__XAnnotationElementValueOrCommaList__Group_0__1() throws RecognitionException;
+     void rule__XAnnotationElementValueOrCommaList__Group_0__1__Impl() throws RecognitionException;
+     void rule__XAnnotationElementValueOrCommaList__Group_0__2() throws RecognitionException;
+     void rule__XAnnotationElementValueOrCommaList__Group_0__2__Impl() throws RecognitionException;
+     void rule__XAnnotationElementValueOrCommaList__Group_0_0__0() throws RecognitionException;
+     void rule__XAnnotationElementValueOrCommaList__Group_0_0__0__Impl() throws RecognitionException;
+     void rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0() throws RecognitionException;
+     void rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0__Impl() throws RecognitionException;
+     void rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1() throws RecognitionException;
+     void rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1__Impl() throws RecognitionException;
+     void rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2() throws RecognitionException;
+     void rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2__Impl() throws RecognitionException;
+     void rule__XAnnotationElementValueOrCommaList__Group_0_1__0() throws RecognitionException;
+     void rule__XAnnotationElementValueOrCommaList__Group_0_1__0__Impl() throws RecognitionException;
+     void rule__XAnnotationElementValueOrCommaList__Group_0_1__1() throws RecognitionException;
+     void rule__XAnnotationElementValueOrCommaList__Group_0_1__1__Impl() throws RecognitionException;
+     void rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0() throws RecognitionException;
+     void rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0__Impl() throws RecognitionException;
+     void rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1() throws RecognitionException;
+     void rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1__Impl() throws RecognitionException;
+     void rule__XAnnotationElementValueOrCommaList__Group_1__0() throws RecognitionException;
+     void rule__XAnnotationElementValueOrCommaList__Group_1__0__Impl() throws RecognitionException;
+     void rule__XAnnotationElementValueOrCommaList__Group_1__1() throws RecognitionException;
+     void rule__XAnnotationElementValueOrCommaList__Group_1__1__Impl() throws RecognitionException;
+     void rule__XAnnotationElementValueOrCommaList__Group_1_1__0() throws RecognitionException;
+     void rule__XAnnotationElementValueOrCommaList__Group_1_1__0__Impl() throws RecognitionException;
+     void rule__XAnnotationElementValueOrCommaList__Group_1_1__1() throws RecognitionException;
+     void rule__XAnnotationElementValueOrCommaList__Group_1_1__1__Impl() throws RecognitionException;
+     void rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0() throws RecognitionException;
+     void rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0__Impl() throws RecognitionException;
+     void rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1() throws RecognitionException;
+     void rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1__Impl() throws RecognitionException;
+     void rule__XAnnotationElementValue__Group_0__0() throws RecognitionException;
+     void rule__XAnnotationElementValue__Group_0__0__Impl() throws RecognitionException;
+     void rule__XAnnotationElementValue__Group_0__1() throws RecognitionException;
+     void rule__XAnnotationElementValue__Group_0__1__Impl() throws RecognitionException;
+     void rule__XAnnotationElementValue__Group_0__2() throws RecognitionException;
+     void rule__XAnnotationElementValue__Group_0__2__Impl() throws RecognitionException;
+     void rule__XAnnotationElementValue__Group_0_0__0() throws RecognitionException;
+     void rule__XAnnotationElementValue__Group_0_0__0__Impl() throws RecognitionException;
+     void rule__XAnnotationElementValue__Group_0_0_0__0() throws RecognitionException;
+     void rule__XAnnotationElementValue__Group_0_0_0__0__Impl() throws RecognitionException;
+     void rule__XAnnotationElementValue__Group_0_0_0__1() throws RecognitionException;
+     void rule__XAnnotationElementValue__Group_0_0_0__1__Impl() throws RecognitionException;
+     void rule__XAnnotationElementValue__Group_0_0_0__2() throws RecognitionException;
+     void rule__XAnnotationElementValue__Group_0_0_0__2__Impl() throws RecognitionException;
+     void rule__XAnnotationElementValue__Group_0_1__0() throws RecognitionException;
+     void rule__XAnnotationElementValue__Group_0_1__0__Impl() throws RecognitionException;
+     void rule__XAnnotationElementValue__Group_0_1__1() throws RecognitionException;
+     void rule__XAnnotationElementValue__Group_0_1__1__Impl() throws RecognitionException;
+     void rule__XAnnotationElementValue__Group_0_1_1__0() throws RecognitionException;
+     void rule__XAnnotationElementValue__Group_0_1_1__0__Impl() throws RecognitionException;
+     void rule__XAnnotationElementValue__Group_0_1_1__1() throws RecognitionException;
+     void rule__XAnnotationElementValue__Group_0_1_1__1__Impl() throws RecognitionException;
+     void rule__XAssignment__Group_0__0() throws RecognitionException;
+     void rule__XAssignment__Group_0__0__Impl() throws RecognitionException;
+     void rule__XAssignment__Group_0__1() throws RecognitionException;
+     void rule__XAssignment__Group_0__1__Impl() throws RecognitionException;
+     void rule__XAssignment__Group_0__2() throws RecognitionException;
+     void rule__XAssignment__Group_0__2__Impl() throws RecognitionException;
+     void rule__XAssignment__Group_0__3() throws RecognitionException;
+     void rule__XAssignment__Group_0__3__Impl() throws RecognitionException;
+     void rule__XAssignment__Group_1__0() throws RecognitionException;
+     void rule__XAssignment__Group_1__0__Impl() throws RecognitionException;
+     void rule__XAssignment__Group_1__1() throws RecognitionException;
+     void rule__XAssignment__Group_1__1__Impl() throws RecognitionException;
+     void rule__XAssignment__Group_1_1__0() throws RecognitionException;
+     void rule__XAssignment__Group_1_1__0__Impl() throws RecognitionException;
+     void rule__XAssignment__Group_1_1__1() throws RecognitionException;
+     void rule__XAssignment__Group_1_1__1__Impl() throws RecognitionException;
+     void rule__XAssignment__Group_1_1_0__0() throws RecognitionException;
+     void rule__XAssignment__Group_1_1_0__0__Impl() throws RecognitionException;
+     void rule__XAssignment__Group_1_1_0_0__0() throws RecognitionException;
+     void rule__XAssignment__Group_1_1_0_0__0__Impl() throws RecognitionException;
+     void rule__XAssignment__Group_1_1_0_0__1() throws RecognitionException;
+     void rule__XAssignment__Group_1_1_0_0__1__Impl() throws RecognitionException;
+     void rule__OpMultiAssign__Group_5__0() throws RecognitionException;
+     void rule__OpMultiAssign__Group_5__0__Impl() throws RecognitionException;
+     void rule__OpMultiAssign__Group_5__1() throws RecognitionException;
+     void rule__OpMultiAssign__Group_5__1__Impl() throws RecognitionException;
+     void rule__OpMultiAssign__Group_5__2() throws RecognitionException;
+     void rule__OpMultiAssign__Group_5__2__Impl() throws RecognitionException;
+     void rule__OpMultiAssign__Group_6__0() throws RecognitionException;
+     void rule__OpMultiAssign__Group_6__0__Impl() throws RecognitionException;
+     void rule__OpMultiAssign__Group_6__1() throws RecognitionException;
+     void rule__OpMultiAssign__Group_6__1__Impl() throws RecognitionException;
+     void rule__OpMultiAssign__Group_6__2() throws RecognitionException;
+     void rule__OpMultiAssign__Group_6__2__Impl() throws RecognitionException;
+     void rule__XOrExpression__Group__0() throws RecognitionException;
+     void rule__XOrExpression__Group__0__Impl() throws RecognitionException;
+     void rule__XOrExpression__Group__1() throws RecognitionException;
+     void rule__XOrExpression__Group__1__Impl() throws RecognitionException;
+     void rule__XOrExpression__Group_1__0() throws RecognitionException;
+     void rule__XOrExpression__Group_1__0__Impl() throws RecognitionException;
+     void rule__XOrExpression__Group_1__1() throws RecognitionException;
+     void rule__XOrExpression__Group_1__1__Impl() throws RecognitionException;
+     void rule__XOrExpression__Group_1_0__0() throws RecognitionException;
+     void rule__XOrExpression__Group_1_0__0__Impl() throws RecognitionException;
+     void rule__XOrExpression__Group_1_0_0__0() throws RecognitionException;
+     void rule__XOrExpression__Group_1_0_0__0__Impl() throws RecognitionException;
+     void rule__XOrExpression__Group_1_0_0__1() throws RecognitionException;
+     void rule__XOrExpression__Group_1_0_0__1__Impl() throws RecognitionException;
+     void rule__XAndExpression__Group__0() throws RecognitionException;
+     void rule__XAndExpression__Group__0__Impl() throws RecognitionException;
+     void rule__XAndExpression__Group__1() throws RecognitionException;
+     void rule__XAndExpression__Group__1__Impl() throws RecognitionException;
+     void rule__XAndExpression__Group_1__0() throws RecognitionException;
+     void rule__XAndExpression__Group_1__0__Impl() throws RecognitionException;
+     void rule__XAndExpression__Group_1__1() throws RecognitionException;
+     void rule__XAndExpression__Group_1__1__Impl() throws RecognitionException;
+     void rule__XAndExpression__Group_1_0__0() throws RecognitionException;
+     void rule__XAndExpression__Group_1_0__0__Impl() throws RecognitionException;
+     void rule__XAndExpression__Group_1_0_0__0() throws RecognitionException;
+     void rule__XAndExpression__Group_1_0_0__0__Impl() throws RecognitionException;
+     void rule__XAndExpression__Group_1_0_0__1() throws RecognitionException;
+     void rule__XAndExpression__Group_1_0_0__1__Impl() throws RecognitionException;
+     void rule__XEqualityExpression__Group__0() throws RecognitionException;
+     void rule__XEqualityExpression__Group__0__Impl() throws RecognitionException;
+     void rule__XEqualityExpression__Group__1() throws RecognitionException;
+     void rule__XEqualityExpression__Group__1__Impl() throws RecognitionException;
+     void rule__XEqualityExpression__Group_1__0() throws RecognitionException;
+     void rule__XEqualityExpression__Group_1__0__Impl() throws RecognitionException;
+     void rule__XEqualityExpression__Group_1__1() throws RecognitionException;
+     void rule__XEqualityExpression__Group_1__1__Impl() throws RecognitionException;
+     void rule__XEqualityExpression__Group_1_0__0() throws RecognitionException;
+     void rule__XEqualityExpression__Group_1_0__0__Impl() throws RecognitionException;
+     void rule__XEqualityExpression__Group_1_0_0__0() throws RecognitionException;
+     void rule__XEqualityExpression__Group_1_0_0__0__Impl() throws RecognitionException;
+     void rule__XEqualityExpression__Group_1_0_0__1() throws RecognitionException;
+     void rule__XEqualityExpression__Group_1_0_0__1__Impl() throws RecognitionException;
+     void rule__XRelationalExpression__Group__0() throws RecognitionException;
+     void rule__XRelationalExpression__Group__0__Impl() throws RecognitionException;
+     void rule__XRelationalExpression__Group__1() throws RecognitionException;
+     void rule__XRelationalExpression__Group__1__Impl() throws RecognitionException;
+     void rule__XRelationalExpression__Group_1_0__0() throws RecognitionException;
+     void rule__XRelationalExpression__Group_1_0__0__Impl() throws RecognitionException;
+     void rule__XRelationalExpression__Group_1_0__1() throws RecognitionException;
+     void rule__XRelationalExpression__Group_1_0__1__Impl() throws RecognitionException;
+     void rule__XRelationalExpression__Group_1_0_0__0() throws RecognitionException;
+     void rule__XRelationalExpression__Group_1_0_0__0__Impl() throws RecognitionException;
+     void rule__XRelationalExpression__Group_1_0_0_0__0() throws RecognitionException;
+     void rule__XRelationalExpression__Group_1_0_0_0__0__Impl() throws RecognitionException;
+     void rule__XRelationalExpression__Group_1_0_0_0__1() throws RecognitionException;
+     void rule__XRelationalExpression__Group_1_0_0_0__1__Impl() throws RecognitionException;
+     void rule__XRelationalExpression__Group_1_1__0() throws RecognitionException;
+     void rule__XRelationalExpression__Group_1_1__0__Impl() throws RecognitionException;
+     void rule__XRelationalExpression__Group_1_1__1() throws RecognitionException;
+     void rule__XRelationalExpression__Group_1_1__1__Impl() throws RecognitionException;
+     void rule__XRelationalExpression__Group_1_1_0__0() throws RecognitionException;
+     void rule__XRelationalExpression__Group_1_1_0__0__Impl() throws RecognitionException;
+     void rule__XRelationalExpression__Group_1_1_0_0__0() throws RecognitionException;
+     void rule__XRelationalExpression__Group_1_1_0_0__0__Impl() throws RecognitionException;
+     void rule__XRelationalExpression__Group_1_1_0_0__1() throws RecognitionException;
+     void rule__XRelationalExpression__Group_1_1_0_0__1__Impl() throws RecognitionException;
+     void rule__OpCompare__Group_1__0() throws RecognitionException;
+     void rule__OpCompare__Group_1__0__Impl() throws RecognitionException;
+     void rule__OpCompare__Group_1__1() throws RecognitionException;
+     void rule__OpCompare__Group_1__1__Impl() throws RecognitionException;
+     void rule__XOtherOperatorExpression__Group__0() throws RecognitionException;
+     void rule__XOtherOperatorExpression__Group__0__Impl() throws RecognitionException;
+     void rule__XOtherOperatorExpression__Group__1() throws RecognitionException;
+     void rule__XOtherOperatorExpression__Group__1__Impl() throws RecognitionException;
+     void rule__XOtherOperatorExpression__Group_1__0() throws RecognitionException;
+     void rule__XOtherOperatorExpression__Group_1__0__Impl() throws RecognitionException;
+     void rule__XOtherOperatorExpression__Group_1__1() throws RecognitionException;
+     void rule__XOtherOperatorExpression__Group_1__1__Impl() throws RecognitionException;
+     void rule__XOtherOperatorExpression__Group_1_0__0() throws RecognitionException;
+     void rule__XOtherOperatorExpression__Group_1_0__0__Impl() throws RecognitionException;
+     void rule__XOtherOperatorExpression__Group_1_0_0__0() throws RecognitionException;
+     void rule__XOtherOperatorExpression__Group_1_0_0__0__Impl() throws RecognitionException;
+     void rule__XOtherOperatorExpression__Group_1_0_0__1() throws RecognitionException;
+     void rule__XOtherOperatorExpression__Group_1_0_0__1__Impl() throws RecognitionException;
+     void rule__OpOther__Group_2__0() throws RecognitionException;
+     void rule__OpOther__Group_2__0__Impl() throws RecognitionException;
+     void rule__OpOther__Group_2__1() throws RecognitionException;
+     void rule__OpOther__Group_2__1__Impl() throws RecognitionException;
+     void rule__OpOther__Group_5__0() throws RecognitionException;
+     void rule__OpOther__Group_5__0__Impl() throws RecognitionException;
+     void rule__OpOther__Group_5__1() throws RecognitionException;
+     void rule__OpOther__Group_5__1__Impl() throws RecognitionException;
+     void rule__OpOther__Group_5_1_0__0() throws RecognitionException;
+     void rule__OpOther__Group_5_1_0__0__Impl() throws RecognitionException;
+     void rule__OpOther__Group_5_1_0_0__0() throws RecognitionException;
+     void rule__OpOther__Group_5_1_0_0__0__Impl() throws RecognitionException;
+     void rule__OpOther__Group_5_1_0_0__1() throws RecognitionException;
+     void rule__OpOther__Group_5_1_0_0__1__Impl() throws RecognitionException;
+     void rule__OpOther__Group_6__0() throws RecognitionException;
+     void rule__OpOther__Group_6__0__Impl() throws RecognitionException;
+     void rule__OpOther__Group_6__1() throws RecognitionException;
+     void rule__OpOther__Group_6__1__Impl() throws RecognitionException;
+     void rule__OpOther__Group_6_1_0__0() throws RecognitionException;
+     void rule__OpOther__Group_6_1_0__0__Impl() throws RecognitionException;
+     void rule__OpOther__Group_6_1_0_0__0() throws RecognitionException;
+     void rule__OpOther__Group_6_1_0_0__0__Impl() throws RecognitionException;
+     void rule__OpOther__Group_6_1_0_0__1() throws RecognitionException;
+     void rule__OpOther__Group_6_1_0_0__1__Impl() throws RecognitionException;
+     void rule__XAdditiveExpression__Group__0() throws RecognitionException;
+     void rule__XAdditiveExpression__Group__0__Impl() throws RecognitionException;
+     void rule__XAdditiveExpression__Group__1() throws RecognitionException;
+     void rule__XAdditiveExpression__Group__1__Impl() throws RecognitionException;
+     void rule__XAdditiveExpression__Group_1__0() throws RecognitionException;
+     void rule__XAdditiveExpression__Group_1__0__Impl() throws RecognitionException;
+     void rule__XAdditiveExpression__Group_1__1() throws RecognitionException;
+     void rule__XAdditiveExpression__Group_1__1__Impl() throws RecognitionException;
+     void rule__XAdditiveExpression__Group_1_0__0() throws RecognitionException;
+     void rule__XAdditiveExpression__Group_1_0__0__Impl() throws RecognitionException;
+     void rule__XAdditiveExpression__Group_1_0_0__0() throws RecognitionException;
+     void rule__XAdditiveExpression__Group_1_0_0__0__Impl() throws RecognitionException;
+     void rule__XAdditiveExpression__Group_1_0_0__1() throws RecognitionException;
+     void rule__XAdditiveExpression__Group_1_0_0__1__Impl() throws RecognitionException;
+     void rule__XMultiplicativeExpression__Group__0() throws RecognitionException;
+     void rule__XMultiplicativeExpression__Group__0__Impl() throws RecognitionException;
+     void rule__XMultiplicativeExpression__Group__1() throws RecognitionException;
+     void rule__XMultiplicativeExpression__Group__1__Impl() throws RecognitionException;
+     void rule__XMultiplicativeExpression__Group_1__0() throws RecognitionException;
+     void rule__XMultiplicativeExpression__Group_1__0__Impl() throws RecognitionException;
+     void rule__XMultiplicativeExpression__Group_1__1() throws RecognitionException;
+     void rule__XMultiplicativeExpression__Group_1__1__Impl() throws RecognitionException;
+     void rule__XMultiplicativeExpression__Group_1_0__0() throws RecognitionException;
+     void rule__XMultiplicativeExpression__Group_1_0__0__Impl() throws RecognitionException;
+     void rule__XMultiplicativeExpression__Group_1_0_0__0() throws RecognitionException;
+     void rule__XMultiplicativeExpression__Group_1_0_0__0__Impl() throws RecognitionException;
+     void rule__XMultiplicativeExpression__Group_1_0_0__1() throws RecognitionException;
+     void rule__XMultiplicativeExpression__Group_1_0_0__1__Impl() throws RecognitionException;
+     void rule__XUnaryOperation__Group_0__0() throws RecognitionException;
+     void rule__XUnaryOperation__Group_0__0__Impl() throws RecognitionException;
+     void rule__XUnaryOperation__Group_0__1() throws RecognitionException;
+     void rule__XUnaryOperation__Group_0__1__Impl() throws RecognitionException;
+     void rule__XUnaryOperation__Group_0__2() throws RecognitionException;
+     void rule__XUnaryOperation__Group_0__2__Impl() throws RecognitionException;
+     void rule__XCastedExpression__Group__0() throws RecognitionException;
+     void rule__XCastedExpression__Group__0__Impl() throws RecognitionException;
+     void rule__XCastedExpression__Group__1() throws RecognitionException;
+     void rule__XCastedExpression__Group__1__Impl() throws RecognitionException;
+     void rule__XCastedExpression__Group_1__0() throws RecognitionException;
+     void rule__XCastedExpression__Group_1__0__Impl() throws RecognitionException;
+     void rule__XCastedExpression__Group_1__1() throws RecognitionException;
+     void rule__XCastedExpression__Group_1__1__Impl() throws RecognitionException;
+     void rule__XCastedExpression__Group_1_0__0() throws RecognitionException;
+     void rule__XCastedExpression__Group_1_0__0__Impl() throws RecognitionException;
+     void rule__XCastedExpression__Group_1_0_0__0() throws RecognitionException;
+     void rule__XCastedExpression__Group_1_0_0__0__Impl() throws RecognitionException;
+     void rule__XCastedExpression__Group_1_0_0__1() throws RecognitionException;
+     void rule__XCastedExpression__Group_1_0_0__1__Impl() throws RecognitionException;
+     void rule__XPostfixOperation__Group__0() throws RecognitionException;
+     void rule__XPostfixOperation__Group__0__Impl() throws RecognitionException;
+     void rule__XPostfixOperation__Group__1() throws RecognitionException;
+     void rule__XPostfixOperation__Group__1__Impl() throws RecognitionException;
+     void rule__XPostfixOperation__Group_1__0() throws RecognitionException;
+     void rule__XPostfixOperation__Group_1__0__Impl() throws RecognitionException;
+     void rule__XPostfixOperation__Group_1_0__0() throws RecognitionException;
+     void rule__XPostfixOperation__Group_1_0__0__Impl() throws RecognitionException;
+     void rule__XPostfixOperation__Group_1_0__1() throws RecognitionException;
+     void rule__XPostfixOperation__Group_1_0__1__Impl() throws RecognitionException;
+     void rule__XMemberFeatureCall__Group__0() throws RecognitionException;
+     void rule__XMemberFeatureCall__Group__0__Impl() throws RecognitionException;
+     void rule__XMemberFeatureCall__Group__1() throws RecognitionException;
+     void rule__XMemberFeatureCall__Group__1__Impl() throws RecognitionException;
+     void rule__XMemberFeatureCall__Group_1_0__0() throws RecognitionException;
+     void rule__XMemberFeatureCall__Group_1_0__0__Impl() throws RecognitionException;
+     void rule__XMemberFeatureCall__Group_1_0__1() throws RecognitionException;
+     void rule__XMemberFeatureCall__Group_1_0__1__Impl() throws RecognitionException;
+     void rule__XMemberFeatureCall__Group_1_0_0__0() throws RecognitionException;
+     void rule__XMemberFeatureCall__Group_1_0_0__0__Impl() throws RecognitionException;
+     void rule__XMemberFeatureCall__Group_1_0_0_0__0() throws RecognitionException;
+     void rule__XMemberFeatureCall__Group_1_0_0_0__0__Impl() throws RecognitionException;
+     void rule__XMemberFeatureCall__Group_1_0_0_0__1() throws RecognitionException;
+     void rule__XMemberFeatureCall__Group_1_0_0_0__1__Impl() throws RecognitionException;
+     void rule__XMemberFeatureCall__Group_1_0_0_0__2() throws RecognitionException;
+     void rule__XMemberFeatureCall__Group_1_0_0_0__2__Impl() throws RecognitionException;
+     void rule__XMemberFeatureCall__Group_1_0_0_0__3() throws RecognitionException;
+     void rule__XMemberFeatureCall__Group_1_0_0_0__3__Impl() throws RecognitionException;
+     void rule__XMemberFeatureCall__Group_1_1__0() throws RecognitionException;
+     void rule__XMemberFeatureCall__Group_1_1__0__Impl() throws RecognitionException;
+     void rule__XMemberFeatureCall__Group_1_1__1() throws RecognitionException;
+     void rule__XMemberFeatureCall__Group_1_1__1__Impl() throws RecognitionException;
+     void rule__XMemberFeatureCall__Group_1_1__2() throws RecognitionException;
+     void rule__XMemberFeatureCall__Group_1_1__2__Impl() throws RecognitionException;
+     void rule__XMemberFeatureCall__Group_1_1__3() throws RecognitionException;
+     void rule__XMemberFeatureCall__Group_1_1__3__Impl() throws RecognitionException;
+     void rule__XMemberFeatureCall__Group_1_1__4() throws RecognitionException;
+     void rule__XMemberFeatureCall__Group_1_1__4__Impl() throws RecognitionException;
+     void rule__XMemberFeatureCall__Group_1_1_0__0() throws RecognitionException;
+     void rule__XMemberFeatureCall__Group_1_1_0__0__Impl() throws RecognitionException;
+     void rule__XMemberFeatureCall__Group_1_1_0_0__0() throws RecognitionException;
+     void rule__XMemberFeatureCall__Group_1_1_0_0__0__Impl() throws RecognitionException;
+     void rule__XMemberFeatureCall__Group_1_1_0_0__1() throws RecognitionException;
+     void rule__XMemberFeatureCall__Group_1_1_0_0__1__Impl() throws RecognitionException;
+     void rule__XMemberFeatureCall__Group_1_1_1__0() throws RecognitionException;
+     void rule__XMemberFeatureCall__Group_1_1_1__0__Impl() throws RecognitionException;
+     void rule__XMemberFeatureCall__Group_1_1_1__1() throws RecognitionException;
+     void rule__XMemberFeatureCall__Group_1_1_1__1__Impl() throws RecognitionException;
+     void rule__XMemberFeatureCall__Group_1_1_1__2() throws RecognitionException;
+     void rule__XMemberFeatureCall__Group_1_1_1__2__Impl() throws RecognitionException;
+     void rule__XMemberFeatureCall__Group_1_1_1__3() throws RecognitionException;
+     void rule__XMemberFeatureCall__Group_1_1_1__3__Impl() throws RecognitionException;
+     void rule__XMemberFeatureCall__Group_1_1_1_2__0() throws RecognitionException;
+     void rule__XMemberFeatureCall__Group_1_1_1_2__0__Impl() throws RecognitionException;
+     void rule__XMemberFeatureCall__Group_1_1_1_2__1() throws RecognitionException;
+     void rule__XMemberFeatureCall__Group_1_1_1_2__1__Impl() throws RecognitionException;
+     void rule__XMemberFeatureCall__Group_1_1_3__0() throws RecognitionException;
+     void rule__XMemberFeatureCall__Group_1_1_3__0__Impl() throws RecognitionException;
+     void rule__XMemberFeatureCall__Group_1_1_3__1() throws RecognitionException;
+     void rule__XMemberFeatureCall__Group_1_1_3__1__Impl() throws RecognitionException;
+     void rule__XMemberFeatureCall__Group_1_1_3__2() throws RecognitionException;
+     void rule__XMemberFeatureCall__Group_1_1_3__2__Impl() throws RecognitionException;
+     void rule__XMemberFeatureCall__Group_1_1_3_1_1__0() throws RecognitionException;
+     void rule__XMemberFeatureCall__Group_1_1_3_1_1__0__Impl() throws RecognitionException;
+     void rule__XMemberFeatureCall__Group_1_1_3_1_1__1() throws RecognitionException;
+     void rule__XMemberFeatureCall__Group_1_1_3_1_1__1__Impl() throws RecognitionException;
+     void rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0() throws RecognitionException;
+     void rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0__Impl() throws RecognitionException;
+     void rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1() throws RecognitionException;
+     void rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1__Impl() throws RecognitionException;
+     void rule__XSetLiteral__Group__0() throws RecognitionException;
+     void rule__XSetLiteral__Group__0__Impl() throws RecognitionException;
+     void rule__XSetLiteral__Group__1() throws RecognitionException;
+     void rule__XSetLiteral__Group__1__Impl() throws RecognitionException;
+     void rule__XSetLiteral__Group__2() throws RecognitionException;
+     void rule__XSetLiteral__Group__2__Impl() throws RecognitionException;
+     void rule__XSetLiteral__Group__3() throws RecognitionException;
+     void rule__XSetLiteral__Group__3__Impl() throws RecognitionException;
+     void rule__XSetLiteral__Group__4() throws RecognitionException;
+     void rule__XSetLiteral__Group__4__Impl() throws RecognitionException;
+     void rule__XSetLiteral__Group_3__0() throws RecognitionException;
+     void rule__XSetLiteral__Group_3__0__Impl() throws RecognitionException;
+     void rule__XSetLiteral__Group_3__1() throws RecognitionException;
+     void rule__XSetLiteral__Group_3__1__Impl() throws RecognitionException;
+     void rule__XSetLiteral__Group_3_1__0() throws RecognitionException;
+     void rule__XSetLiteral__Group_3_1__0__Impl() throws RecognitionException;
+     void rule__XSetLiteral__Group_3_1__1() throws RecognitionException;
+     void rule__XSetLiteral__Group_3_1__1__Impl() throws RecognitionException;
+     void rule__XListLiteral__Group__0() throws RecognitionException;
+     void rule__XListLiteral__Group__0__Impl() throws RecognitionException;
+     void rule__XListLiteral__Group__1() throws RecognitionException;
+     void rule__XListLiteral__Group__1__Impl() throws RecognitionException;
+     void rule__XListLiteral__Group__2() throws RecognitionException;
+     void rule__XListLiteral__Group__2__Impl() throws RecognitionException;
+     void rule__XListLiteral__Group__3() throws RecognitionException;
+     void rule__XListLiteral__Group__3__Impl() throws RecognitionException;
+     void rule__XListLiteral__Group__4() throws RecognitionException;
+     void rule__XListLiteral__Group__4__Impl() throws RecognitionException;
+     void rule__XListLiteral__Group_3__0() throws RecognitionException;
+     void rule__XListLiteral__Group_3__0__Impl() throws RecognitionException;
+     void rule__XListLiteral__Group_3__1() throws RecognitionException;
+     void rule__XListLiteral__Group_3__1__Impl() throws RecognitionException;
+     void rule__XListLiteral__Group_3_1__0() throws RecognitionException;
+     void rule__XListLiteral__Group_3_1__0__Impl() throws RecognitionException;
+     void rule__XListLiteral__Group_3_1__1() throws RecognitionException;
+     void rule__XListLiteral__Group_3_1__1__Impl() throws RecognitionException;
+     void rule__XClosure__Group__0() throws RecognitionException;
+     void rule__XClosure__Group__0__Impl() throws RecognitionException;
+     void rule__XClosure__Group__1() throws RecognitionException;
+     void rule__XClosure__Group__1__Impl() throws RecognitionException;
+     void rule__XClosure__Group__2() throws RecognitionException;
+     void rule__XClosure__Group__2__Impl() throws RecognitionException;
+     void rule__XClosure__Group__3() throws RecognitionException;
+     void rule__XClosure__Group__3__Impl() throws RecognitionException;
+     void rule__XClosure__Group_0__0() throws RecognitionException;
+     void rule__XClosure__Group_0__0__Impl() throws RecognitionException;
+     void rule__XClosure__Group_0_0__0() throws RecognitionException;
+     void rule__XClosure__Group_0_0__0__Impl() throws RecognitionException;
+     void rule__XClosure__Group_0_0__1() throws RecognitionException;
+     void rule__XClosure__Group_0_0__1__Impl() throws RecognitionException;
+     void rule__XClosure__Group_1__0() throws RecognitionException;
+     void rule__XClosure__Group_1__0__Impl() throws RecognitionException;
+     void rule__XClosure__Group_1_0__0() throws RecognitionException;
+     void rule__XClosure__Group_1_0__0__Impl() throws RecognitionException;
+     void rule__XClosure__Group_1_0__1() throws RecognitionException;
+     void rule__XClosure__Group_1_0__1__Impl() throws RecognitionException;
+     void rule__XClosure__Group_1_0_0__0() throws RecognitionException;
+     void rule__XClosure__Group_1_0_0__0__Impl() throws RecognitionException;
+     void rule__XClosure__Group_1_0_0__1() throws RecognitionException;
+     void rule__XClosure__Group_1_0_0__1__Impl() throws RecognitionException;
+     void rule__XClosure__Group_1_0_0_1__0() throws RecognitionException;
+     void rule__XClosure__Group_1_0_0_1__0__Impl() throws RecognitionException;
+     void rule__XClosure__Group_1_0_0_1__1() throws RecognitionException;
+     void rule__XClosure__Group_1_0_0_1__1__Impl() throws RecognitionException;
+     void rule__XExpressionInClosure__Group__0() throws RecognitionException;
+     void rule__XExpressionInClosure__Group__0__Impl() throws RecognitionException;
+     void rule__XExpressionInClosure__Group__1() throws RecognitionException;
+     void rule__XExpressionInClosure__Group__1__Impl() throws RecognitionException;
+     void rule__XExpressionInClosure__Group_1__0() throws RecognitionException;
+     void rule__XExpressionInClosure__Group_1__0__Impl() throws RecognitionException;
+     void rule__XExpressionInClosure__Group_1__1() throws RecognitionException;
+     void rule__XExpressionInClosure__Group_1__1__Impl() throws RecognitionException;
+     void rule__XShortClosure__Group__0() throws RecognitionException;
+     void rule__XShortClosure__Group__0__Impl() throws RecognitionException;
+     void rule__XShortClosure__Group__1() throws RecognitionException;
+     void rule__XShortClosure__Group__1__Impl() throws RecognitionException;
+     void rule__XShortClosure__Group_0__0() throws RecognitionException;
+     void rule__XShortClosure__Group_0__0__Impl() throws RecognitionException;
+     void rule__XShortClosure__Group_0_0__0() throws RecognitionException;
+     void rule__XShortClosure__Group_0_0__0__Impl() throws RecognitionException;
+     void rule__XShortClosure__Group_0_0__1() throws RecognitionException;
+     void rule__XShortClosure__Group_0_0__1__Impl() throws RecognitionException;
+     void rule__XShortClosure__Group_0_0__2() throws RecognitionException;
+     void rule__XShortClosure__Group_0_0__2__Impl() throws RecognitionException;
+     void rule__XShortClosure__Group_0_0_1__0() throws RecognitionException;
+     void rule__XShortClosure__Group_0_0_1__0__Impl() throws RecognitionException;
+     void rule__XShortClosure__Group_0_0_1__1() throws RecognitionException;
+     void rule__XShortClosure__Group_0_0_1__1__Impl() throws RecognitionException;
+     void rule__XShortClosure__Group_0_0_1_1__0() throws RecognitionException;
+     void rule__XShortClosure__Group_0_0_1_1__0__Impl() throws RecognitionException;
+     void rule__XShortClosure__Group_0_0_1_1__1() throws RecognitionException;
+     void rule__XShortClosure__Group_0_0_1_1__1__Impl() throws RecognitionException;
+     void rule__XParenthesizedExpression__Group__0() throws RecognitionException;
+     void rule__XParenthesizedExpression__Group__0__Impl() throws RecognitionException;
+     void rule__XParenthesizedExpression__Group__1() throws RecognitionException;
+     void rule__XParenthesizedExpression__Group__1__Impl() throws RecognitionException;
+     void rule__XParenthesizedExpression__Group__2() throws RecognitionException;
+     void rule__XParenthesizedExpression__Group__2__Impl() throws RecognitionException;
+     void rule__XIfExpression__Group__0() throws RecognitionException;
+     void rule__XIfExpression__Group__0__Impl() throws RecognitionException;
+     void rule__XIfExpression__Group__1() throws RecognitionException;
+     void rule__XIfExpression__Group__1__Impl() throws RecognitionException;
+     void rule__XIfExpression__Group__2() throws RecognitionException;
+     void rule__XIfExpression__Group__2__Impl() throws RecognitionException;
+     void rule__XIfExpression__Group__3() throws RecognitionException;
+     void rule__XIfExpression__Group__3__Impl() throws RecognitionException;
+     void rule__XIfExpression__Group__4() throws RecognitionException;
+     void rule__XIfExpression__Group__4__Impl() throws RecognitionException;
+     void rule__XIfExpression__Group__5() throws RecognitionException;
+     void rule__XIfExpression__Group__5__Impl() throws RecognitionException;
+     void rule__XIfExpression__Group__6() throws RecognitionException;
+     void rule__XIfExpression__Group__6__Impl() throws RecognitionException;
+     void rule__XIfExpression__Group_6__0() throws RecognitionException;
+     void rule__XIfExpression__Group_6__0__Impl() throws RecognitionException;
+     void rule__XIfExpression__Group_6__1() throws RecognitionException;
+     void rule__XIfExpression__Group_6__1__Impl() throws RecognitionException;
+     void rule__XSwitchExpression__Group__0() throws RecognitionException;
+     void rule__XSwitchExpression__Group__0__Impl() throws RecognitionException;
+     void rule__XSwitchExpression__Group__1() throws RecognitionException;
+     void rule__XSwitchExpression__Group__1__Impl() throws RecognitionException;
+     void rule__XSwitchExpression__Group__2() throws RecognitionException;
+     void rule__XSwitchExpression__Group__2__Impl() throws RecognitionException;
+     void rule__XSwitchExpression__Group__3() throws RecognitionException;
+     void rule__XSwitchExpression__Group__3__Impl() throws RecognitionException;
+     void rule__XSwitchExpression__Group__4() throws RecognitionException;
+     void rule__XSwitchExpression__Group__4__Impl() throws RecognitionException;
+     void rule__XSwitchExpression__Group__5() throws RecognitionException;
+     void rule__XSwitchExpression__Group__5__Impl() throws RecognitionException;
+     void rule__XSwitchExpression__Group__6() throws RecognitionException;
+     void rule__XSwitchExpression__Group__6__Impl() throws RecognitionException;
+     void rule__XSwitchExpression__Group_2_0__0() throws RecognitionException;
+     void rule__XSwitchExpression__Group_2_0__0__Impl() throws RecognitionException;
+     void rule__XSwitchExpression__Group_2_0__1() throws RecognitionException;
+     void rule__XSwitchExpression__Group_2_0__1__Impl() throws RecognitionException;
+     void rule__XSwitchExpression__Group_2_0__2() throws RecognitionException;
+     void rule__XSwitchExpression__Group_2_0__2__Impl() throws RecognitionException;
+     void rule__XSwitchExpression__Group_2_0_0__0() throws RecognitionException;
+     void rule__XSwitchExpression__Group_2_0_0__0__Impl() throws RecognitionException;
+     void rule__XSwitchExpression__Group_2_0_0_0__0() throws RecognitionException;
+     void rule__XSwitchExpression__Group_2_0_0_0__0__Impl() throws RecognitionException;
+     void rule__XSwitchExpression__Group_2_0_0_0__1() throws RecognitionException;
+     void rule__XSwitchExpression__Group_2_0_0_0__1__Impl() throws RecognitionException;
+     void rule__XSwitchExpression__Group_2_0_0_0__2() throws RecognitionException;
+     void rule__XSwitchExpression__Group_2_0_0_0__2__Impl() throws RecognitionException;
+     void rule__XSwitchExpression__Group_2_1__0() throws RecognitionException;
+     void rule__XSwitchExpression__Group_2_1__0__Impl() throws RecognitionException;
+     void rule__XSwitchExpression__Group_2_1__1() throws RecognitionException;
+     void rule__XSwitchExpression__Group_2_1__1__Impl() throws RecognitionException;
+     void rule__XSwitchExpression__Group_2_1_0__0() throws RecognitionException;
+     void rule__XSwitchExpression__Group_2_1_0__0__Impl() throws RecognitionException;
+     void rule__XSwitchExpression__Group_2_1_0_0__0() throws RecognitionException;
+     void rule__XSwitchExpression__Group_2_1_0_0__0__Impl() throws RecognitionException;
+     void rule__XSwitchExpression__Group_2_1_0_0__1() throws RecognitionException;
+     void rule__XSwitchExpression__Group_2_1_0_0__1__Impl() throws RecognitionException;
+     void rule__XSwitchExpression__Group_5__0() throws RecognitionException;
+     void rule__XSwitchExpression__Group_5__0__Impl() throws RecognitionException;
+     void rule__XSwitchExpression__Group_5__1() throws RecognitionException;
+     void rule__XSwitchExpression__Group_5__1__Impl() throws RecognitionException;
+     void rule__XSwitchExpression__Group_5__2() throws RecognitionException;
+     void rule__XSwitchExpression__Group_5__2__Impl() throws RecognitionException;
+     void rule__XCasePart__Group__0() throws RecognitionException;
+     void rule__XCasePart__Group__0__Impl() throws RecognitionException;
+     void rule__XCasePart__Group__1() throws RecognitionException;
+     void rule__XCasePart__Group__1__Impl() throws RecognitionException;
+     void rule__XCasePart__Group__2() throws RecognitionException;
+     void rule__XCasePart__Group__2__Impl() throws RecognitionException;
+     void rule__XCasePart__Group__3() throws RecognitionException;
+     void rule__XCasePart__Group__3__Impl() throws RecognitionException;
+     void rule__XCasePart__Group_2__0() throws RecognitionException;
+     void rule__XCasePart__Group_2__0__Impl() throws RecognitionException;
+     void rule__XCasePart__Group_2__1() throws RecognitionException;
+     void rule__XCasePart__Group_2__1__Impl() throws RecognitionException;
+     void rule__XCasePart__Group_3_0__0() throws RecognitionException;
+     void rule__XCasePart__Group_3_0__0__Impl() throws RecognitionException;
+     void rule__XCasePart__Group_3_0__1() throws RecognitionException;
+     void rule__XCasePart__Group_3_0__1__Impl() throws RecognitionException;
+     void rule__XForLoopExpression__Group__0() throws RecognitionException;
+     void rule__XForLoopExpression__Group__0__Impl() throws RecognitionException;
+     void rule__XForLoopExpression__Group__1() throws RecognitionException;
+     void rule__XForLoopExpression__Group__1__Impl() throws RecognitionException;
+     void rule__XForLoopExpression__Group__2() throws RecognitionException;
+     void rule__XForLoopExpression__Group__2__Impl() throws RecognitionException;
+     void rule__XForLoopExpression__Group__3() throws RecognitionException;
+     void rule__XForLoopExpression__Group__3__Impl() throws RecognitionException;
+     void rule__XForLoopExpression__Group_0__0() throws RecognitionException;
+     void rule__XForLoopExpression__Group_0__0__Impl() throws RecognitionException;
+     void rule__XForLoopExpression__Group_0_0__0() throws RecognitionException;
+     void rule__XForLoopExpression__Group_0_0__0__Impl() throws RecognitionException;
+     void rule__XForLoopExpression__Group_0_0__1() throws RecognitionException;
+     void rule__XForLoopExpression__Group_0_0__1__Impl() throws RecognitionException;
+     void rule__XForLoopExpression__Group_0_0__2() throws RecognitionException;
+     void rule__XForLoopExpression__Group_0_0__2__Impl() throws RecognitionException;
+     void rule__XForLoopExpression__Group_0_0__3() throws RecognitionException;
+     void rule__XForLoopExpression__Group_0_0__3__Impl() throws RecognitionException;
+     void rule__XForLoopExpression__Group_0_0__4() throws RecognitionException;
+     void rule__XForLoopExpression__Group_0_0__4__Impl() throws RecognitionException;
+     void rule__XBasicForLoopExpression__Group__0() throws RecognitionException;
+     void rule__XBasicForLoopExpression__Group__0__Impl() throws RecognitionException;
+     void rule__XBasicForLoopExpression__Group__1() throws RecognitionException;
+     void rule__XBasicForLoopExpression__Group__1__Impl() throws RecognitionException;
+     void rule__XBasicForLoopExpression__Group__2() throws RecognitionException;
+     void rule__XBasicForLoopExpression__Group__2__Impl() throws RecognitionException;
+     void rule__XBasicForLoopExpression__Group__3() throws RecognitionException;
+     void rule__XBasicForLoopExpression__Group__3__Impl() throws RecognitionException;
+     void rule__XBasicForLoopExpression__Group__4() throws RecognitionException;
+     void rule__XBasicForLoopExpression__Group__4__Impl() throws RecognitionException;
+     void rule__XBasicForLoopExpression__Group__5() throws RecognitionException;
+     void rule__XBasicForLoopExpression__Group__5__Impl() throws RecognitionException;
+     void rule__XBasicForLoopExpression__Group__6() throws RecognitionException;
+     void rule__XBasicForLoopExpression__Group__6__Impl() throws RecognitionException;
+     void rule__XBasicForLoopExpression__Group__7() throws RecognitionException;
+     void rule__XBasicForLoopExpression__Group__7__Impl() throws RecognitionException;
+     void rule__XBasicForLoopExpression__Group__8() throws RecognitionException;
+     void rule__XBasicForLoopExpression__Group__8__Impl() throws RecognitionException;
+     void rule__XBasicForLoopExpression__Group__9() throws RecognitionException;
+     void rule__XBasicForLoopExpression__Group__9__Impl() throws RecognitionException;
+     void rule__XBasicForLoopExpression__Group_3__0() throws RecognitionException;
+     void rule__XBasicForLoopExpression__Group_3__0__Impl() throws RecognitionException;
+     void rule__XBasicForLoopExpression__Group_3__1() throws RecognitionException;
+     void rule__XBasicForLoopExpression__Group_3__1__Impl() throws RecognitionException;
+     void rule__XBasicForLoopExpression__Group_3_1__0() throws RecognitionException;
+     void rule__XBasicForLoopExpression__Group_3_1__0__Impl() throws RecognitionException;
+     void rule__XBasicForLoopExpression__Group_3_1__1() throws RecognitionException;
+     void rule__XBasicForLoopExpression__Group_3_1__1__Impl() throws RecognitionException;
+     void rule__XBasicForLoopExpression__Group_7__0() throws RecognitionException;
+     void rule__XBasicForLoopExpression__Group_7__0__Impl() throws RecognitionException;
+     void rule__XBasicForLoopExpression__Group_7__1() throws RecognitionException;
+     void rule__XBasicForLoopExpression__Group_7__1__Impl() throws RecognitionException;
+     void rule__XBasicForLoopExpression__Group_7_1__0() throws RecognitionException;
+     void rule__XBasicForLoopExpression__Group_7_1__0__Impl() throws RecognitionException;
+     void rule__XBasicForLoopExpression__Group_7_1__1() throws RecognitionException;
+     void rule__XBasicForLoopExpression__Group_7_1__1__Impl() throws RecognitionException;
+     void rule__XWhileExpression__Group__0() throws RecognitionException;
+     void rule__XWhileExpression__Group__0__Impl() throws RecognitionException;
+     void rule__XWhileExpression__Group__1() throws RecognitionException;
+     void rule__XWhileExpression__Group__1__Impl() throws RecognitionException;
+     void rule__XWhileExpression__Group__2() throws RecognitionException;
+     void rule__XWhileExpression__Group__2__Impl() throws RecognitionException;
+     void rule__XWhileExpression__Group__3() throws RecognitionException;
+     void rule__XWhileExpression__Group__3__Impl() throws RecognitionException;
+     void rule__XWhileExpression__Group__4() throws RecognitionException;
+     void rule__XWhileExpression__Group__4__Impl() throws RecognitionException;
+     void rule__XWhileExpression__Group__5() throws RecognitionException;
+     void rule__XWhileExpression__Group__5__Impl() throws RecognitionException;
+     void rule__XDoWhileExpression__Group__0() throws RecognitionException;
+     void rule__XDoWhileExpression__Group__0__Impl() throws RecognitionException;
+     void rule__XDoWhileExpression__Group__1() throws RecognitionException;
+     void rule__XDoWhileExpression__Group__1__Impl() throws RecognitionException;
+     void rule__XDoWhileExpression__Group__2() throws RecognitionException;
+     void rule__XDoWhileExpression__Group__2__Impl() throws RecognitionException;
+     void rule__XDoWhileExpression__Group__3() throws RecognitionException;
+     void rule__XDoWhileExpression__Group__3__Impl() throws RecognitionException;
+     void rule__XDoWhileExpression__Group__4() throws RecognitionException;
+     void rule__XDoWhileExpression__Group__4__Impl() throws RecognitionException;
+     void rule__XDoWhileExpression__Group__5() throws RecognitionException;
+     void rule__XDoWhileExpression__Group__5__Impl() throws RecognitionException;
+     void rule__XDoWhileExpression__Group__6() throws RecognitionException;
+     void rule__XDoWhileExpression__Group__6__Impl() throws RecognitionException;
+     void rule__XBlockExpression__Group__0() throws RecognitionException;
+     void rule__XBlockExpression__Group__0__Impl() throws RecognitionException;
+     void rule__XBlockExpression__Group__1() throws RecognitionException;
+     void rule__XBlockExpression__Group__1__Impl() throws RecognitionException;
+     void rule__XBlockExpression__Group__2() throws RecognitionException;
+     void rule__XBlockExpression__Group__2__Impl() throws RecognitionException;
+     void rule__XBlockExpression__Group__3() throws RecognitionException;
+     void rule__XBlockExpression__Group__3__Impl() throws RecognitionException;
+     void rule__XBlockExpression__Group_2__0() throws RecognitionException;
+     void rule__XBlockExpression__Group_2__0__Impl() throws RecognitionException;
+     void rule__XBlockExpression__Group_2__1() throws RecognitionException;
+     void rule__XBlockExpression__Group_2__1__Impl() throws RecognitionException;
+     void rule__XVariableDeclaration__Group__0() throws RecognitionException;
+     void rule__XVariableDeclaration__Group__0__Impl() throws RecognitionException;
+     void rule__XVariableDeclaration__Group__1() throws RecognitionException;
+     void rule__XVariableDeclaration__Group__1__Impl() throws RecognitionException;
+     void rule__XVariableDeclaration__Group__2() throws RecognitionException;
+     void rule__XVariableDeclaration__Group__2__Impl() throws RecognitionException;
+     void rule__XVariableDeclaration__Group__3() throws RecognitionException;
+     void rule__XVariableDeclaration__Group__3__Impl() throws RecognitionException;
+     void rule__XVariableDeclaration__Group_2_0__0() throws RecognitionException;
+     void rule__XVariableDeclaration__Group_2_0__0__Impl() throws RecognitionException;
+     void rule__XVariableDeclaration__Group_2_0_0__0() throws RecognitionException;
+     void rule__XVariableDeclaration__Group_2_0_0__0__Impl() throws RecognitionException;
+     void rule__XVariableDeclaration__Group_2_0_0__1() throws RecognitionException;
+     void rule__XVariableDeclaration__Group_2_0_0__1__Impl() throws RecognitionException;
+     void rule__XVariableDeclaration__Group_3__0() throws RecognitionException;
+     void rule__XVariableDeclaration__Group_3__0__Impl() throws RecognitionException;
+     void rule__XVariableDeclaration__Group_3__1() throws RecognitionException;
+     void rule__XVariableDeclaration__Group_3__1__Impl() throws RecognitionException;
+     void rule__JvmFormalParameter__Group__0() throws RecognitionException;
+     void rule__JvmFormalParameter__Group__0__Impl() throws RecognitionException;
+     void rule__JvmFormalParameter__Group__1() throws RecognitionException;
+     void rule__JvmFormalParameter__Group__1__Impl() throws RecognitionException;
+     void rule__FullJvmFormalParameter__Group__0() throws RecognitionException;
+     void rule__FullJvmFormalParameter__Group__0__Impl() throws RecognitionException;
+     void rule__FullJvmFormalParameter__Group__1() throws RecognitionException;
+     void rule__FullJvmFormalParameter__Group__1__Impl() throws RecognitionException;
+     void rule__XFeatureCall__Group__0() throws RecognitionException;
+     void rule__XFeatureCall__Group__0__Impl() throws RecognitionException;
+     void rule__XFeatureCall__Group__1() throws RecognitionException;
+     void rule__XFeatureCall__Group__1__Impl() throws RecognitionException;
+     void rule__XFeatureCall__Group__2() throws RecognitionException;
+     void rule__XFeatureCall__Group__2__Impl() throws RecognitionException;
+     void rule__XFeatureCall__Group__3() throws RecognitionException;
+     void rule__XFeatureCall__Group__3__Impl() throws RecognitionException;
+     void rule__XFeatureCall__Group__4() throws RecognitionException;
+     void rule__XFeatureCall__Group__4__Impl() throws RecognitionException;
+     void rule__XFeatureCall__Group_1__0() throws RecognitionException;
+     void rule__XFeatureCall__Group_1__0__Impl() throws RecognitionException;
+     void rule__XFeatureCall__Group_1__1() throws RecognitionException;
+     void rule__XFeatureCall__Group_1__1__Impl() throws RecognitionException;
+     void rule__XFeatureCall__Group_1__2() throws RecognitionException;
+     void rule__XFeatureCall__Group_1__2__Impl() throws RecognitionException;
+     void rule__XFeatureCall__Group_1__3() throws RecognitionException;
+     void rule__XFeatureCall__Group_1__3__Impl() throws RecognitionException;
+     void rule__XFeatureCall__Group_1_2__0() throws RecognitionException;
+     void rule__XFeatureCall__Group_1_2__0__Impl() throws RecognitionException;
+     void rule__XFeatureCall__Group_1_2__1() throws RecognitionException;
+     void rule__XFeatureCall__Group_1_2__1__Impl() throws RecognitionException;
+     void rule__XFeatureCall__Group_3__0() throws RecognitionException;
+     void rule__XFeatureCall__Group_3__0__Impl() throws RecognitionException;
+     void rule__XFeatureCall__Group_3__1() throws RecognitionException;
+     void rule__XFeatureCall__Group_3__1__Impl() throws RecognitionException;
+     void rule__XFeatureCall__Group_3__2() throws RecognitionException;
+     void rule__XFeatureCall__Group_3__2__Impl() throws RecognitionException;
+     void rule__XFeatureCall__Group_3_1_1__0() throws RecognitionException;
+     void rule__XFeatureCall__Group_3_1_1__0__Impl() throws RecognitionException;
+     void rule__XFeatureCall__Group_3_1_1__1() throws RecognitionException;
+     void rule__XFeatureCall__Group_3_1_1__1__Impl() throws RecognitionException;
+     void rule__XFeatureCall__Group_3_1_1_1__0() throws RecognitionException;
+     void rule__XFeatureCall__Group_3_1_1_1__0__Impl() throws RecognitionException;
+     void rule__XFeatureCall__Group_3_1_1_1__1() throws RecognitionException;
+     void rule__XFeatureCall__Group_3_1_1_1__1__Impl() throws RecognitionException;
+     void rule__XConstructorCall__Group__0() throws RecognitionException;
+     void rule__XConstructorCall__Group__0__Impl() throws RecognitionException;
+     void rule__XConstructorCall__Group__1() throws RecognitionException;
+     void rule__XConstructorCall__Group__1__Impl() throws RecognitionException;
+     void rule__XConstructorCall__Group__2() throws RecognitionException;
+     void rule__XConstructorCall__Group__2__Impl() throws RecognitionException;
+     void rule__XConstructorCall__Group__3() throws RecognitionException;
+     void rule__XConstructorCall__Group__3__Impl() throws RecognitionException;
+     void rule__XConstructorCall__Group__4() throws RecognitionException;
+     void rule__XConstructorCall__Group__4__Impl() throws RecognitionException;
+     void rule__XConstructorCall__Group__5() throws RecognitionException;
+     void rule__XConstructorCall__Group__5__Impl() throws RecognitionException;
+     void rule__XConstructorCall__Group_3__0() throws RecognitionException;
+     void rule__XConstructorCall__Group_3__0__Impl() throws RecognitionException;
+     void rule__XConstructorCall__Group_3__1() throws RecognitionException;
+     void rule__XConstructorCall__Group_3__1__Impl() throws RecognitionException;
+     void rule__XConstructorCall__Group_3__2() throws RecognitionException;
+     void rule__XConstructorCall__Group_3__2__Impl() throws RecognitionException;
+     void rule__XConstructorCall__Group_3__3() throws RecognitionException;
+     void rule__XConstructorCall__Group_3__3__Impl() throws RecognitionException;
+     void rule__XConstructorCall__Group_3_2__0() throws RecognitionException;
+     void rule__XConstructorCall__Group_3_2__0__Impl() throws RecognitionException;
+     void rule__XConstructorCall__Group_3_2__1() throws RecognitionException;
+     void rule__XConstructorCall__Group_3_2__1__Impl() throws RecognitionException;
+     void rule__XConstructorCall__Group_4__0() throws RecognitionException;
+     void rule__XConstructorCall__Group_4__0__Impl() throws RecognitionException;
+     void rule__XConstructorCall__Group_4__1() throws RecognitionException;
+     void rule__XConstructorCall__Group_4__1__Impl() throws RecognitionException;
+     void rule__XConstructorCall__Group_4__2() throws RecognitionException;
+     void rule__XConstructorCall__Group_4__2__Impl() throws RecognitionException;
+     void rule__XConstructorCall__Group_4_1_1__0() throws RecognitionException;
+     void rule__XConstructorCall__Group_4_1_1__0__Impl() throws RecognitionException;
+     void rule__XConstructorCall__Group_4_1_1__1() throws RecognitionException;
+     void rule__XConstructorCall__Group_4_1_1__1__Impl() throws RecognitionException;
+     void rule__XConstructorCall__Group_4_1_1_1__0() throws RecognitionException;
+     void rule__XConstructorCall__Group_4_1_1_1__0__Impl() throws RecognitionException;
+     void rule__XConstructorCall__Group_4_1_1_1__1() throws RecognitionException;
+     void rule__XConstructorCall__Group_4_1_1_1__1__Impl() throws RecognitionException;
+     void rule__XBooleanLiteral__Group__0() throws RecognitionException;
+     void rule__XBooleanLiteral__Group__0__Impl() throws RecognitionException;
+     void rule__XBooleanLiteral__Group__1() throws RecognitionException;
+     void rule__XBooleanLiteral__Group__1__Impl() throws RecognitionException;
+     void rule__XNullLiteral__Group__0() throws RecognitionException;
+     void rule__XNullLiteral__Group__0__Impl() throws RecognitionException;
+     void rule__XNullLiteral__Group__1() throws RecognitionException;
+     void rule__XNullLiteral__Group__1__Impl() throws RecognitionException;
+     void rule__XNumberLiteral__Group__0() throws RecognitionException;
+     void rule__XNumberLiteral__Group__0__Impl() throws RecognitionException;
+     void rule__XNumberLiteral__Group__1() throws RecognitionException;
+     void rule__XNumberLiteral__Group__1__Impl() throws RecognitionException;
+     void rule__XStringLiteral__Group__0() throws RecognitionException;
+     void rule__XStringLiteral__Group__0__Impl() throws RecognitionException;
+     void rule__XStringLiteral__Group__1() throws RecognitionException;
+     void rule__XStringLiteral__Group__1__Impl() throws RecognitionException;
+     void rule__XTypeLiteral__Group__0() throws RecognitionException;
+     void rule__XTypeLiteral__Group__0__Impl() throws RecognitionException;
+     void rule__XTypeLiteral__Group__1() throws RecognitionException;
+     void rule__XTypeLiteral__Group__1__Impl() throws RecognitionException;
+     void rule__XTypeLiteral__Group__2() throws RecognitionException;
+     void rule__XTypeLiteral__Group__2__Impl() throws RecognitionException;
+     void rule__XTypeLiteral__Group__3() throws RecognitionException;
+     void rule__XTypeLiteral__Group__3__Impl() throws RecognitionException;
+     void rule__XTypeLiteral__Group__4() throws RecognitionException;
+     void rule__XTypeLiteral__Group__4__Impl() throws RecognitionException;
+     void rule__XTypeLiteral__Group__5() throws RecognitionException;
+     void rule__XTypeLiteral__Group__5__Impl() throws RecognitionException;
+     void rule__XThrowExpression__Group__0() throws RecognitionException;
+     void rule__XThrowExpression__Group__0__Impl() throws RecognitionException;
+     void rule__XThrowExpression__Group__1() throws RecognitionException;
+     void rule__XThrowExpression__Group__1__Impl() throws RecognitionException;
+     void rule__XThrowExpression__Group__2() throws RecognitionException;
+     void rule__XThrowExpression__Group__2__Impl() throws RecognitionException;
+     void rule__XReturnExpression__Group__0() throws RecognitionException;
+     void rule__XReturnExpression__Group__0__Impl() throws RecognitionException;
+     void rule__XReturnExpression__Group__1() throws RecognitionException;
+     void rule__XReturnExpression__Group__1__Impl() throws RecognitionException;
+     void rule__XReturnExpression__Group__2() throws RecognitionException;
+     void rule__XReturnExpression__Group__2__Impl() throws RecognitionException;
+     void rule__XTryCatchFinallyExpression__Group__0() throws RecognitionException;
+     void rule__XTryCatchFinallyExpression__Group__0__Impl() throws RecognitionException;
+     void rule__XTryCatchFinallyExpression__Group__1() throws RecognitionException;
+     void rule__XTryCatchFinallyExpression__Group__1__Impl() throws RecognitionException;
+     void rule__XTryCatchFinallyExpression__Group__2() throws RecognitionException;
+     void rule__XTryCatchFinallyExpression__Group__2__Impl() throws RecognitionException;
+     void rule__XTryCatchFinallyExpression__Group__3() throws RecognitionException;
+     void rule__XTryCatchFinallyExpression__Group__3__Impl() throws RecognitionException;
+     void rule__XTryCatchFinallyExpression__Group_3_0__0() throws RecognitionException;
+     void rule__XTryCatchFinallyExpression__Group_3_0__0__Impl() throws RecognitionException;
+     void rule__XTryCatchFinallyExpression__Group_3_0__1() throws RecognitionException;
+     void rule__XTryCatchFinallyExpression__Group_3_0__1__Impl() throws RecognitionException;
+     void rule__XTryCatchFinallyExpression__Group_3_0_1__0() throws RecognitionException;
+     void rule__XTryCatchFinallyExpression__Group_3_0_1__0__Impl() throws RecognitionException;
+     void rule__XTryCatchFinallyExpression__Group_3_0_1__1() throws RecognitionException;
+     void rule__XTryCatchFinallyExpression__Group_3_0_1__1__Impl() throws RecognitionException;
+     void rule__XTryCatchFinallyExpression__Group_3_1__0() throws RecognitionException;
+     void rule__XTryCatchFinallyExpression__Group_3_1__0__Impl() throws RecognitionException;
+     void rule__XTryCatchFinallyExpression__Group_3_1__1() throws RecognitionException;
+     void rule__XTryCatchFinallyExpression__Group_3_1__1__Impl() throws RecognitionException;
+     void rule__XSynchronizedExpression__Group__0() throws RecognitionException;
+     void rule__XSynchronizedExpression__Group__0__Impl() throws RecognitionException;
+     void rule__XSynchronizedExpression__Group__1() throws RecognitionException;
+     void rule__XSynchronizedExpression__Group__1__Impl() throws RecognitionException;
+     void rule__XSynchronizedExpression__Group__2() throws RecognitionException;
+     void rule__XSynchronizedExpression__Group__2__Impl() throws RecognitionException;
+     void rule__XSynchronizedExpression__Group__3() throws RecognitionException;
+     void rule__XSynchronizedExpression__Group__3__Impl() throws RecognitionException;
+     void rule__XSynchronizedExpression__Group_0__0() throws RecognitionException;
+     void rule__XSynchronizedExpression__Group_0__0__Impl() throws RecognitionException;
+     void rule__XSynchronizedExpression__Group_0_0__0() throws RecognitionException;
+     void rule__XSynchronizedExpression__Group_0_0__0__Impl() throws RecognitionException;
+     void rule__XSynchronizedExpression__Group_0_0__1() throws RecognitionException;
+     void rule__XSynchronizedExpression__Group_0_0__1__Impl() throws RecognitionException;
+     void rule__XSynchronizedExpression__Group_0_0__2() throws RecognitionException;
+     void rule__XSynchronizedExpression__Group_0_0__2__Impl() throws RecognitionException;
+     void rule__XCatchClause__Group__0() throws RecognitionException;
+     void rule__XCatchClause__Group__0__Impl() throws RecognitionException;
+     void rule__XCatchClause__Group__1() throws RecognitionException;
+     void rule__XCatchClause__Group__1__Impl() throws RecognitionException;
+     void rule__XCatchClause__Group__2() throws RecognitionException;
+     void rule__XCatchClause__Group__2__Impl() throws RecognitionException;
+     void rule__XCatchClause__Group__3() throws RecognitionException;
+     void rule__XCatchClause__Group__3__Impl() throws RecognitionException;
+     void rule__XCatchClause__Group__4() throws RecognitionException;
+     void rule__XCatchClause__Group__4__Impl() throws RecognitionException;
+     void rule__Number__Group_1__0() throws RecognitionException;
+     void rule__Number__Group_1__0__Impl() throws RecognitionException;
+     void rule__Number__Group_1__1() throws RecognitionException;
+     void rule__Number__Group_1__1__Impl() throws RecognitionException;
+     void rule__Number__Group_1_1__0() throws RecognitionException;
+     void rule__Number__Group_1_1__0__Impl() throws RecognitionException;
+     void rule__Number__Group_1_1__1() throws RecognitionException;
+     void rule__Number__Group_1_1__1__Impl() throws RecognitionException;
+     void rule__JvmTypeReference__Group_0__0() throws RecognitionException;
+     void rule__JvmTypeReference__Group_0__0__Impl() throws RecognitionException;
+     void rule__JvmTypeReference__Group_0__1() throws RecognitionException;
+     void rule__JvmTypeReference__Group_0__1__Impl() throws RecognitionException;
+     void rule__JvmTypeReference__Group_0_1__0() throws RecognitionException;
+     void rule__JvmTypeReference__Group_0_1__0__Impl() throws RecognitionException;
+     void rule__JvmTypeReference__Group_0_1_0__0() throws RecognitionException;
+     void rule__JvmTypeReference__Group_0_1_0__0__Impl() throws RecognitionException;
+     void rule__JvmTypeReference__Group_0_1_0__1() throws RecognitionException;
+     void rule__JvmTypeReference__Group_0_1_0__1__Impl() throws RecognitionException;
+     void rule__ArrayBrackets__Group__0() throws RecognitionException;
+     void rule__ArrayBrackets__Group__0__Impl() throws RecognitionException;
+     void rule__ArrayBrackets__Group__1() throws RecognitionException;
+     void rule__ArrayBrackets__Group__1__Impl() throws RecognitionException;
+     void rule__XFunctionTypeRef__Group__0() throws RecognitionException;
+     void rule__XFunctionTypeRef__Group__0__Impl() throws RecognitionException;
+     void rule__XFunctionTypeRef__Group__1() throws RecognitionException;
+     void rule__XFunctionTypeRef__Group__1__Impl() throws RecognitionException;
+     void rule__XFunctionTypeRef__Group__2() throws RecognitionException;
+     void rule__XFunctionTypeRef__Group__2__Impl() throws RecognitionException;
+     void rule__XFunctionTypeRef__Group_0__0() throws RecognitionException;
+     void rule__XFunctionTypeRef__Group_0__0__Impl() throws RecognitionException;
+     void rule__XFunctionTypeRef__Group_0__1() throws RecognitionException;
+     void rule__XFunctionTypeRef__Group_0__1__Impl() throws RecognitionException;
+     void rule__XFunctionTypeRef__Group_0__2() throws RecognitionException;
+     void rule__XFunctionTypeRef__Group_0__2__Impl() throws RecognitionException;
+     void rule__XFunctionTypeRef__Group_0_1__0() throws RecognitionException;
+     void rule__XFunctionTypeRef__Group_0_1__0__Impl() throws RecognitionException;
+     void rule__XFunctionTypeRef__Group_0_1__1() throws RecognitionException;
+     void rule__XFunctionTypeRef__Group_0_1__1__Impl() throws RecognitionException;
+     void rule__XFunctionTypeRef__Group_0_1_1__0() throws RecognitionException;
+     void rule__XFunctionTypeRef__Group_0_1_1__0__Impl() throws RecognitionException;
+     void rule__XFunctionTypeRef__Group_0_1_1__1() throws RecognitionException;
+     void rule__XFunctionTypeRef__Group_0_1_1__1__Impl() throws RecognitionException;
+     void rule__JvmParameterizedTypeReference__Group__0() throws RecognitionException;
+     void rule__JvmParameterizedTypeReference__Group__0__Impl() throws RecognitionException;
+     void rule__JvmParameterizedTypeReference__Group__1() throws RecognitionException;
+     void rule__JvmParameterizedTypeReference__Group__1__Impl() throws RecognitionException;
+     void rule__JvmParameterizedTypeReference__Group_1__0() throws RecognitionException;
+     void rule__JvmParameterizedTypeReference__Group_1__0__Impl() throws RecognitionException;
+     void rule__JvmParameterizedTypeReference__Group_1__1() throws RecognitionException;
+     void rule__JvmParameterizedTypeReference__Group_1__1__Impl() throws RecognitionException;
+     void rule__JvmParameterizedTypeReference__Group_1__2() throws RecognitionException;
+     void rule__JvmParameterizedTypeReference__Group_1__2__Impl() throws RecognitionException;
+     void rule__JvmParameterizedTypeReference__Group_1__3() throws RecognitionException;
+     void rule__JvmParameterizedTypeReference__Group_1__3__Impl() throws RecognitionException;
+     void rule__JvmParameterizedTypeReference__Group_1__4() throws RecognitionException;
+     void rule__JvmParameterizedTypeReference__Group_1__4__Impl() throws RecognitionException;
+     void rule__JvmParameterizedTypeReference__Group_1_2__0() throws RecognitionException;
+     void rule__JvmParameterizedTypeReference__Group_1_2__0__Impl() throws RecognitionException;
+     void rule__JvmParameterizedTypeReference__Group_1_2__1() throws RecognitionException;
+     void rule__JvmParameterizedTypeReference__Group_1_2__1__Impl() throws RecognitionException;
+     void rule__JvmParameterizedTypeReference__Group_1_4__0() throws RecognitionException;
+     void rule__JvmParameterizedTypeReference__Group_1_4__0__Impl() throws RecognitionException;
+     void rule__JvmParameterizedTypeReference__Group_1_4__1() throws RecognitionException;
+     void rule__JvmParameterizedTypeReference__Group_1_4__1__Impl() throws RecognitionException;
+     void rule__JvmParameterizedTypeReference__Group_1_4__2() throws RecognitionException;
+     void rule__JvmParameterizedTypeReference__Group_1_4__2__Impl() throws RecognitionException;
+     void rule__JvmParameterizedTypeReference__Group_1_4_0__0() throws RecognitionException;
+     void rule__JvmParameterizedTypeReference__Group_1_4_0__0__Impl() throws RecognitionException;
+     void rule__JvmParameterizedTypeReference__Group_1_4_0_0__0() throws RecognitionException;
+     void rule__JvmParameterizedTypeReference__Group_1_4_0_0__0__Impl() throws RecognitionException;
+     void rule__JvmParameterizedTypeReference__Group_1_4_0_0__1() throws RecognitionException;
+     void rule__JvmParameterizedTypeReference__Group_1_4_0_0__1__Impl() throws RecognitionException;
+     void rule__JvmParameterizedTypeReference__Group_1_4_2__0() throws RecognitionException;
+     void rule__JvmParameterizedTypeReference__Group_1_4_2__0__Impl() throws RecognitionException;
+     void rule__JvmParameterizedTypeReference__Group_1_4_2__1() throws RecognitionException;
+     void rule__JvmParameterizedTypeReference__Group_1_4_2__1__Impl() throws RecognitionException;
+     void rule__JvmParameterizedTypeReference__Group_1_4_2__2() throws RecognitionException;
+     void rule__JvmParameterizedTypeReference__Group_1_4_2__2__Impl() throws RecognitionException;
+     void rule__JvmParameterizedTypeReference__Group_1_4_2__3() throws RecognitionException;
+     void rule__JvmParameterizedTypeReference__Group_1_4_2__3__Impl() throws RecognitionException;
+     void rule__JvmParameterizedTypeReference__Group_1_4_2_2__0() throws RecognitionException;
+     void rule__JvmParameterizedTypeReference__Group_1_4_2_2__0__Impl() throws RecognitionException;
+     void rule__JvmParameterizedTypeReference__Group_1_4_2_2__1() throws RecognitionException;
+     void rule__JvmParameterizedTypeReference__Group_1_4_2_2__1__Impl() throws RecognitionException;
+     void rule__JvmWildcardTypeReference__Group__0() throws RecognitionException;
+     void rule__JvmWildcardTypeReference__Group__0__Impl() throws RecognitionException;
+     void rule__JvmWildcardTypeReference__Group__1() throws RecognitionException;
+     void rule__JvmWildcardTypeReference__Group__1__Impl() throws RecognitionException;
+     void rule__JvmWildcardTypeReference__Group__2() throws RecognitionException;
+     void rule__JvmWildcardTypeReference__Group__2__Impl() throws RecognitionException;
+     void rule__JvmWildcardTypeReference__Group_2_0__0() throws RecognitionException;
+     void rule__JvmWildcardTypeReference__Group_2_0__0__Impl() throws RecognitionException;
+     void rule__JvmWildcardTypeReference__Group_2_0__1() throws RecognitionException;
+     void rule__JvmWildcardTypeReference__Group_2_0__1__Impl() throws RecognitionException;
+     void rule__JvmWildcardTypeReference__Group_2_1__0() throws RecognitionException;
+     void rule__JvmWildcardTypeReference__Group_2_1__0__Impl() throws RecognitionException;
+     void rule__JvmWildcardTypeReference__Group_2_1__1() throws RecognitionException;
+     void rule__JvmWildcardTypeReference__Group_2_1__1__Impl() throws RecognitionException;
+     void rule__JvmUpperBound__Group__0() throws RecognitionException;
+     void rule__JvmUpperBound__Group__0__Impl() throws RecognitionException;
+     void rule__JvmUpperBound__Group__1() throws RecognitionException;
+     void rule__JvmUpperBound__Group__1__Impl() throws RecognitionException;
+     void rule__JvmUpperBoundAnded__Group__0() throws RecognitionException;
+     void rule__JvmUpperBoundAnded__Group__0__Impl() throws RecognitionException;
+     void rule__JvmUpperBoundAnded__Group__1() throws RecognitionException;
+     void rule__JvmUpperBoundAnded__Group__1__Impl() throws RecognitionException;
+     void rule__JvmLowerBound__Group__0() throws RecognitionException;
+     void rule__JvmLowerBound__Group__0__Impl() throws RecognitionException;
+     void rule__JvmLowerBound__Group__1() throws RecognitionException;
+     void rule__JvmLowerBound__Group__1__Impl() throws RecognitionException;
+     void rule__JvmLowerBoundAnded__Group__0() throws RecognitionException;
+     void rule__JvmLowerBoundAnded__Group__0__Impl() throws RecognitionException;
+     void rule__JvmLowerBoundAnded__Group__1() throws RecognitionException;
+     void rule__JvmLowerBoundAnded__Group__1__Impl() throws RecognitionException;
+     void rule__QualifiedNameWithWildcard__Group__0() throws RecognitionException;
+     void rule__QualifiedNameWithWildcard__Group__0__Impl() throws RecognitionException;
+     void rule__QualifiedNameWithWildcard__Group__1() throws RecognitionException;
+     void rule__QualifiedNameWithWildcard__Group__1__Impl() throws RecognitionException;
+     void rule__QualifiedNameWithWildcard__Group__2() throws RecognitionException;
+     void rule__QualifiedNameWithWildcard__Group__2__Impl() throws RecognitionException;
+     void rule__XImportDeclaration__Group__0() throws RecognitionException;
+     void rule__XImportDeclaration__Group__0__Impl() throws RecognitionException;
+     void rule__XImportDeclaration__Group__1() throws RecognitionException;
+     void rule__XImportDeclaration__Group__1__Impl() throws RecognitionException;
+     void rule__XImportDeclaration__Group__2() throws RecognitionException;
+     void rule__XImportDeclaration__Group__2__Impl() throws RecognitionException;
+     void rule__XImportDeclaration__Group_1_0__0() throws RecognitionException;
+     void rule__XImportDeclaration__Group_1_0__0__Impl() throws RecognitionException;
+     void rule__XImportDeclaration__Group_1_0__1() throws RecognitionException;
+     void rule__XImportDeclaration__Group_1_0__1__Impl() throws RecognitionException;
+     void rule__XImportDeclaration__Group_1_0__2() throws RecognitionException;
+     void rule__XImportDeclaration__Group_1_0__2__Impl() throws RecognitionException;
+     void rule__XImportDeclaration__Group_1_0__3() throws RecognitionException;
+     void rule__XImportDeclaration__Group_1_0__3__Impl() throws RecognitionException;
+     void rule__QualifiedNameInStaticImport__Group__0() throws RecognitionException;
+     void rule__QualifiedNameInStaticImport__Group__0__Impl() throws RecognitionException;
+     void rule__QualifiedNameInStaticImport__Group__1() throws RecognitionException;
+     void rule__QualifiedNameInStaticImport__Group__1__Impl() throws RecognitionException;
+     void rule__EntityMockModel__PackagesAssignment() throws RecognitionException;
+     void rule__EntityMockPackage__ImportsAssignment_1() throws RecognitionException;
+     void rule__EntityMockPackage__RunPriorityAssignment_3_1() throws RecognitionException;
+     void rule__EntityMockPackage__ImportsAssignment_4_1() throws RecognitionException;
+     void rule__EntityMockPackage__DatainterchangesAssignment_5() throws RecognitionException;
+     void rule__EntityMockPackage__ResourcesAssignment_6() throws RecognitionException;
+     void rule__EntityMockPackage__ObjectsAssignment_7() throws RecognitionException;
+     void rule__EntityMockPackage__DatatypesAssignment_8() throws RecognitionException;
+     void rule__EntityMockPackage__EntitiesAssignment_9() throws RecognitionException;
+     void rule__EntityModelImport__ImportedNamespaceAssignment() throws RecognitionException;
+     void rule__RunningDataInterchanges__DatainterchangesAssignment_3() throws RecognitionException;
+     void rule__RunningDataInterchange__DatainterchangeRefAssignment_2() throws RecognitionException;
+     void rule__RunningDataInterchange__FileURLAssignment_4() throws RecognitionException;
+     void rule__EntityMockResources__ResourcesAssignment_3() throws RecognitionException;
+     void rule__EntityMockResource__NameAssignment_1() throws RecognitionException;
+     void rule__EntityMockResource__AttributesAssignment_3_2_0() throws RecognitionException;
+     void rule__EntityMockResource__DatarowsAssignment_6() throws RecognitionException;
+     void rule__EntityMockResourceAttribute__NameAssignment_1() throws RecognitionException;
+     void rule__EntityMockResourceDataRow__NameAssignment_1() throws RecognitionException;
+     void rule__EntityMockResourceDataRow__ValuesAssignment_2_1_0() throws RecognitionException;
+     void rule__EntityMockObjects__ObjectsAssignment_3() throws RecognitionException;
+     void rule__EntityMockObject__NameAssignment_1() throws RecognitionException;
+     void rule__EntityMockObject__EnumerationsAssignment_3() throws RecognitionException;
+     void rule__EntityMockObject__AttributesAssignment_4() throws RecognitionException;
+     void rule__EntityMockObject__CalculationsAssignment_5() throws RecognitionException;
+     void rule__EntityMockObjectEnum__NameAssignment_1() throws RecognitionException;
+     void rule__EntityMockObjectEnum__UsingResourceAssignment_3() throws RecognitionException;
+     void rule__EntityMockDataTypes__DatatypesAssignment_3() throws RecognitionException;
+     void rule__EntityMockObjectPlainValue__NameAssignment_1() throws RecognitionException;
+     void rule__EntityMockObjectPlainValue__ValuesAssignment_3_0() throws RecognitionException;
+     void rule__EntityMockObjectResourceValue__NameAssignment_1() throws RecognitionException;
+     void rule__EntityMockObjectResourceValue__ResourceEnumAssignment_3() throws RecognitionException;
+     void rule__EntityMockObjectResourceValue__ResourceAttributeAssignment_4_1() throws RecognitionException;
+     void rule__EntityMockObjectArrayValue__NameAssignment_1() throws RecognitionException;
+     void rule__EntityMockObjectArrayValue__EnumerationAssignment_3() throws RecognitionException;
+     void rule__EntityMockObjectArrayValue__ItemsAssignment_5() throws RecognitionException;
+     void rule__EntityMockObjectItemValue__DatarowAssignment_1() throws RecognitionException;
+     void rule__EntityMockObjectItemValue__ValuesAssignment_3_0() throws RecognitionException;
+     void rule__EntityMockObjectEmbed__NameAssignment_2() throws RecognitionException;
+     void rule__EntityMockObjectEmbed__ObjectAssignment_4() throws RecognitionException;
+     void rule__EntityMockObjectFunction__NameAssignment_1() throws RecognitionException;
+     void rule__EntityMockObjectFunction__OftypeAssignment_3() throws RecognitionException;
+     void rule__EntityMockObjectFunction__ParamsAssignment_6_0() throws RecognitionException;
+     void rule__EntityMockObjectFunction__ParamsAssignment_6_1_1() throws RecognitionException;
+     void rule__EntityMockObjectFunction__BodyAssignment_8() throws RecognitionException;
+     void rule__EntityMockObjectFunctionParameter__ParameterTypeAssignment_0() throws RecognitionException;
+     void rule__EntityMockObjectFunctionParameter__NameAssignment_1() throws RecognitionException;
+     void rule__EntityMockObjectFill__NameAssignment_1() throws RecognitionException;
+     void rule__EntityMockObjectFill__FillerTypeAssignment_3() throws RecognitionException;
+     void rule__PropertyFillerDateFuture__DateFutureYearsAssignment_1() throws RecognitionException;
+     void rule__PropertyFillerDatePast__DatePastYearsAssignment_1() throws RecognitionException;
+     void rule__PropertyFillerDateRange__DateBeginYearsAssignment_1() throws RecognitionException;
+     void rule__PropertyFillerDateRange__DateEndYearsAssignment_3() throws RecognitionException;
+     void rule__PropertyFillerSignedDoubleRange__BeginRangeAssignment_1_0_0() throws RecognitionException;
+     void rule__PropertyFillerSignedDoubleRange__BeginRangeRefAssignment_1_0_1() throws RecognitionException;
+     void rule__PropertyFillerSignedDoubleRange__EndRangeAssignment_1_2_0() throws RecognitionException;
+     void rule__PropertyFillerSignedDoubleRange__EndRangeRefAssignment_1_2_1() throws RecognitionException;
+     void rule__PropertyFillerSignedDoubleRange__DecimalsAssignment_3() throws RecognitionException;
+     void rule__PropertyFillerSignedDoubleRange__RoundedAssignment_5_1() throws RecognitionException;
+     void rule__PropertyFillerSignedDoubleRandom__ItemsAssignment_2() throws RecognitionException;
+     void rule__PropertyFillerSignedIntegerRange__BeginRangeAssignment_2_0_0() throws RecognitionException;
+     void rule__PropertyFillerSignedIntegerRange__BeginRangeRefAssignment_2_0_1() throws RecognitionException;
+     void rule__PropertyFillerSignedIntegerRange__EndRangeAssignment_2_2_0() throws RecognitionException;
+     void rule__PropertyFillerSignedIntegerRange__EndRangeRefAssignment_2_2_1() throws RecognitionException;
+     void rule__PropertyFillerSignedIntegerRange__RoundedAssignment_3_1() throws RecognitionException;
+     void rule__PropertyFillerSignedIntegerRandom__ItemsAssignment_2() throws RecognitionException;
+     void rule__PropertyFillerTextRandom__ItemsAssignment_2() throws RecognitionException;
+     void rule__PropertyFillerTextParagraphs__CountAssignment_2() throws RecognitionException;
+     void rule__PropertyFillerTextSentences__CountAssignment_2() throws RecognitionException;
+     void rule__PropertyFillerTextWords__CountAssignment_2() throws RecognitionException;
+     void rule__PropertyFillerUnsignedDoubleRange__BeginRangeAssignment_1_0_0() throws RecognitionException;
+     void rule__PropertyFillerUnsignedDoubleRange__BeginRangeRefAssignment_1_0_1() throws RecognitionException;
+     void rule__PropertyFillerUnsignedDoubleRange__EndRangeAssignment_1_2_0() throws RecognitionException;
+     void rule__PropertyFillerUnsignedDoubleRange__EndRangeRefAssignment_1_2_1() throws RecognitionException;
+     void rule__PropertyFillerUnsignedDoubleRange__DecimalsAssignment_3() throws RecognitionException;
+     void rule__PropertyFillerUnsignedDoubleRange__RoundedAssignment_5_1() throws RecognitionException;
+     void rule__PropertyFillerUnsignedDoubleRandom__ItemsAssignment_2() throws RecognitionException;
+     void rule__PropertyFillerUnsignedIntegerRange__BeginRangeAssignment_2_0_0() throws RecognitionException;
+     void rule__PropertyFillerUnsignedIntegerRange__BeginRangeRefAssignment_2_0_1() throws RecognitionException;
+     void rule__PropertyFillerUnsignedIntegerRange__EndRangeAssignment_2_2_0() throws RecognitionException;
+     void rule__PropertyFillerUnsignedIntegerRange__EndRangeRefAssignment_2_2_1() throws RecognitionException;
+     void rule__PropertyFillerUnsignedIntegerRange__RoundedAssignment_3_1() throws RecognitionException;
+     void rule__PropertyFillerUnsignedIntegerRandom__ItemsAssignment_2() throws RecognitionException;
+     void rule__EntityMockDataType__NameAssignment_1() throws RecognitionException;
+     void rule__EntityMockEntities__EntitiesAssignment_3() throws RecognitionException;
+     void rule__EntityMockEntity__NameAssignment_1() throws RecognitionException;
+     void rule__EntityMockEntity__EntityRefAssignment_3() throws RecognitionException;
+     void rule__EntityMockEntity__MinRowsAssignment_4_0_1() throws RecognitionException;
+     void rule__EntityMockEntity__MaxRowsAssignment_4_0_3() throws RecognitionException;
+     void rule__EntityMockEntity__TemporariesAssignment_4_0_5() throws RecognitionException;
+     void rule__EntityMockEntity__AttributesAssignment_4_0_6() throws RecognitionException;
+     void rule__EntityMockEntity__CalculationsAssignment_4_0_7() throws RecognitionException;
+     void rule__EntityMockEntity__ByResourceAssignment_4_1_1() throws RecognitionException;
+     void rule__EntityMockEntity__ByResourceAttributesAssignment_4_1_3() throws RecognitionException;
+     void rule__EntityMockEntity__CreateBlobMappingAssignment_4_1_4() throws RecognitionException;
+     void rule__EntityMockEntity__IteratorAssignment_4_2_1() throws RecognitionException;
+     void rule__EntityMockEntity__IterateAssignment_4_2_3() throws RecognitionException;
+     void rule__EntityMockEntity__TemporariesAssignment_4_2_5() throws RecognitionException;
+     void rule__EntityMockEntity__AttributesAssignment_4_2_6() throws RecognitionException;
+     void rule__EntityMockEntity__CalculationsAssignment_4_2_7() throws RecognitionException;
+     void rule__IntegerIterate__FromAssignment_1() throws RecognitionException;
+     void rule__IntegerIterate__UntilAssignment_3() throws RecognitionException;
+     void rule__IntegerIterate__StepAssignment_5() throws RecognitionException;
+     void rule__DateIterate__FromAssignment_1() throws RecognitionException;
+     void rule__DateIterate__UntilAssignment_3() throws RecognitionException;
+     void rule__DateIterate__StepCountAssignment_5() throws RecognitionException;
+     void rule__DateIterate__StepTypeAssignment_6() throws RecognitionException;
+     void rule__Date__YesterdayAssignment_0() throws RecognitionException;
+     void rule__Date__TodayAssignment_1() throws RecognitionException;
+     void rule__Date__TomorrowAssignment_2() throws RecognitionException;
+     void rule__Date__YearAssignment_3_0() throws RecognitionException;
+     void rule__Date__MonthAssignment_3_2() throws RecognitionException;
+     void rule__Date__DayAssignment_3_4() throws RecognitionException;
+     void rule__EntityMockByResourceAttribute__AttributeRefAssignment_2() throws RecognitionException;
+     void rule__EntityMockByResourceAttribute__ResourceAttributeAssignment_4() throws RecognitionException;
+     void rule__EntityMockTemporary__NameAssignment_1() throws RecognitionException;
+     void rule__EntityMockTemporary__ObjectAssignment_3() throws RecognitionException;
+     void rule__EntityMockEntityFunction__AttributeRefAssignment_1() throws RecognitionException;
+     void rule__EntityMockEntityFunction__ParamsAssignment_4_0() throws RecognitionException;
+     void rule__EntityMockEntityFunction__ParamsAssignment_4_1_1() throws RecognitionException;
+     void rule__EntityMockEntityFunction__BodyAssignment_6() throws RecognitionException;
+     void rule__EntityMockEntityFunctionParameter__AttributeRefAssignment_0() throws RecognitionException;
+     void rule__EntityMockEntityFunctionParameter__ReferencePathsAssignment_1_0() throws RecognitionException;
+     void rule__EntityMockEntityFunctionParameter__ReferencePathsAssignment_1_1_1() throws RecognitionException;
+     void rule__EntityMockEntityFunctionParameter__ReferenceRefAssignment_1_3() throws RecognitionException;
+     void rule__EntityMockReferencedObjectAttribute__TemporaryAssignment_1() throws RecognitionException;
+     void rule__EntityMockReferencedObjectAttribute__EmbeddedAssignment_2_1() throws RecognitionException;
+     void rule__EntityMockReferencedObjectAttribute__AttributeAssignment_4() throws RecognitionException;
+     void rule__EntityMockAttributeByObject__AttributeRefAssignment_0_1() throws RecognitionException;
+     void rule__EntityMockAttributeByObject__ReferenceAssignment_0_2_1() throws RecognitionException;
+     void rule__EntityMockAttributeByObject__ResourceEnumAssignment_1_1() throws RecognitionException;
+     void rule__EntityMockAttributeByObject__ResourceAttributeAssignment_1_3() throws RecognitionException;
+     void rule__EntityMockAttributeFiller__AttributeRefAssignment_1() throws RecognitionException;
+     void rule__EntityMockAttributeFiller__FillerTypeAssignment_3() throws RecognitionException;
+     void rule__EntityMockAttributeByReference__AttributeRefAssignment_1() throws RecognitionException;
+     void rule__EntityMockAttributeByReference__MockedEntityAssignment_3_1() throws RecognitionException;
+     void rule__EntityMockAttributeByReference__OptionalForAssignment_4_1() throws RecognitionException;
+     void rule__XAnnotation__AnnotationTypeAssignment_2() throws RecognitionException;
+     void rule__XAnnotation__ElementValuePairsAssignment_3_1_0_0() throws RecognitionException;
+     void rule__XAnnotation__ElementValuePairsAssignment_3_1_0_1_1() throws RecognitionException;
+     void rule__XAnnotation__ValueAssignment_3_1_1() throws RecognitionException;
+     void rule__XAnnotationElementValuePair__ElementAssignment_0_0_0() throws RecognitionException;
+     void rule__XAnnotationElementValuePair__ValueAssignment_1() throws RecognitionException;
+     void rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_0() throws RecognitionException;
+     void rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_1_1() throws RecognitionException;
+     void rule__XAnnotationElementValueOrCommaList__ElementsAssignment_1_1_1_1() throws RecognitionException;
+     void rule__XAnnotationElementValue__ElementsAssignment_0_1_0() throws RecognitionException;
+     void rule__XAnnotationElementValue__ElementsAssignment_0_1_1_1() throws RecognitionException;
+     void rule__XAssignment__FeatureAssignment_0_1() throws RecognitionException;
+     void rule__XAssignment__ValueAssignment_0_3() throws RecognitionException;
+     void rule__XAssignment__FeatureAssignment_1_1_0_0_1() throws RecognitionException;
+     void rule__XAssignment__RightOperandAssignment_1_1_1() throws RecognitionException;
+     void rule__XOrExpression__FeatureAssignment_1_0_0_1() throws RecognitionException;
+     void rule__XOrExpression__RightOperandAssignment_1_1() throws RecognitionException;
+     void rule__XAndExpression__FeatureAssignment_1_0_0_1() throws RecognitionException;
+     void rule__XAndExpression__RightOperandAssignment_1_1() throws RecognitionException;
+     void rule__XEqualityExpression__FeatureAssignment_1_0_0_1() throws RecognitionException;
+     void rule__XEqualityExpression__RightOperandAssignment_1_1() throws RecognitionException;
+     void rule__XRelationalExpression__TypeAssignment_1_0_1() throws RecognitionException;
+     void rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1() throws RecognitionException;
+     void rule__XRelationalExpression__RightOperandAssignment_1_1_1() throws RecognitionException;
+     void rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1() throws RecognitionException;
+     void rule__XOtherOperatorExpression__RightOperandAssignment_1_1() throws RecognitionException;
+     void rule__XAdditiveExpression__FeatureAssignment_1_0_0_1() throws RecognitionException;
+     void rule__XAdditiveExpression__RightOperandAssignment_1_1() throws RecognitionException;
+     void rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1() throws RecognitionException;
+     void rule__XMultiplicativeExpression__RightOperandAssignment_1_1() throws RecognitionException;
+     void rule__XUnaryOperation__FeatureAssignment_0_1() throws RecognitionException;
+     void rule__XUnaryOperation__OperandAssignment_0_2() throws RecognitionException;
+     void rule__XCastedExpression__TypeAssignment_1_1() throws RecognitionException;
+     void rule__XPostfixOperation__FeatureAssignment_1_0_1() throws RecognitionException;
+     void rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1() throws RecognitionException;
+     void rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2() throws RecognitionException;
+     void rule__XMemberFeatureCall__ValueAssignment_1_0_1() throws RecognitionException;
+     void rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1() throws RecognitionException;
+     void rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2() throws RecognitionException;
+     void rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1() throws RecognitionException;
+     void rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1() throws RecognitionException;
+     void rule__XMemberFeatureCall__FeatureAssignment_1_1_2() throws RecognitionException;
+     void rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0() throws RecognitionException;
+     void rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0() throws RecognitionException;
+     void rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0() throws RecognitionException;
+     void rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1() throws RecognitionException;
+     void rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4() throws RecognitionException;
+     void rule__XSetLiteral__ElementsAssignment_3_0() throws RecognitionException;
+     void rule__XSetLiteral__ElementsAssignment_3_1_1() throws RecognitionException;
+     void rule__XListLiteral__ElementsAssignment_3_0() throws RecognitionException;
+     void rule__XListLiteral__ElementsAssignment_3_1_1() throws RecognitionException;
+     void rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0() throws RecognitionException;
+     void rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1() throws RecognitionException;
+     void rule__XClosure__ExplicitSyntaxAssignment_1_0_1() throws RecognitionException;
+     void rule__XClosure__ExpressionAssignment_2() throws RecognitionException;
+     void rule__XExpressionInClosure__ExpressionsAssignment_1_0() throws RecognitionException;
+     void rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0() throws RecognitionException;
+     void rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1() throws RecognitionException;
+     void rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2() throws RecognitionException;
+     void rule__XShortClosure__ExpressionAssignment_1() throws RecognitionException;
+     void rule__XIfExpression__IfAssignment_3() throws RecognitionException;
+     void rule__XIfExpression__ThenAssignment_5() throws RecognitionException;
+     void rule__XIfExpression__ElseAssignment_6_1() throws RecognitionException;
+     void rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1() throws RecognitionException;
+     void rule__XSwitchExpression__SwitchAssignment_2_0_1() throws RecognitionException;
+     void rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0() throws RecognitionException;
+     void rule__XSwitchExpression__SwitchAssignment_2_1_1() throws RecognitionException;
+     void rule__XSwitchExpression__CasesAssignment_4() throws RecognitionException;
+     void rule__XSwitchExpression__DefaultAssignment_5_2() throws RecognitionException;
+     void rule__XCasePart__TypeGuardAssignment_1() throws RecognitionException;
+     void rule__XCasePart__CaseAssignment_2_1() throws RecognitionException;
+     void rule__XCasePart__ThenAssignment_3_0_1() throws RecognitionException;
+     void rule__XCasePart__FallThroughAssignment_3_1() throws RecognitionException;
+     void rule__XForLoopExpression__DeclaredParamAssignment_0_0_3() throws RecognitionException;
+     void rule__XForLoopExpression__ForExpressionAssignment_1() throws RecognitionException;
+     void rule__XForLoopExpression__EachExpressionAssignment_3() throws RecognitionException;
+     void rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0() throws RecognitionException;
+     void rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1() throws RecognitionException;
+     void rule__XBasicForLoopExpression__ExpressionAssignment_5() throws RecognitionException;
+     void rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0() throws RecognitionException;
+     void rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1() throws RecognitionException;
+     void rule__XBasicForLoopExpression__EachExpressionAssignment_9() throws RecognitionException;
+     void rule__XWhileExpression__PredicateAssignment_3() throws RecognitionException;
+     void rule__XWhileExpression__BodyAssignment_5() throws RecognitionException;
+     void rule__XDoWhileExpression__BodyAssignment_2() throws RecognitionException;
+     void rule__XDoWhileExpression__PredicateAssignment_5() throws RecognitionException;
+     void rule__XBlockExpression__ExpressionsAssignment_2_0() throws RecognitionException;
+     void rule__XVariableDeclaration__WriteableAssignment_1_0() throws RecognitionException;
+     void rule__XVariableDeclaration__TypeAssignment_2_0_0_0() throws RecognitionException;
+     void rule__XVariableDeclaration__NameAssignment_2_0_0_1() throws RecognitionException;
+     void rule__XVariableDeclaration__NameAssignment_2_1() throws RecognitionException;
+     void rule__XVariableDeclaration__RightAssignment_3_1() throws RecognitionException;
+     void rule__JvmFormalParameter__ParameterTypeAssignment_0() throws RecognitionException;
+     void rule__JvmFormalParameter__NameAssignment_1() throws RecognitionException;
+     void rule__FullJvmFormalParameter__ParameterTypeAssignment_0() throws RecognitionException;
+     void rule__FullJvmFormalParameter__NameAssignment_1() throws RecognitionException;
+     void rule__XFeatureCall__TypeArgumentsAssignment_1_1() throws RecognitionException;
+     void rule__XFeatureCall__TypeArgumentsAssignment_1_2_1() throws RecognitionException;
+     void rule__XFeatureCall__FeatureAssignment_2() throws RecognitionException;
+     void rule__XFeatureCall__ExplicitOperationCallAssignment_3_0() throws RecognitionException;
+     void rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0() throws RecognitionException;
+     void rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0() throws RecognitionException;
+     void rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1() throws RecognitionException;
+     void rule__XFeatureCall__FeatureCallArgumentsAssignment_4() throws RecognitionException;
+     void rule__XConstructorCall__ConstructorAssignment_2() throws RecognitionException;
+     void rule__XConstructorCall__TypeArgumentsAssignment_3_1() throws RecognitionException;
+     void rule__XConstructorCall__TypeArgumentsAssignment_3_2_1() throws RecognitionException;
+     void rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0() throws RecognitionException;
+     void rule__XConstructorCall__ArgumentsAssignment_4_1_0() throws RecognitionException;
+     void rule__XConstructorCall__ArgumentsAssignment_4_1_1_0() throws RecognitionException;
+     void rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1() throws RecognitionException;
+     void rule__XConstructorCall__ArgumentsAssignment_5() throws RecognitionException;
+     void rule__XBooleanLiteral__IsTrueAssignment_1_1() throws RecognitionException;
+     void rule__XNumberLiteral__ValueAssignment_1() throws RecognitionException;
+     void rule__XStringLiteral__ValueAssignment_1() throws RecognitionException;
+     void rule__XTypeLiteral__TypeAssignment_3() throws RecognitionException;
+     void rule__XTypeLiteral__ArrayDimensionsAssignment_4() throws RecognitionException;
+     void rule__XThrowExpression__ExpressionAssignment_2() throws RecognitionException;
+     void rule__XReturnExpression__ExpressionAssignment_2() throws RecognitionException;
+     void rule__XTryCatchFinallyExpression__ExpressionAssignment_2() throws RecognitionException;
+     void rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0() throws RecognitionException;
+     void rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1() throws RecognitionException;
+     void rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1() throws RecognitionException;
+     void rule__XSynchronizedExpression__ParamAssignment_1() throws RecognitionException;
+     void rule__XSynchronizedExpression__ExpressionAssignment_3() throws RecognitionException;
+     void rule__XCatchClause__DeclaredParamAssignment_2() throws RecognitionException;
+     void rule__XCatchClause__ExpressionAssignment_4() throws RecognitionException;
+     void rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0() throws RecognitionException;
+     void rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1() throws RecognitionException;
+     void rule__XFunctionTypeRef__ReturnTypeAssignment_2() throws RecognitionException;
+     void rule__JvmParameterizedTypeReference__TypeAssignment_0() throws RecognitionException;
+     void rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1() throws RecognitionException;
+     void rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1() throws RecognitionException;
+     void rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1() throws RecognitionException;
+     void rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1() throws RecognitionException;
+     void rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1() throws RecognitionException;
+     void rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0() throws RecognitionException;
+     void rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1() throws RecognitionException;
+     void rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0() throws RecognitionException;
+     void rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1() throws RecognitionException;
+     void rule__JvmUpperBound__TypeReferenceAssignment_1() throws RecognitionException;
+     void rule__JvmUpperBoundAnded__TypeReferenceAssignment_1() throws RecognitionException;
+     void rule__JvmLowerBound__TypeReferenceAssignment_1() throws RecognitionException;
+     void rule__JvmLowerBoundAnded__TypeReferenceAssignment_1() throws RecognitionException;
+     void rule__XImportDeclaration__StaticAssignment_1_0_0() throws RecognitionException;
+     void rule__XImportDeclaration__ExtensionAssignment_1_0_1() throws RecognitionException;
+     void rule__XImportDeclaration__ImportedTypeAssignment_1_0_2() throws RecognitionException;
+     void rule__XImportDeclaration__WildcardAssignment_1_0_3_0() throws RecognitionException;
+     void rule__XImportDeclaration__MemberNameAssignment_1_0_3_1() throws RecognitionException;
+     void rule__XImportDeclaration__ImportedTypeAssignment_1_1() throws RecognitionException;
+     void rule__XImportDeclaration__ImportedNamespaceAssignment_1_2() throws RecognitionException;
+     void synpred41_InternalEntityMockDSL_fragment() throws RecognitionException;   
+     void synpred42_InternalEntityMockDSL_fragment() throws RecognitionException;   
+     void synpred43_InternalEntityMockDSL_fragment() throws RecognitionException;   
+     void synpred68_InternalEntityMockDSL_fragment() throws RecognitionException;   
+     void synpred69_InternalEntityMockDSL_fragment() throws RecognitionException;   
+     void synpred82_InternalEntityMockDSL_fragment() throws RecognitionException;   
+     void synpred90_InternalEntityMockDSL_fragment() throws RecognitionException;   
+     void synpred91_InternalEntityMockDSL_fragment() throws RecognitionException;   
+     void synpred104_InternalEntityMockDSL_fragment() throws RecognitionException;   
+     void synpred108_InternalEntityMockDSL_fragment() throws RecognitionException;   
+     void synpred109_InternalEntityMockDSL_fragment() throws RecognitionException;   
+     void synpred115_InternalEntityMockDSL_fragment() throws RecognitionException;   
+     void synpred198_InternalEntityMockDSL_fragment() throws RecognitionException;   
+     void synpred208_InternalEntityMockDSL_fragment() throws RecognitionException;   
+     void synpred210_InternalEntityMockDSL_fragment() throws RecognitionException;   
+     void synpred211_InternalEntityMockDSL_fragment() throws RecognitionException;   
+     void synpred212_InternalEntityMockDSL_fragment() throws RecognitionException;   
+     void synpred213_InternalEntityMockDSL_fragment() throws RecognitionException;   
+     void synpred214_InternalEntityMockDSL_fragment() throws RecognitionException;   
+     void synpred215_InternalEntityMockDSL_fragment() throws RecognitionException;   
+     void synpred216_InternalEntityMockDSL_fragment() throws RecognitionException;   
+     void synpred217_InternalEntityMockDSL_fragment() throws RecognitionException;   
+     void synpred218_InternalEntityMockDSL_fragment() throws RecognitionException;   
+     void synpred219_InternalEntityMockDSL_fragment() throws RecognitionException;   
+     void synpred221_InternalEntityMockDSL_fragment() throws RecognitionException;   
+     void synpred222_InternalEntityMockDSL_fragment() throws RecognitionException;   
+     void synpred230_InternalEntityMockDSL_fragment() throws RecognitionException;   
+     void synpred237_InternalEntityMockDSL_fragment() throws RecognitionException;   
+     void synpred240_InternalEntityMockDSL_fragment() throws RecognitionException;   
+     void synpred253_InternalEntityMockDSL_fragment() throws RecognitionException;   
+     void synpred254_InternalEntityMockDSL_fragment() throws RecognitionException;   
+     void synpred258_InternalEntityMockDSL_fragment() throws RecognitionException;   
+     void synpred259_InternalEntityMockDSL_fragment() throws RecognitionException;   
+     void synpred260_InternalEntityMockDSL_fragment() throws RecognitionException;   
+     void synpred265_InternalEntityMockDSL_fragment() throws RecognitionException;   
+     void synpred266_InternalEntityMockDSL_fragment() throws RecognitionException;   
+     void synpred267_InternalEntityMockDSL_fragment() throws RecognitionException;   
+     void synpred269_InternalEntityMockDSL_fragment() throws RecognitionException;   
+     void synpred273_InternalEntityMockDSL_fragment() throws RecognitionException;   
+     void synpred275_InternalEntityMockDSL_fragment() throws RecognitionException;   
+     void synpred276_InternalEntityMockDSL_fragment() throws RecognitionException;   
+}
+
+@SuppressWarnings("all")
+abstract class InternalEntityMockDSLParser1 extends AbstractInternalContentAssistParser implements InternalEntityMockDSLParserSignatures {
+
+        InternalEntityMockDSLParser1(TokenStream input) {
+            this(input, new RecognizerSharedState());
+        }
+
+        InternalEntityMockDSLParser1(TokenStream input, RecognizerSharedState state) {
+            super(input, state);
+        }
+
+    public static final String[] tokenNames = new String[] {
+        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_HEX", "RULE_INT", "RULE_DECIMAL", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'='", "'||'", "'&&'", "'existing entities'", "'+='", "'-='", "'*='", "'/='", "'%='", "'=='", "'!='", "'==='", "'!=='", "'>='", "'>'", "'<'", "'->'", "'..<'", "'..'", "'=>'", "'<>'", "'?:'", "'+'", "'-'", "'*'", "'**'", "'/'", "'%'", "'!'", "'++'", "'--'", "'.'", "'val'", "'extends'", "'static'", "'import'", "'extension'", "'super'", "'false'", "'days'", "'weeks'", "'months'", "'years'", "'mock entitymodel for'", "'{'", "'}'", "'run with priority'", "'datainterchanges'", "'datainterchange import'", "'from file'", "'resources'", "'resource'", "'items'", "'attributes'", "'('", "')'", "','", "'objects'", "'object'", "'var'", "'by enum'", "'datatypes'", "'with'", "'switch on'", "'when'", "'embed'", "'defined as'", "'calculate as'", "'based on'", "'randomize'", "'future date'", "'past date'", "'boolean'", "'date in range'", "'up to and including'", "'signed double in range'", "'decimals'", "'round to'", "'signed double from'", "'signed integer in range'", "'signed integer from'", "'text from'", "'paragraps'", "'sentences'", "'words'", "'unsigned double in range'", "'unsigned double from'", "'unsigned integer in range'", "'unsigned integer from'", "'datatype'", "'mock entities'", "'mocking'", "'for entity'", "'rows'", "'to'", "'by resource'", "'iterate'", "'integer from'", "'until'", "'step'", "'date from'", "'every'", "'as'", "'temporary'", "'by object'", "'calculate based on'", "'using'", "'ref'", "'optional for'", "'percent'", "'@'", "']'", "'#'", "'['", "'instanceof'", "';'", "'if'", "'else'", "'switch'", "':'", "'default'", "'case'", "'for'", "'while'", "'do'", "'new'", "'null'", "'typeof'", "'throw'", "'return'", "'try'", "'finally'", "'synchronized'", "'catch'", "'?'", "'&'", "'createBlobMapping'", "'yesterday'", "'today'", "'tomorrow'", "'::'", "'?.'", "'|'", "'true'"
+    };
+    public static final int T__144=144;
+    public static final int T__143=143;
+    public static final int T__146=146;
+    public static final int RULE_HEX=5;
+    public static final int T__50=50;
+    public static final int T__145=145;
+    public static final int T__140=140;
+    public static final int T__142=142;
+    public static final int T__141=141;
+    public static final int T__59=59;
+    public static final int T__55=55;
+    public static final int T__56=56;
+    public static final int T__57=57;
+    public static final int T__58=58;
+    public static final int T__51=51;
+    public static final int T__137=137;
+    public static final int T__52=52;
+    public static final int T__136=136;
+    public static final int T__53=53;
+    public static final int T__139=139;
+    public static final int T__54=54;
+    public static final int T__138=138;
+    public static final int T__133=133;
+    public static final int T__132=132;
+    public static final int T__60=60;
+    public static final int T__135=135;
+    public static final int T__61=61;
+    public static final int T__134=134;
+    public static final int RULE_ID=4;
+    public static final int T__131=131;
+    public static final int T__130=130;
+    public static final int RULE_INT=6;
+    public static final int T__66=66;
+    public static final int RULE_ML_COMMENT=9;
+    public static final int T__67=67;
+    public static final int T__129=129;
+    public static final int T__68=68;
+    public static final int T__69=69;
+    public static final int T__62=62;
+    public static final int T__126=126;
+    public static final int T__63=63;
+    public static final int T__125=125;
+    public static final int T__64=64;
+    public static final int T__128=128;
+    public static final int T__65=65;
+    public static final int T__127=127;
+    public static final int T__37=37;
+    public static final int T__38=38;
+    public static final int T__39=39;
+    public static final int T__33=33;
+    public static final int T__34=34;
+    public static final int T__35=35;
+    public static final int T__36=36;
+    public static final int T__30=30;
+    public static final int T__31=31;
+    public static final int T__32=32;
+    public static final int T__155=155;
+    public static final int T__154=154;
+    public static final int T__156=156;
+    public static final int T__151=151;
+    public static final int T__150=150;
+    public static final int T__153=153;
+    public static final int T__152=152;
+    public static final int T__48=48;
+    public static final int T__49=49;
+    public static final int T__44=44;
+    public static final int T__45=45;
+    public static final int T__46=46;
+    public static final int T__47=47;
+    public static final int T__40=40;
+    public static final int T__148=148;
+    public static final int T__41=41;
+    public static final int T__147=147;
+    public static final int T__42=42;
+    public static final int T__43=43;
+    public static final int T__149=149;
+    public static final int T__91=91;
+    public static final int T__100=100;
+    public static final int T__92=92;
+    public static final int T__93=93;
+    public static final int T__102=102;
+    public static final int T__94=94;
+    public static final int T__101=101;
+    public static final int T__90=90;
+    public static final int T__19=19;
+    public static final int T__15=15;
+    public static final int T__16=16;
+    public static final int T__17=17;
+    public static final int T__18=18;
+    public static final int T__99=99;
+    public static final int T__13=13;
+    public static final int T__14=14;
+    public static final int T__95=95;
+    public static final int T__96=96;
+    public static final int T__97=97;
+    public static final int T__98=98;
+    public static final int RULE_DECIMAL=7;
+    public static final int T__26=26;
+    public static final int T__27=27;
+    public static final int T__28=28;
+    public static final int T__29=29;
+    public static final int T__22=22;
+    public static final int T__23=23;
+    public static final int T__24=24;
+    public static final int T__25=25;
+    public static final int T__20=20;
+    public static final int T__21=21;
+    public static final int T__122=122;
+    public static final int T__70=70;
+    public static final int T__121=121;
+    public static final int T__71=71;
+    public static final int T__124=124;
+    public static final int T__72=72;
+    public static final int T__123=123;
+    public static final int T__120=120;
+    public static final int RULE_STRING=8;
+    public static final int RULE_SL_COMMENT=10;
+    public static final int T__77=77;
+    public static final int T__119=119;
+    public static final int T__78=78;
+    public static final int T__118=118;
+    public static final int T__79=79;
+    public static final int T__73=73;
+    public static final int T__115=115;
+    public static final int EOF=-1;
+    public static final int T__74=74;
+    public static final int T__114=114;
+    public static final int T__75=75;
+    public static final int T__117=117;
+    public static final int T__76=76;
+    public static final int T__116=116;
+    public static final int T__80=80;
+    public static final int T__111=111;
+    public static final int T__81=81;
+    public static final int T__110=110;
+    public static final int T__82=82;
+    public static final int T__113=113;
+    public static final int T__83=83;
+    public static final int T__112=112;
+    public static final int RULE_WS=11;
+    public static final int RULE_ANY_OTHER=12;
+    public static final int T__88=88;
+    public static final int T__108=108;
+    public static final int T__89=89;
+    public static final int T__107=107;
+    public static final int T__109=109;
+    public static final int T__84=84;
+    public static final int T__104=104;
+    public static final int T__85=85;
+    public static final int T__103=103;
+    public static final int T__86=86;
+    public static final int T__106=106;
+    public static final int T__87=87;
+    public static final int T__105=105;
+
+
+    public String[] getTokenNames() { return InternalEntityMockDSLParser.tokenNames; }
+    public String getGrammarFileName() { return "../org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/antlr/internal/InternalEntityMockDSL.g"; }
+
+
+     
+     	protected EntityMockDSLGrammarAccess grammarAccess;
+     	
+        public void setGrammarAccess(EntityMockDSLGrammarAccess grammarAccess) {
+        	this.grammarAccess = grammarAccess;
+        }
+        
+        @Override
+        protected Grammar getGrammar() {
+        	return grammarAccess.getGrammar();
+        }
+        
+        @Override
+        protected String getValueForTokenName(String tokenName) {
+        	return tokenName;
+        }
+
+
+
+
+
+    // Delegated rules
+
+    public final boolean synpred258_InternalEntityMockDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred258_InternalEntityMockDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred69_InternalEntityMockDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred69_InternalEntityMockDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred266_InternalEntityMockDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred266_InternalEntityMockDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred254_InternalEntityMockDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred254_InternalEntityMockDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred230_InternalEntityMockDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred230_InternalEntityMockDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred237_InternalEntityMockDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred237_InternalEntityMockDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred41_InternalEntityMockDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred41_InternalEntityMockDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred217_InternalEntityMockDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred217_InternalEntityMockDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred222_InternalEntityMockDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred222_InternalEntityMockDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred267_InternalEntityMockDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred267_InternalEntityMockDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred210_InternalEntityMockDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred210_InternalEntityMockDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred90_InternalEntityMockDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred90_InternalEntityMockDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred269_InternalEntityMockDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred269_InternalEntityMockDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred216_InternalEntityMockDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred216_InternalEntityMockDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred275_InternalEntityMockDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred275_InternalEntityMockDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred42_InternalEntityMockDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred42_InternalEntityMockDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred109_InternalEntityMockDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred109_InternalEntityMockDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred276_InternalEntityMockDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred276_InternalEntityMockDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred208_InternalEntityMockDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred208_InternalEntityMockDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred82_InternalEntityMockDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred82_InternalEntityMockDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred104_InternalEntityMockDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred104_InternalEntityMockDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred211_InternalEntityMockDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred211_InternalEntityMockDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred260_InternalEntityMockDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred260_InternalEntityMockDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred215_InternalEntityMockDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred215_InternalEntityMockDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred43_InternalEntityMockDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred43_InternalEntityMockDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred240_InternalEntityMockDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred240_InternalEntityMockDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred91_InternalEntityMockDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred91_InternalEntityMockDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred108_InternalEntityMockDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred108_InternalEntityMockDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred198_InternalEntityMockDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred198_InternalEntityMockDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred212_InternalEntityMockDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred212_InternalEntityMockDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred219_InternalEntityMockDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred219_InternalEntityMockDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred68_InternalEntityMockDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred68_InternalEntityMockDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred259_InternalEntityMockDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred259_InternalEntityMockDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred265_InternalEntityMockDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred265_InternalEntityMockDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred273_InternalEntityMockDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred273_InternalEntityMockDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred214_InternalEntityMockDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred214_InternalEntityMockDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred253_InternalEntityMockDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred253_InternalEntityMockDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred115_InternalEntityMockDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred115_InternalEntityMockDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred221_InternalEntityMockDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred221_InternalEntityMockDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred218_InternalEntityMockDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred218_InternalEntityMockDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred213_InternalEntityMockDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred213_InternalEntityMockDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+
+
+    protected DFA3 dfa3 = new DFA3(this);
+    protected DFA20 dfa20 = new DFA20(this);
+    protected DFA21 dfa21 = new DFA21(this);
+    protected DFA22 dfa22 = new DFA22(this);
+    protected DFA29 dfa29 = new DFA29(this);
+    protected DFA37 dfa37 = new DFA37(this);
+    protected DFA40 dfa40 = new DFA40(this);
+    protected DFA41 dfa41 = new DFA41(this);
+    protected DFA44 dfa44 = new DFA44(this);
+    protected DFA49 dfa49 = new DFA49(this);
+    protected DFA52 dfa52 = new DFA52(this);
+    protected DFA61 dfa61 = new DFA61(this);
+    protected DFA81 dfa81 = new DFA81(this);
+    protected DFA82 dfa82 = new DFA82(this);
+    protected DFA142 dfa142 = new DFA142(this);
+    protected DFA148 dfa148 = new DFA148(this);
+    protected DFA155 dfa155 = new DFA155(this);
+    protected DFA156 dfa156 = new DFA156(this);
+    protected DFA164 dfa164 = new DFA164(this);
+    protected DFA174 dfa174 = new DFA174(this);
+    protected DFA187 dfa187 = new DFA187(this);
+    protected DFA188 dfa188 = new DFA188(this);
+    protected DFA192 dfa192 = new DFA192(this);
+    protected DFA193 dfa193 = new DFA193(this);
+    protected DFA194 dfa194 = new DFA194(this);
+    protected DFA199 dfa199 = new DFA199(this);
+    protected DFA207 dfa207 = new DFA207(this);
+    protected DFA210 dfa210 = new DFA210(this);
+    static final String DFA3_eotS =
+        "\12\uffff";
+    static final String DFA3_eofS =
+        "\12\uffff";
+    static final String DFA3_minS =
+        "\1\110\1\4\1\uffff\1\54\1\4\4\uffff\1\54";
+    static final String DFA3_maxS =
+        "\1\116\1\4\1\uffff\1\122\1\4\4\uffff\1\122";
+    static final String DFA3_acceptS =
+        "\2\uffff\1\4\2\uffff\1\1\1\5\1\3\1\2\1\uffff";
+    static final String DFA3_specialS =
+        "\12\uffff}>";
+    static final String[] DFA3_transitionS = {
+            "\1\1\5\uffff\1\2",
+            "\1\3",
+            "",
+            "\1\4\26\uffff\1\10\7\uffff\1\5\1\7\5\uffff\1\6",
+            "\1\11",
+            "",
+            "",
+            "",
+            "",
+            "\1\4\26\uffff\1\10\7\uffff\1\5\1\7\5\uffff\1\6"
+    };
+
+    static final short[] DFA3_eot = DFA.unpackEncodedString(DFA3_eotS);
+    static final short[] DFA3_eof = DFA.unpackEncodedString(DFA3_eofS);
+    static final char[] DFA3_min = DFA.unpackEncodedStringToUnsignedChars(DFA3_minS);
+    static final char[] DFA3_max = DFA.unpackEncodedStringToUnsignedChars(DFA3_maxS);
+    static final short[] DFA3_accept = DFA.unpackEncodedString(DFA3_acceptS);
+    static final short[] DFA3_special = DFA.unpackEncodedString(DFA3_specialS);
+    static final short[][] DFA3_transition;
+
+    static {
+        int numStates = DFA3_transitionS.length;
+        DFA3_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA3_transition[i] = DFA.unpackEncodedString(DFA3_transitionS[i]);
+        }
+    }
+
+    class DFA3 extends DFA {
+
+        public DFA3(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 3;
+            this.eot = DFA3_eot;
+            this.eof = DFA3_eof;
+            this.min = DFA3_min;
+            this.max = DFA3_max;
+            this.accept = DFA3_accept;
+            this.special = DFA3_special;
+            this.transition = DFA3_transition;
+        }
+        public String getDescription() {
+            return "4004:1: rule__IEntityMockObjectAttribute__Alternatives : ( ( ruleEntityMockObjectResourceValue ) | ( ruleEntityMockObjectPlainValue ) | ( ruleEntityMockObjectArrayValue ) | ( ruleEntityMockObjectEmbed ) | ( ruleEntityMockObjectFill ) );";
+        }
+    }
+    static final String DFA20_eotS =
+        "\43\uffff";
+    static final String DFA20_eofS =
+        "\43\uffff";
+    static final String DFA20_minS =
+        "\1\4\1\0\41\uffff";
+    static final String DFA20_maxS =
+        "\1\u009c\1\0\41\uffff";
+    static final String DFA20_acceptS =
+        "\2\uffff\1\2\37\uffff\1\1";
+    static final String DFA20_specialS =
+        "\1\uffff\1\0\41\uffff}>";
+    static final String[] DFA20_transitionS = {
+            "\1\1\4\2\23\uffff\1\2\6\uffff\2\2\4\uffff\1\2\4\uffff\6\2\5"+
+            "\uffff\1\2\11\uffff\1\2\67\uffff\1\2\1\uffff\2\2\2\uffff\1\2"+
+            "\1\uffff\1\2\3\uffff\11\2\1\uffff\1\2\12\uffff\1\2",
+            "\1\uffff",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+    };
+
+    static final short[] DFA20_eot = DFA.unpackEncodedString(DFA20_eotS);
+    static final short[] DFA20_eof = DFA.unpackEncodedString(DFA20_eofS);
+    static final char[] DFA20_min = DFA.unpackEncodedStringToUnsignedChars(DFA20_minS);
+    static final char[] DFA20_max = DFA.unpackEncodedStringToUnsignedChars(DFA20_maxS);
+    static final short[] DFA20_accept = DFA.unpackEncodedString(DFA20_acceptS);
+    static final short[] DFA20_special = DFA.unpackEncodedString(DFA20_specialS);
+    static final short[][] DFA20_transition;
+
+    static {
+        int numStates = DFA20_transitionS.length;
+        DFA20_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA20_transition[i] = DFA.unpackEncodedString(DFA20_transitionS[i]);
+        }
+    }
+
+    class DFA20 extends DFA {
+
+        public DFA20(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 20;
+            this.eot = DFA20_eot;
+            this.eof = DFA20_eof;
+            this.min = DFA20_min;
+            this.max = DFA20_max;
+            this.accept = DFA20_accept;
+            this.special = DFA20_special;
+            this.transition = DFA20_transition;
+        }
+        public String getDescription() {
+            return "4507:1: rule__XAnnotation__Alternatives_3_1 : ( ( ( rule__XAnnotation__Group_3_1_0__0 ) ) | ( ( rule__XAnnotation__ValueAssignment_3_1_1 ) ) );";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA20_1 = input.LA(1);
+
+                         
+                        int index20_1 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred41_InternalEntityMockDSL()) ) {s = 34;}
+
+                        else if ( (true) ) {s = 2;}
+
+                         
+                        input.seek(index20_1);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 20, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+    static final String DFA21_eotS =
+        "\43\uffff";
+    static final String DFA21_eofS =
+        "\43\uffff";
+    static final String DFA21_minS =
+        "\1\4\1\0\41\uffff";
+    static final String DFA21_maxS =
+        "\1\u009c\1\0\41\uffff";
+    static final String DFA21_acceptS =
+        "\2\uffff\1\2\37\uffff\1\1";
+    static final String DFA21_specialS =
+        "\1\uffff\1\0\41\uffff}>";
+    static final String[] DFA21_transitionS = {
+            "\5\2\23\uffff\1\2\6\uffff\2\2\4\uffff\1\2\4\uffff\6\2\5\uffff"+
+            "\1\2\11\uffff\1\2\67\uffff\1\2\1\uffff\1\1\1\2\2\uffff\1\2\1"+
+            "\uffff\1\2\3\uffff\11\2\1\uffff\1\2\12\uffff\1\2",
+            "\1\uffff",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+    };
+
+    static final short[] DFA21_eot = DFA.unpackEncodedString(DFA21_eotS);
+    static final short[] DFA21_eof = DFA.unpackEncodedString(DFA21_eofS);
+    static final char[] DFA21_min = DFA.unpackEncodedStringToUnsignedChars(DFA21_minS);
+    static final char[] DFA21_max = DFA.unpackEncodedStringToUnsignedChars(DFA21_maxS);
+    static final short[] DFA21_accept = DFA.unpackEncodedString(DFA21_acceptS);
+    static final short[] DFA21_special = DFA.unpackEncodedString(DFA21_specialS);
+    static final short[][] DFA21_transition;
+
+    static {
+        int numStates = DFA21_transitionS.length;
+        DFA21_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA21_transition[i] = DFA.unpackEncodedString(DFA21_transitionS[i]);
+        }
+    }
+
+    class DFA21 extends DFA {
+
+        public DFA21(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 21;
+            this.eot = DFA21_eot;
+            this.eof = DFA21_eof;
+            this.min = DFA21_min;
+            this.max = DFA21_max;
+            this.accept = DFA21_accept;
+            this.special = DFA21_special;
+            this.transition = DFA21_transition;
+        }
+        public String getDescription() {
+            return "4529:1: rule__XAnnotationElementValueOrCommaList__Alternatives : ( ( ( rule__XAnnotationElementValueOrCommaList__Group_0__0 ) ) | ( ( rule__XAnnotationElementValueOrCommaList__Group_1__0 ) ) );";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA21_1 = input.LA(1);
+
+                         
+                        int index21_1 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred42_InternalEntityMockDSL()) ) {s = 34;}
+
+                        else if ( (true) ) {s = 2;}
+
+                         
+                        input.seek(index21_1);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 21, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+    static final String DFA22_eotS =
+        "\43\uffff";
+    static final String DFA22_eofS =
+        "\43\uffff";
+    static final String DFA22_minS =
+        "\1\4\1\0\41\uffff";
+    static final String DFA22_maxS =
+        "\1\u009c\1\0\41\uffff";
+    static final String DFA22_acceptS =
+        "\2\uffff\1\2\37\uffff\1\1";
+    static final String DFA22_specialS =
+        "\1\uffff\1\0\41\uffff}>";
+    static final String[] DFA22_transitionS = {
+            "\5\2\23\uffff\1\2\6\uffff\2\2\4\uffff\1\2\4\uffff\6\2\5\uffff"+
+            "\1\2\11\uffff\1\2\67\uffff\1\2\1\uffff\1\1\1\2\2\uffff\1\2\1"+
+            "\uffff\1\2\3\uffff\11\2\1\uffff\1\2\12\uffff\1\2",
+            "\1\uffff",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+    };
+
+    static final short[] DFA22_eot = DFA.unpackEncodedString(DFA22_eotS);
+    static final short[] DFA22_eof = DFA.unpackEncodedString(DFA22_eofS);
+    static final char[] DFA22_min = DFA.unpackEncodedStringToUnsignedChars(DFA22_minS);
+    static final char[] DFA22_max = DFA.unpackEncodedStringToUnsignedChars(DFA22_maxS);
+    static final short[] DFA22_accept = DFA.unpackEncodedString(DFA22_acceptS);
+    static final short[] DFA22_special = DFA.unpackEncodedString(DFA22_specialS);
+    static final short[][] DFA22_transition;
+
+    static {
+        int numStates = DFA22_transitionS.length;
+        DFA22_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA22_transition[i] = DFA.unpackEncodedString(DFA22_transitionS[i]);
+        }
+    }
+
+    class DFA22 extends DFA {
+
+        public DFA22(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 22;
+            this.eot = DFA22_eot;
+            this.eof = DFA22_eof;
+            this.min = DFA22_min;
+            this.max = DFA22_max;
+            this.accept = DFA22_accept;
+            this.special = DFA22_special;
+            this.transition = DFA22_transition;
+        }
+        public String getDescription() {
+            return "4551:1: rule__XAnnotationElementValue__Alternatives : ( ( ( rule__XAnnotationElementValue__Group_0__0 ) ) | ( ruleXAnnotationOrExpression ) );";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA22_1 = input.LA(1);
+
+                         
+                        int index22_1 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred43_InternalEntityMockDSL()) ) {s = 34;}
+
+                        else if ( (true) ) {s = 2;}
+
+                         
+                        input.seek(index22_1);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 22, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+    static final String DFA29_eotS =
+        "\13\uffff";
+    static final String DFA29_eofS =
+        "\13\uffff";
+    static final String DFA29_minS =
+        "\1\33\2\uffff\1\33\7\uffff";
+    static final String DFA29_maxS =
+        "\1\42\2\uffff\1\37\7\uffff";
+    static final String DFA29_acceptS =
+        "\1\uffff\1\1\1\2\1\uffff\1\4\1\5\1\7\1\10\1\11\1\6\1\3";
+    static final String DFA29_specialS =
+        "\13\uffff}>";
+    static final String[] DFA29_transitionS = {
+            "\1\3\1\6\1\1\1\2\1\4\1\5\1\7\1\10",
+            "",
+            "",
+            "\1\11\3\uffff\1\12",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+    };
+
+    static final short[] DFA29_eot = DFA.unpackEncodedString(DFA29_eotS);
+    static final short[] DFA29_eof = DFA.unpackEncodedString(DFA29_eofS);
+    static final char[] DFA29_min = DFA.unpackEncodedStringToUnsignedChars(DFA29_minS);
+    static final char[] DFA29_max = DFA.unpackEncodedStringToUnsignedChars(DFA29_maxS);
+    static final short[] DFA29_accept = DFA.unpackEncodedString(DFA29_acceptS);
+    static final short[] DFA29_special = DFA.unpackEncodedString(DFA29_specialS);
+    static final short[][] DFA29_transition;
+
+    static {
+        int numStates = DFA29_transitionS.length;
+        DFA29_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA29_transition[i] = DFA.unpackEncodedString(DFA29_transitionS[i]);
+        }
+    }
+
+    class DFA29 extends DFA {
+
+        public DFA29(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 29;
+            this.eot = DFA29_eot;
+            this.eof = DFA29_eof;
+            this.min = DFA29_min;
+            this.max = DFA29_max;
+            this.accept = DFA29_accept;
+            this.special = DFA29_special;
+            this.transition = DFA29_transition;
+        }
+        public String getDescription() {
+            return "4783:1: rule__OpOther__Alternatives : ( ( '->' ) | ( '..<' ) | ( ( rule__OpOther__Group_2__0 ) ) | ( '..' ) | ( '=>' ) | ( ( rule__OpOther__Group_5__0 ) ) | ( ( rule__OpOther__Group_6__0 ) ) | ( '<>' ) | ( '?:' ) );";
+        }
+    }
+    static final String DFA37_eotS =
+        "\12\uffff";
+    static final String DFA37_eofS =
+        "\4\uffff\5\3\1\uffff";
+    static final String DFA37_minS =
+        "\1\54\2\4\1\uffff\5\4\1\uffff";
+    static final String DFA37_maxS =
+        "\1\u009a\2\62\1\uffff\5\u009c\1\uffff";
+    static final String DFA37_acceptS =
+        "\3\uffff\1\2\5\uffff\1\1";
+    static final String DFA37_specialS =
+        "\12\uffff}>";
+    static final String[] DFA37_transitionS = {
+            "\1\1\154\uffff\1\2\1\3",
+            "\1\4\27\uffff\1\3\21\uffff\1\5\1\6\1\7\1\10\1\3",
+            "\1\4\27\uffff\1\3\21\uffff\1\5\1\6\1\7\1\10\1\3",
+            "",
+            "\5\3\4\uffff\1\11\2\3\1\uffff\43\3\5\uffff\2\3\10\uffff\3"+
+            "\3\2\uffff\1\3\52\uffff\1\3\10\uffff\27\3\6\uffff\2\3\1\uffff"+
+            "\1\3",
+            "\5\3\4\uffff\1\11\2\3\1\uffff\43\3\5\uffff\2\3\10\uffff\3"+
+            "\3\2\uffff\1\3\52\uffff\1\3\10\uffff\27\3\6\uffff\2\3\1\uffff"+
+            "\1\3",
+            "\5\3\4\uffff\1\11\2\3\1\uffff\43\3\5\uffff\2\3\10\uffff\3"+
+            "\3\2\uffff\1\3\52\uffff\1\3\10\uffff\27\3\6\uffff\2\3\1\uffff"+
+            "\1\3",
+            "\5\3\4\uffff\1\11\2\3\1\uffff\43\3\5\uffff\2\3\10\uffff\3"+
+            "\3\2\uffff\1\3\52\uffff\1\3\10\uffff\27\3\6\uffff\2\3\1\uffff"+
+            "\1\3",
+            "\5\3\4\uffff\1\11\2\3\1\uffff\43\3\5\uffff\2\3\10\uffff\3"+
+            "\3\2\uffff\1\3\52\uffff\1\3\10\uffff\27\3\6\uffff\2\3\1\uffff"+
+            "\1\3",
+            ""
+    };
+
+    static final short[] DFA37_eot = DFA.unpackEncodedString(DFA37_eotS);
+    static final short[] DFA37_eof = DFA.unpackEncodedString(DFA37_eofS);
+    static final char[] DFA37_min = DFA.unpackEncodedStringToUnsignedChars(DFA37_minS);
+    static final char[] DFA37_max = DFA.unpackEncodedStringToUnsignedChars(DFA37_maxS);
+    static final short[] DFA37_accept = DFA.unpackEncodedString(DFA37_acceptS);
+    static final short[] DFA37_special = DFA.unpackEncodedString(DFA37_specialS);
+    static final short[][] DFA37_transition;
+
+    static {
+        int numStates = DFA37_transitionS.length;
+        DFA37_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA37_transition[i] = DFA.unpackEncodedString(DFA37_transitionS[i]);
+        }
+    }
+
+    class DFA37 extends DFA {
+
+        public DFA37(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 37;
+            this.eot = DFA37_eot;
+            this.eof = DFA37_eof;
+            this.min = DFA37_min;
+            this.max = DFA37_max;
+            this.accept = DFA37_accept;
+            this.special = DFA37_special;
+            this.transition = DFA37_transition;
+        }
+        public String getDescription() {
+            return "5065:1: rule__XMemberFeatureCall__Alternatives_1 : ( ( ( rule__XMemberFeatureCall__Group_1_0__0 ) ) | ( ( rule__XMemberFeatureCall__Group_1_1__0 ) ) );";
+        }
+    }
+    static final String DFA40_eotS =
+        "\43\uffff";
+    static final String DFA40_eofS =
+        "\43\uffff";
+    static final String DFA40_minS =
+        "\1\4\2\0\40\uffff";
+    static final String DFA40_maxS =
+        "\1\u009c\2\0\40\uffff";
+    static final String DFA40_acceptS =
+        "\3\uffff\1\1\1\uffff\1\2\35\uffff";
+    static final String DFA40_specialS =
+        "\1\uffff\1\0\1\1\40\uffff}>";
+    static final String[] DFA40_transitionS = {
+            "\1\1\4\5\23\uffff\1\5\3\uffff\1\3\2\uffff\2\5\4\uffff\1\5\4"+
+            "\uffff\6\5\5\uffff\1\5\11\uffff\1\2\71\uffff\2\5\2\uffff\1\5"+
+            "\1\uffff\1\5\3\uffff\11\5\1\uffff\1\5\11\uffff\1\3\1\5",
+            "\1\uffff",
+            "\1\uffff",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+    };
+
+    static final short[] DFA40_eot = DFA.unpackEncodedString(DFA40_eotS);
+    static final short[] DFA40_eof = DFA.unpackEncodedString(DFA40_eofS);
+    static final char[] DFA40_min = DFA.unpackEncodedStringToUnsignedChars(DFA40_minS);
+    static final char[] DFA40_max = DFA.unpackEncodedStringToUnsignedChars(DFA40_maxS);
+    static final short[] DFA40_accept = DFA.unpackEncodedString(DFA40_acceptS);
+    static final short[] DFA40_special = DFA.unpackEncodedString(DFA40_specialS);
+    static final short[][] DFA40_transition;
+
+    static {
+        int numStates = DFA40_transitionS.length;
+        DFA40_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA40_transition[i] = DFA.unpackEncodedString(DFA40_transitionS[i]);
+        }
+    }
+
+    class DFA40 extends DFA {
+
+        public DFA40(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 40;
+            this.eot = DFA40_eot;
+            this.eof = DFA40_eof;
+            this.min = DFA40_min;
+            this.max = DFA40_max;
+            this.accept = DFA40_accept;
+            this.special = DFA40_special;
+            this.transition = DFA40_transition;
+        }
+        public String getDescription() {
+            return "5141:1: rule__XMemberFeatureCall__Alternatives_1_1_3_1 : ( ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 ) ) | ( ( rule__XMemberFeatureCall__Group_1_1_3_1_1__0 ) ) );";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA40_1 = input.LA(1);
+
+                         
+                        int index40_1 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred82_InternalEntityMockDSL()) ) {s = 3;}
+
+                        else if ( (true) ) {s = 5;}
+
+                         
+                        input.seek(index40_1);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 1 : 
+                        int LA40_2 = input.LA(1);
+
+                         
+                        int index40_2 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred82_InternalEntityMockDSL()) ) {s = 3;}
+
+                        else if ( (true) ) {s = 5;}
+
+                         
+                        input.seek(index40_2);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 40, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+    static final String DFA41_eotS =
+        "\40\uffff";
+    static final String DFA41_eofS =
+        "\40\uffff";
+    static final String DFA41_minS =
+        "\1\4\26\uffff\1\0\10\uffff";
+    static final String DFA41_maxS =
+        "\1\u009c\26\uffff\1\0\10\uffff";
+    static final String DFA41_acceptS =
+        "\1\uffff\1\1\1\2\1\3\1\4\1\5\6\uffff\1\6\11\uffff\1\7\1\uffff\1"+
+        "\12\1\13\1\14\1\15\1\16\1\17\1\10\1\11";
+    static final String DFA41_specialS =
+        "\27\uffff\1\0\10\uffff}>";
+    static final String[] DFA41_transitionS = {
+            "\1\5\4\14\23\uffff\1\5\21\uffff\5\5\1\14\5\uffff\1\2\11\uffff"+
+            "\1\35\71\uffff\2\14\2\uffff\1\26\1\uffff\1\3\3\uffff\1\27\1"+
+            "\30\1\31\1\1\2\14\1\32\1\33\1\34\1\uffff\1\4\12\uffff\1\14",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "\1\uffff",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+    };
+
+    static final short[] DFA41_eot = DFA.unpackEncodedString(DFA41_eotS);
+    static final short[] DFA41_eof = DFA.unpackEncodedString(DFA41_eofS);
+    static final char[] DFA41_min = DFA.unpackEncodedStringToUnsignedChars(DFA41_minS);
+    static final char[] DFA41_max = DFA.unpackEncodedStringToUnsignedChars(DFA41_maxS);
+    static final short[] DFA41_accept = DFA.unpackEncodedString(DFA41_acceptS);
+    static final short[] DFA41_special = DFA.unpackEncodedString(DFA41_specialS);
+    static final short[][] DFA41_transition;
+
+    static {
+        int numStates = DFA41_transitionS.length;
+        DFA41_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA41_transition[i] = DFA.unpackEncodedString(DFA41_transitionS[i]);
+        }
+    }
+
+    class DFA41 extends DFA {
+
+        public DFA41(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 41;
+            this.eot = DFA41_eot;
+            this.eof = DFA41_eof;
+            this.min = DFA41_min;
+            this.max = DFA41_max;
+            this.accept = DFA41_accept;
+            this.special = DFA41_special;
+            this.transition = DFA41_transition;
+        }
+        public String getDescription() {
+            return "5163:1: rule__XPrimaryExpression__Alternatives : ( ( ruleXConstructorCall ) | ( ruleXBlockExpression ) | ( ruleXSwitchExpression ) | ( ( ruleXSynchronizedExpression ) ) | ( ruleXFeatureCall ) | ( ruleXLiteral ) | ( ruleXIfExpression ) | ( ( ruleXForLoopExpression ) ) | ( ruleXBasicForLoopExpression ) | ( ruleXWhileExpression ) | ( ruleXDoWhileExpression ) | ( ruleXThrowExpression ) | ( ruleXReturnExpression ) | ( ruleXTryCatchFinallyExpression ) | ( ruleXParenthesizedExpression ) );";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA41_23 = input.LA(1);
+
+                         
+                        int index41_23 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred90_InternalEntityMockDSL()) ) {s = 30;}
+
+                        else if ( (synpred91_InternalEntityMockDSL()) ) {s = 31;}
+
+                         
+                        input.seek(index41_23);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 41, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+    static final String DFA44_eotS =
+        "\43\uffff";
+    static final String DFA44_eofS =
+        "\43\uffff";
+    static final String DFA44_minS =
+        "\1\4\1\0\41\uffff";
+    static final String DFA44_maxS =
+        "\1\u009c\1\0\41\uffff";
+    static final String DFA44_acceptS =
+        "\2\uffff\1\2\37\uffff\1\1";
+    static final String DFA44_specialS =
+        "\1\uffff\1\0\41\uffff}>";
+    static final String[] DFA44_transitionS = {
+            "\5\2\23\uffff\1\2\3\uffff\1\2\2\uffff\2\2\4\uffff\1\2\4\uffff"+
+            "\6\2\5\uffff\1\2\11\uffff\1\1\71\uffff\2\2\2\uffff\1\2\1\uffff"+
+            "\1\2\3\uffff\11\2\1\uffff\1\2\12\uffff\1\2",
+            "\1\uffff",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+    };
+
+    static final short[] DFA44_eot = DFA.unpackEncodedString(DFA44_eotS);
+    static final short[] DFA44_eof = DFA.unpackEncodedString(DFA44_eofS);
+    static final char[] DFA44_min = DFA.unpackEncodedStringToUnsignedChars(DFA44_minS);
+    static final char[] DFA44_max = DFA.unpackEncodedStringToUnsignedChars(DFA44_maxS);
+    static final short[] DFA44_accept = DFA.unpackEncodedString(DFA44_acceptS);
+    static final short[] DFA44_special = DFA.unpackEncodedString(DFA44_specialS);
+    static final short[][] DFA44_transition;
+
+    static {
+        int numStates = DFA44_transitionS.length;
+        DFA44_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA44_transition[i] = DFA.unpackEncodedString(DFA44_transitionS[i]);
+        }
+    }
+
+    class DFA44 extends DFA {
+
+        public DFA44(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 44;
+            this.eot = DFA44_eot;
+            this.eof = DFA44_eof;
+            this.min = DFA44_min;
+            this.max = DFA44_max;
+            this.accept = DFA44_accept;
+            this.special = DFA44_special;
+            this.transition = DFA44_transition;
+        }
+        public String getDescription() {
+            return "5337:1: rule__XSwitchExpression__Alternatives_2 : ( ( ( rule__XSwitchExpression__Group_2_0__0 ) ) | ( ( rule__XSwitchExpression__Group_2_1__0 ) ) );";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA44_1 = input.LA(1);
+
+                         
+                        int index44_1 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred104_InternalEntityMockDSL()) ) {s = 34;}
+
+                        else if ( (true) ) {s = 2;}
+
+                         
+                        input.seek(index44_1);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 44, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+    static final String DFA49_eotS =
+        "\43\uffff";
+    static final String DFA49_eofS =
+        "\43\uffff";
+    static final String DFA49_minS =
+        "\1\4\2\0\40\uffff";
+    static final String DFA49_maxS =
+        "\1\u009c\2\0\40\uffff";
+    static final String DFA49_acceptS =
+        "\3\uffff\1\1\1\uffff\1\2\35\uffff";
+    static final String DFA49_specialS =
+        "\1\uffff\1\0\1\1\40\uffff}>";
+    static final String[] DFA49_transitionS = {
+            "\1\1\4\5\23\uffff\1\5\3\uffff\1\3\2\uffff\2\5\4\uffff\1\5\4"+
+            "\uffff\6\5\5\uffff\1\5\11\uffff\1\2\71\uffff\2\5\2\uffff\1\5"+
+            "\1\uffff\1\5\3\uffff\11\5\1\uffff\1\5\11\uffff\1\3\1\5",
+            "\1\uffff",
+            "\1\uffff",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+    };
+
+    static final short[] DFA49_eot = DFA.unpackEncodedString(DFA49_eotS);
+    static final short[] DFA49_eof = DFA.unpackEncodedString(DFA49_eofS);
+    static final char[] DFA49_min = DFA.unpackEncodedStringToUnsignedChars(DFA49_minS);
+    static final char[] DFA49_max = DFA.unpackEncodedStringToUnsignedChars(DFA49_maxS);
+    static final short[] DFA49_accept = DFA.unpackEncodedString(DFA49_acceptS);
+    static final short[] DFA49_special = DFA.unpackEncodedString(DFA49_specialS);
+    static final short[][] DFA49_transition;
+
+    static {
+        int numStates = DFA49_transitionS.length;
+        DFA49_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA49_transition[i] = DFA.unpackEncodedString(DFA49_transitionS[i]);
+        }
+    }
+
+    class DFA49 extends DFA {
+
+        public DFA49(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 49;
+            this.eot = DFA49_eot;
+            this.eof = DFA49_eof;
+            this.min = DFA49_min;
+            this.max = DFA49_max;
+            this.accept = DFA49_accept;
+            this.special = DFA49_special;
+            this.transition = DFA49_transition;
+        }
+        public String getDescription() {
+            return "5449:1: rule__XFeatureCall__Alternatives_3_1 : ( ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 ) ) | ( ( rule__XFeatureCall__Group_3_1_1__0 ) ) );";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA49_1 = input.LA(1);
+
+                         
+                        int index49_1 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred109_InternalEntityMockDSL()) ) {s = 3;}
+
+                        else if ( (true) ) {s = 5;}
+
+                         
+                        input.seek(index49_1);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 1 : 
+                        int LA49_2 = input.LA(1);
+
+                         
+                        int index49_2 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred109_InternalEntityMockDSL()) ) {s = 3;}
+
+                        else if ( (true) ) {s = 5;}
+
+                         
+                        input.seek(index49_2);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 49, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+    static final String DFA52_eotS =
+        "\43\uffff";
+    static final String DFA52_eofS =
+        "\43\uffff";
+    static final String DFA52_minS =
+        "\1\4\2\0\40\uffff";
+    static final String DFA52_maxS =
+        "\1\u009c\2\0\40\uffff";
+    static final String DFA52_acceptS =
+        "\3\uffff\1\1\1\uffff\1\2\35\uffff";
+    static final String DFA52_specialS =
+        "\1\uffff\1\0\1\1\40\uffff}>";
+    static final String[] DFA52_transitionS = {
+            "\1\1\4\5\23\uffff\1\5\3\uffff\1\3\2\uffff\2\5\4\uffff\1\5\4"+
+            "\uffff\6\5\5\uffff\1\5\11\uffff\1\2\71\uffff\2\5\2\uffff\1\5"+
+            "\1\uffff\1\5\3\uffff\11\5\1\uffff\1\5\11\uffff\1\3\1\5",
+            "\1\uffff",
+            "\1\uffff",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+    };
+
+    static final short[] DFA52_eot = DFA.unpackEncodedString(DFA52_eotS);
+    static final short[] DFA52_eof = DFA.unpackEncodedString(DFA52_eofS);
+    static final char[] DFA52_min = DFA.unpackEncodedStringToUnsignedChars(DFA52_minS);
+    static final char[] DFA52_max = DFA.unpackEncodedStringToUnsignedChars(DFA52_maxS);
+    static final short[] DFA52_accept = DFA.unpackEncodedString(DFA52_acceptS);
+    static final short[] DFA52_special = DFA.unpackEncodedString(DFA52_specialS);
+    static final short[][] DFA52_transition;
+
+    static {
+        int numStates = DFA52_transitionS.length;
+        DFA52_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA52_transition[i] = DFA.unpackEncodedString(DFA52_transitionS[i]);
+        }
+    }
+
+    class DFA52 extends DFA {
+
+        public DFA52(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 52;
+            this.eot = DFA52_eot;
+            this.eof = DFA52_eof;
+            this.min = DFA52_min;
+            this.max = DFA52_max;
+            this.accept = DFA52_accept;
+            this.special = DFA52_special;
+            this.transition = DFA52_transition;
+        }
+        public String getDescription() {
+            return "5543:1: rule__XConstructorCall__Alternatives_4_1 : ( ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 ) ) | ( ( rule__XConstructorCall__Group_4_1_1__0 ) ) );";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA52_1 = input.LA(1);
+
+                         
+                        int index52_1 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred115_InternalEntityMockDSL()) ) {s = 3;}
+
+                        else if ( (true) ) {s = 5;}
+
+                         
+                        input.seek(index52_1);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 1 : 
+                        int LA52_2 = input.LA(1);
+
+                         
+                        int index52_2 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred115_InternalEntityMockDSL()) ) {s = 3;}
+
+                        else if ( (true) ) {s = 5;}
+
+                         
+                        input.seek(index52_2);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 52, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+    static final String DFA61_eotS =
+        "\7\uffff";
+    static final String DFA61_eofS =
+        "\2\uffff\1\4\2\uffff\1\4\1\uffff";
+    static final String DFA61_minS =
+        "\1\4\1\uffff\1\54\1\4\1\uffff\1\54\1\uffff";
+    static final String DFA61_maxS =
+        "\1\57\1\uffff\1\u0080\1\45\1\uffff\1\u0080\1\uffff";
+    static final String DFA61_acceptS =
+        "\1\uffff\1\1\2\uffff\1\2\1\uffff\1\3";
+    static final String DFA61_specialS =
+        "\7\uffff}>";
+    static final String[] DFA61_transitionS = {
+            "\1\2\52\uffff\1\1",
+            "",
+            "\1\3\123\uffff\1\4",
+            "\1\5\40\uffff\1\6",
+            "",
+            "\1\3\123\uffff\1\4",
+            ""
+    };
+
+    static final short[] DFA61_eot = DFA.unpackEncodedString(DFA61_eotS);
+    static final short[] DFA61_eof = DFA.unpackEncodedString(DFA61_eofS);
+    static final char[] DFA61_min = DFA.unpackEncodedStringToUnsignedChars(DFA61_minS);
+    static final char[] DFA61_max = DFA.unpackEncodedStringToUnsignedChars(DFA61_maxS);
+    static final short[] DFA61_accept = DFA.unpackEncodedString(DFA61_acceptS);
+    static final short[] DFA61_special = DFA.unpackEncodedString(DFA61_specialS);
+    static final short[][] DFA61_transition;
+
+    static {
+        int numStates = DFA61_transitionS.length;
+        DFA61_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA61_transition[i] = DFA.unpackEncodedString(DFA61_transitionS[i]);
+        }
+    }
+
+    class DFA61 extends DFA {
+
+        public DFA61(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 61;
+            this.eot = DFA61_eot;
+            this.eof = DFA61_eof;
+            this.min = DFA61_min;
+            this.max = DFA61_max;
+            this.accept = DFA61_accept;
+            this.special = DFA61_special;
+            this.transition = DFA61_transition;
+        }
+        public String getDescription() {
+            return "5743:1: rule__XImportDeclaration__Alternatives_1 : ( ( ( rule__XImportDeclaration__Group_1_0__0 ) ) | ( ( rule__XImportDeclaration__ImportedTypeAssignment_1_1 ) ) | ( ( rule__XImportDeclaration__ImportedNamespaceAssignment_1_2 ) ) );";
+        }
+    }
+    static final String DFA81_eotS =
+        "\7\uffff";
+    static final String DFA81_eofS =
+        "\7\uffff";
+    static final String DFA81_minS =
+        "\1\72\1\4\1\uffff\1\54\1\4\1\uffff\1\54";
+    static final String DFA81_maxS =
+        "\1\116\1\4\1\uffff\1\122\1\4\1\uffff\1\122";
+    static final String DFA81_acceptS =
+        "\2\uffff\1\2\2\uffff\1\1\1\uffff";
+    static final String DFA81_specialS =
+        "\7\uffff}>";
+    static final String[] DFA81_transitionS = {
+            "\1\2\15\uffff\1\1\5\uffff\1\2",
+            "\1\3",
+            "",
+            "\1\4\26\uffff\1\2\5\uffff\1\5\1\uffff\2\2\3\uffff\1\2\1\uffff"+
+            "\1\2",
+            "\1\6",
+            "",
+            "\1\4\26\uffff\1\2\5\uffff\1\5\1\uffff\2\2\3\uffff\1\2\1\uffff"+
+            "\1\2"
+    };
+
+    static final short[] DFA81_eot = DFA.unpackEncodedString(DFA81_eotS);
+    static final short[] DFA81_eof = DFA.unpackEncodedString(DFA81_eofS);
+    static final char[] DFA81_min = DFA.unpackEncodedStringToUnsignedChars(DFA81_minS);
+    static final char[] DFA81_max = DFA.unpackEncodedStringToUnsignedChars(DFA81_maxS);
+    static final short[] DFA81_accept = DFA.unpackEncodedString(DFA81_acceptS);
+    static final short[] DFA81_special = DFA.unpackEncodedString(DFA81_specialS);
+    static final short[][] DFA81_transition;
+
+    static {
+        int numStates = DFA81_transitionS.length;
+        DFA81_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA81_transition[i] = DFA.unpackEncodedString(DFA81_transitionS[i]);
+        }
+    }
+
+    class DFA81 extends DFA {
+
+        public DFA81(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 81;
+            this.eot = DFA81_eot;
+            this.eof = DFA81_eof;
+            this.min = DFA81_min;
+            this.max = DFA81_max;
+            this.accept = DFA81_accept;
+            this.special = DFA81_special;
+            this.transition = DFA81_transition;
+        }
+        public String getDescription() {
+            return "()* loopback of 7985:1: ( rule__EntityMockObject__EnumerationsAssignment_3 )*";
+        }
+    }
+    static final String DFA82_eotS =
+        "\7\uffff";
+    static final String DFA82_eofS =
+        "\7\uffff";
+    static final String DFA82_minS =
+        "\1\72\1\4\2\uffff\1\54\1\4\1\54";
+    static final String DFA82_maxS =
+        "\1\116\1\4\2\uffff\1\122\1\4\1\122";
+    static final String DFA82_acceptS =
+        "\2\uffff\1\2\1\1\3\uffff";
+    static final String DFA82_specialS =
+        "\7\uffff}>";
+    static final String[] DFA82_transitionS = {
+            "\1\2\15\uffff\1\1\5\uffff\1\3",
+            "\1\4",
+            "",
+            "",
+            "\1\5\26\uffff\1\3\7\uffff\2\3\3\uffff\1\2\1\uffff\1\3",
+            "\1\6",
+            "\1\5\26\uffff\1\3\7\uffff\2\3\3\uffff\1\2\1\uffff\1\3"
+    };
+
+    static final short[] DFA82_eot = DFA.unpackEncodedString(DFA82_eotS);
+    static final short[] DFA82_eof = DFA.unpackEncodedString(DFA82_eofS);
+    static final char[] DFA82_min = DFA.unpackEncodedStringToUnsignedChars(DFA82_minS);
+    static final char[] DFA82_max = DFA.unpackEncodedStringToUnsignedChars(DFA82_maxS);
+    static final short[] DFA82_accept = DFA.unpackEncodedString(DFA82_acceptS);
+    static final short[] DFA82_special = DFA.unpackEncodedString(DFA82_specialS);
+    static final short[][] DFA82_transition;
+
+    static {
+        int numStates = DFA82_transitionS.length;
+        DFA82_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA82_transition[i] = DFA.unpackEncodedString(DFA82_transitionS[i]);
+        }
+    }
+
+    class DFA82 extends DFA {
+
+        public DFA82(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 82;
+            this.eot = DFA82_eot;
+            this.eof = DFA82_eof;
+            this.min = DFA82_min;
+            this.max = DFA82_max;
+            this.accept = DFA82_accept;
+            this.special = DFA82_special;
+            this.transition = DFA82_transition;
+        }
+        public String getDescription() {
+            return "()* loopback of 8014:1: ( rule__EntityMockObject__AttributesAssignment_4 )*";
+        }
+    }
+    static final String DFA142_eotS =
+        "\12\uffff";
+    static final String DFA142_eofS =
+        "\1\10\11\uffff";
+    static final String DFA142_minS =
+        "\1\4\7\0\2\uffff";
+    static final String DFA142_maxS =
+        "\1\u009c\7\0\2\uffff";
+    static final String DFA142_acceptS =
+        "\10\uffff\1\2\1\1";
+    static final String DFA142_specialS =
+        "\1\uffff\1\5\1\3\1\1\1\0\1\6\1\2\1\4\2\uffff}>";
+    static final String[] DFA142_transitionS = {
+            "\5\10\5\uffff\2\10\1\uffff\1\1\1\2\1\3\1\4\1\5\5\10\1\7\1\6"+
+            "\27\10\5\uffff\2\10\10\uffff\3\10\2\uffff\1\10\52\uffff\1\10"+
+            "\10\uffff\27\10\6\uffff\2\10\1\uffff\1\10",
+            "\1\uffff",
+            "\1\uffff",
+            "\1\uffff",
+            "\1\uffff",
+            "\1\uffff",
+            "\1\uffff",
+            "\1\uffff",
+            "",
+            ""
+    };
+
+    static final short[] DFA142_eot = DFA.unpackEncodedString(DFA142_eotS);
+    static final short[] DFA142_eof = DFA.unpackEncodedString(DFA142_eofS);
+    static final char[] DFA142_min = DFA.unpackEncodedStringToUnsignedChars(DFA142_minS);
+    static final char[] DFA142_max = DFA.unpackEncodedStringToUnsignedChars(DFA142_maxS);
+    static final short[] DFA142_accept = DFA.unpackEncodedString(DFA142_acceptS);
+    static final short[] DFA142_special = DFA.unpackEncodedString(DFA142_specialS);
+    static final short[][] DFA142_transition;
+
+    static {
+        int numStates = DFA142_transitionS.length;
+        DFA142_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA142_transition[i] = DFA.unpackEncodedString(DFA142_transitionS[i]);
+        }
+    }
+
+    class DFA142 extends DFA {
+
+        public DFA142(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 142;
+            this.eot = DFA142_eot;
+            this.eof = DFA142_eof;
+            this.min = DFA142_min;
+            this.max = DFA142_max;
+            this.accept = DFA142_accept;
+            this.special = DFA142_special;
+            this.transition = DFA142_transition;
+        }
+        public String getDescription() {
+            return "18111:1: ( rule__XAssignment__Group_1_1__0 )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA142_4 = input.LA(1);
+
+                         
+                        int index142_4 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred208_InternalEntityMockDSL()) ) {s = 9;}
+
+                        else if ( (true) ) {s = 8;}
+
+                         
+                        input.seek(index142_4);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 1 : 
+                        int LA142_3 = input.LA(1);
+
+                         
+                        int index142_3 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred208_InternalEntityMockDSL()) ) {s = 9;}
+
+                        else if ( (true) ) {s = 8;}
+
+                         
+                        input.seek(index142_3);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 2 : 
+                        int LA142_6 = input.LA(1);
+
+                         
+                        int index142_6 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred208_InternalEntityMockDSL()) ) {s = 9;}
+
+                        else if ( (true) ) {s = 8;}
+
+                         
+                        input.seek(index142_6);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 3 : 
+                        int LA142_2 = input.LA(1);
+
+                         
+                        int index142_2 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred208_InternalEntityMockDSL()) ) {s = 9;}
+
+                        else if ( (true) ) {s = 8;}
+
+                         
+                        input.seek(index142_2);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 4 : 
+                        int LA142_7 = input.LA(1);
+
+                         
+                        int index142_7 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred208_InternalEntityMockDSL()) ) {s = 9;}
+
+                        else if ( (true) ) {s = 8;}
+
+                         
+                        input.seek(index142_7);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 5 : 
+                        int LA142_1 = input.LA(1);
+
+                         
+                        int index142_1 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred208_InternalEntityMockDSL()) ) {s = 9;}
+
+                        else if ( (true) ) {s = 8;}
+
+                         
+                        input.seek(index142_1);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 6 : 
+                        int LA142_5 = input.LA(1);
+
+                         
+                        int index142_5 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred208_InternalEntityMockDSL()) ) {s = 9;}
+
+                        else if ( (true) ) {s = 8;}
+
+                         
+                        input.seek(index142_5);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 142, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+    static final String DFA148_eotS =
+        "\13\uffff";
+    static final String DFA148_eofS =
+        "\1\1\12\uffff";
+    static final String DFA148_minS =
+        "\1\4\1\uffff\10\0\1\uffff";
+    static final String DFA148_maxS =
+        "\1\u009c\1\uffff\10\0\1\uffff";
+    static final String DFA148_acceptS =
+        "\1\uffff\1\2\10\uffff\1\1";
+    static final String DFA148_specialS =
+        "\2\uffff\1\0\1\6\1\3\1\4\1\7\1\1\1\2\1\5\1\uffff}>";
+    static final String[] DFA148_transitionS = {
+            "\5\1\5\uffff\2\1\1\uffff\12\1\1\3\1\2\1\4\1\5\1\6\1\7\1\10"+
+            "\1\11\21\1\5\uffff\2\1\10\uffff\3\1\2\uffff\1\1\52\uffff\1\1"+
+            "\10\uffff\27\1\6\uffff\2\1\1\uffff\1\1",
+            "",
+            "\1\uffff",
+            "\1\uffff",
+            "\1\uffff",
+            "\1\uffff",
+            "\1\uffff",
+            "\1\uffff",
+            "\1\uffff",
+            "\1\uffff",
+            ""
+    };
+
+    static final short[] DFA148_eot = DFA.unpackEncodedString(DFA148_eotS);
+    static final short[] DFA148_eof = DFA.unpackEncodedString(DFA148_eofS);
+    static final char[] DFA148_min = DFA.unpackEncodedStringToUnsignedChars(DFA148_minS);
+    static final char[] DFA148_max = DFA.unpackEncodedStringToUnsignedChars(DFA148_maxS);
+    static final short[] DFA148_accept = DFA.unpackEncodedString(DFA148_acceptS);
+    static final short[] DFA148_special = DFA.unpackEncodedString(DFA148_specialS);
+    static final short[][] DFA148_transition;
+
+    static {
+        int numStates = DFA148_transitionS.length;
+        DFA148_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA148_transition[i] = DFA.unpackEncodedString(DFA148_transitionS[i]);
+        }
+    }
+
+    class DFA148 extends DFA {
+
+        public DFA148(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 148;
+            this.eot = DFA148_eot;
+            this.eof = DFA148_eof;
+            this.min = DFA148_min;
+            this.max = DFA148_max;
+            this.accept = DFA148_accept;
+            this.special = DFA148_special;
+            this.transition = DFA148_transition;
+        }
+        public String getDescription() {
+            return "()* loopback of 19603:1: ( rule__XOtherOperatorExpression__Group_1__0 )*";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA148_2 = input.LA(1);
+
+                         
+                        int index148_2 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred214_InternalEntityMockDSL()) ) {s = 10;}
+
+                        else if ( (true) ) {s = 1;}
+
+                         
+                        input.seek(index148_2);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 1 : 
+                        int LA148_7 = input.LA(1);
+
+                         
+                        int index148_7 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred214_InternalEntityMockDSL()) ) {s = 10;}
+
+                        else if ( (true) ) {s = 1;}
+
+                         
+                        input.seek(index148_7);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 2 : 
+                        int LA148_8 = input.LA(1);
+
+                         
+                        int index148_8 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred214_InternalEntityMockDSL()) ) {s = 10;}
+
+                        else if ( (true) ) {s = 1;}
+
+                         
+                        input.seek(index148_8);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 3 : 
+                        int LA148_4 = input.LA(1);
+
+                         
+                        int index148_4 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred214_InternalEntityMockDSL()) ) {s = 10;}
+
+                        else if ( (true) ) {s = 1;}
+
+                         
+                        input.seek(index148_4);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 4 : 
+                        int LA148_5 = input.LA(1);
+
+                         
+                        int index148_5 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred214_InternalEntityMockDSL()) ) {s = 10;}
+
+                        else if ( (true) ) {s = 1;}
+
+                         
+                        input.seek(index148_5);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 5 : 
+                        int LA148_9 = input.LA(1);
+
+                         
+                        int index148_9 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred214_InternalEntityMockDSL()) ) {s = 10;}
+
+                        else if ( (true) ) {s = 1;}
+
+                         
+                        input.seek(index148_9);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 6 : 
+                        int LA148_3 = input.LA(1);
+
+                         
+                        int index148_3 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred214_InternalEntityMockDSL()) ) {s = 10;}
+
+                        else if ( (true) ) {s = 1;}
+
+                         
+                        input.seek(index148_3);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 7 : 
+                        int LA148_6 = input.LA(1);
+
+                         
+                        int index148_6 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred214_InternalEntityMockDSL()) ) {s = 10;}
+
+                        else if ( (true) ) {s = 1;}
+
+                         
+                        input.seek(index148_6);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 148, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+    static final String DFA155_eotS =
+        "\116\uffff";
+    static final String DFA155_eofS =
+        "\1\2\115\uffff";
+    static final String DFA155_minS =
+        "\1\4\1\0\114\uffff";
+    static final String DFA155_maxS =
+        "\1\u009c\1\0\114\uffff";
+    static final String DFA155_acceptS =
+        "\2\uffff\1\2\112\uffff\1\1";
+    static final String DFA155_specialS =
+        "\1\uffff\1\0\114\uffff}>";
+    static final String[] DFA155_transitionS = {
+            "\5\2\5\uffff\2\2\1\uffff\43\2\5\uffff\2\2\10\uffff\1\1\2\2"+
+            "\2\uffff\1\2\52\uffff\1\2\10\uffff\27\2\6\uffff\2\2\1\uffff"+
+            "\1\2",
+            "\1\uffff",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+    };
+
+    static final short[] DFA155_eot = DFA.unpackEncodedString(DFA155_eotS);
+    static final short[] DFA155_eof = DFA.unpackEncodedString(DFA155_eofS);
+    static final char[] DFA155_min = DFA.unpackEncodedStringToUnsignedChars(DFA155_minS);
+    static final char[] DFA155_max = DFA.unpackEncodedStringToUnsignedChars(DFA155_maxS);
+    static final short[] DFA155_accept = DFA.unpackEncodedString(DFA155_acceptS);
+    static final short[] DFA155_special = DFA.unpackEncodedString(DFA155_specialS);
+    static final short[][] DFA155_transition;
+
+    static {
+        int numStates = DFA155_transitionS.length;
+        DFA155_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA155_transition[i] = DFA.unpackEncodedString(DFA155_transitionS[i]);
+        }
+    }
+
+    class DFA155 extends DFA {
+
+        public DFA155(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 155;
+            this.eot = DFA155_eot;
+            this.eof = DFA155_eof;
+            this.min = DFA155_min;
+            this.max = DFA155_max;
+            this.accept = DFA155_accept;
+            this.special = DFA155_special;
+            this.transition = DFA155_transition;
+        }
+        public String getDescription() {
+            return "21430:1: ( rule__XMemberFeatureCall__Group_1_1_3__0 )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA155_1 = input.LA(1);
+
+                         
+                        int index155_1 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred221_InternalEntityMockDSL()) ) {s = 77;}
+
+                        else if ( (true) ) {s = 2;}
+
+                         
+                        input.seek(index155_1);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 155, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+    static final String DFA156_eotS =
+        "\116\uffff";
+    static final String DFA156_eofS =
+        "\1\2\115\uffff";
+    static final String DFA156_minS =
+        "\1\4\1\0\114\uffff";
+    static final String DFA156_maxS =
+        "\1\u009c\1\0\114\uffff";
+    static final String DFA156_acceptS =
+        "\2\uffff\1\2\112\uffff\1\1";
+    static final String DFA156_specialS =
+        "\1\uffff\1\0\114\uffff}>";
+    static final String[] DFA156_transitionS = {
+            "\5\2\5\uffff\2\2\1\uffff\43\2\5\uffff\2\2\10\uffff\3\2\2\uffff"+
+            "\1\2\52\uffff\1\2\10\uffff\2\2\1\1\24\2\6\uffff\2\2\1\uffff"+
+            "\1\2",
+            "\1\uffff",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+    };
+
+    static final short[] DFA156_eot = DFA.unpackEncodedString(DFA156_eotS);
+    static final short[] DFA156_eof = DFA.unpackEncodedString(DFA156_eofS);
+    static final char[] DFA156_min = DFA.unpackEncodedStringToUnsignedChars(DFA156_minS);
+    static final char[] DFA156_max = DFA.unpackEncodedStringToUnsignedChars(DFA156_maxS);
+    static final short[] DFA156_accept = DFA.unpackEncodedString(DFA156_acceptS);
+    static final short[] DFA156_special = DFA.unpackEncodedString(DFA156_specialS);
+    static final short[][] DFA156_transition;
+
+    static {
+        int numStates = DFA156_transitionS.length;
+        DFA156_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA156_transition[i] = DFA.unpackEncodedString(DFA156_transitionS[i]);
+        }
+    }
+
+    class DFA156 extends DFA {
+
+        public DFA156(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 156;
+            this.eot = DFA156_eot;
+            this.eof = DFA156_eof;
+            this.min = DFA156_min;
+            this.max = DFA156_max;
+            this.accept = DFA156_accept;
+            this.special = DFA156_special;
+            this.transition = DFA156_transition;
+        }
+        public String getDescription() {
+            return "21458:1: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA156_1 = input.LA(1);
+
+                         
+                        int index156_1 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred222_InternalEntityMockDSL()) ) {s = 77;}
+
+                        else if ( (true) ) {s = 2;}
+
+                         
+                        input.seek(index156_1);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 156, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+    static final String DFA164_eotS =
+        "\46\uffff";
+    static final String DFA164_eofS =
+        "\46\uffff";
+    static final String DFA164_minS =
+        "\1\4\2\0\43\uffff";
+    static final String DFA164_maxS =
+        "\1\u009c\2\0\43\uffff";
+    static final String DFA164_acceptS =
+        "\3\uffff\1\1\1\uffff\1\2\40\uffff";
+    static final String DFA164_specialS =
+        "\1\uffff\1\0\1\1\43\uffff}>";
+    static final String[] DFA164_transitionS = {
+            "\1\1\4\5\23\uffff\1\5\3\uffff\1\3\2\uffff\2\5\4\uffff\1\5\3"+
+            "\uffff\7\5\5\uffff\1\5\11\uffff\1\2\4\uffff\1\5\63\uffff\3\5"+
+            "\2\uffff\1\5\1\uffff\1\5\3\uffff\11\5\1\uffff\1\5\11\uffff\1"+
+            "\3\1\5",
+            "\1\uffff",
+            "\1\uffff",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+    };
+
+    static final short[] DFA164_eot = DFA.unpackEncodedString(DFA164_eotS);
+    static final short[] DFA164_eof = DFA.unpackEncodedString(DFA164_eofS);
+    static final char[] DFA164_min = DFA.unpackEncodedStringToUnsignedChars(DFA164_minS);
+    static final char[] DFA164_max = DFA.unpackEncodedStringToUnsignedChars(DFA164_maxS);
+    static final short[] DFA164_accept = DFA.unpackEncodedString(DFA164_acceptS);
+    static final short[] DFA164_special = DFA.unpackEncodedString(DFA164_specialS);
+    static final short[][] DFA164_transition;
+
+    static {
+        int numStates = DFA164_transitionS.length;
+        DFA164_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA164_transition[i] = DFA.unpackEncodedString(DFA164_transitionS[i]);
+        }
+    }
+
+    class DFA164 extends DFA {
+
+        public DFA164(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 164;
+            this.eot = DFA164_eot;
+            this.eof = DFA164_eof;
+            this.min = DFA164_min;
+            this.max = DFA164_max;
+            this.accept = DFA164_accept;
+            this.special = DFA164_special;
+            this.transition = DFA164_transition;
+        }
+        public String getDescription() {
+            return "22599:1: ( rule__XClosure__Group_1__0 )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA164_1 = input.LA(1);
+
+                         
+                        int index164_1 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred230_InternalEntityMockDSL()) ) {s = 3;}
+
+                        else if ( (true) ) {s = 5;}
+
+                         
+                        input.seek(index164_1);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 1 : 
+                        int LA164_2 = input.LA(1);
+
+                         
+                        int index164_2 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred230_InternalEntityMockDSL()) ) {s = 3;}
+
+                        else if ( (true) ) {s = 5;}
+
+                         
+                        input.seek(index164_2);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 164, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+    static final String DFA174_eotS =
+        "\42\uffff";
+    static final String DFA174_eofS =
+        "\42\uffff";
+    static final String DFA174_minS =
+        "\1\4\2\0\37\uffff";
+    static final String DFA174_maxS =
+        "\1\u009c\2\0\37\uffff";
+    static final String DFA174_acceptS =
+        "\3\uffff\1\1\1\2\35\uffff";
+    static final String DFA174_specialS =
+        "\1\uffff\1\0\1\1\37\uffff}>";
+    static final String[] DFA174_transitionS = {
+            "\1\1\4\4\23\uffff\1\4\3\uffff\1\3\2\uffff\2\4\4\uffff\1\4\4"+
+            "\uffff\6\4\5\uffff\1\4\11\uffff\1\2\71\uffff\2\4\2\uffff\1\4"+
+            "\1\uffff\1\4\3\uffff\11\4\1\uffff\1\4\12\uffff\1\4",
+            "\1\uffff",
+            "\1\uffff",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+    };
+
+    static final short[] DFA174_eot = DFA.unpackEncodedString(DFA174_eotS);
+    static final short[] DFA174_eof = DFA.unpackEncodedString(DFA174_eofS);
+    static final char[] DFA174_min = DFA.unpackEncodedStringToUnsignedChars(DFA174_minS);
+    static final char[] DFA174_max = DFA.unpackEncodedStringToUnsignedChars(DFA174_maxS);
+    static final short[] DFA174_accept = DFA.unpackEncodedString(DFA174_acceptS);
+    static final short[] DFA174_special = DFA.unpackEncodedString(DFA174_specialS);
+    static final short[][] DFA174_transition;
+
+    static {
+        int numStates = DFA174_transitionS.length;
+        DFA174_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA174_transition[i] = DFA.unpackEncodedString(DFA174_transitionS[i]);
+        }
+    }
+
+    class DFA174 extends DFA {
+
+        public DFA174(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 174;
+            this.eot = DFA174_eot;
+            this.eof = DFA174_eof;
+            this.min = DFA174_min;
+            this.max = DFA174_max;
+            this.accept = DFA174_accept;
+            this.special = DFA174_special;
+            this.transition = DFA174_transition;
+        }
+        public String getDescription() {
+            return "24267:1: ( rule__XSwitchExpression__Group_2_1_0__0 )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA174_1 = input.LA(1);
+
+                         
+                        int index174_1 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred240_InternalEntityMockDSL()) ) {s = 3;}
+
+                        else if ( (true) ) {s = 4;}
+
+                         
+                        input.seek(index174_1);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 1 : 
+                        int LA174_2 = input.LA(1);
+
+                         
+                        int index174_2 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred240_InternalEntityMockDSL()) ) {s = 3;}
+
+                        else if ( (true) ) {s = 4;}
+
+                         
+                        input.seek(index174_2);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 174, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+    static final String DFA187_eotS =
+        "\116\uffff";
+    static final String DFA187_eofS =
+        "\1\2\115\uffff";
+    static final String DFA187_minS =
+        "\1\4\1\0\114\uffff";
+    static final String DFA187_maxS =
+        "\1\u009c\1\0\114\uffff";
+    static final String DFA187_acceptS =
+        "\2\uffff\1\2\112\uffff\1\1";
+    static final String DFA187_specialS =
+        "\1\uffff\1\0\114\uffff}>";
+    static final String[] DFA187_transitionS = {
+            "\5\2\5\uffff\2\2\1\uffff\43\2\5\uffff\2\2\10\uffff\1\1\2\2"+
+            "\2\uffff\1\2\52\uffff\1\2\10\uffff\27\2\6\uffff\2\2\1\uffff"+
+            "\1\2",
+            "\1\uffff",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+    };
+
+    static final short[] DFA187_eot = DFA.unpackEncodedString(DFA187_eotS);
+    static final short[] DFA187_eof = DFA.unpackEncodedString(DFA187_eofS);
+    static final char[] DFA187_min = DFA.unpackEncodedStringToUnsignedChars(DFA187_minS);
+    static final char[] DFA187_max = DFA.unpackEncodedStringToUnsignedChars(DFA187_maxS);
+    static final short[] DFA187_accept = DFA.unpackEncodedString(DFA187_acceptS);
+    static final short[] DFA187_special = DFA.unpackEncodedString(DFA187_specialS);
+    static final short[][] DFA187_transition;
+
+    static {
+        int numStates = DFA187_transitionS.length;
+        DFA187_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA187_transition[i] = DFA.unpackEncodedString(DFA187_transitionS[i]);
+        }
+    }
+
+    class DFA187 extends DFA {
+
+        public DFA187(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 187;
+            this.eot = DFA187_eot;
+            this.eof = DFA187_eof;
+            this.min = DFA187_min;
+            this.max = DFA187_max;
+            this.accept = DFA187_accept;
+            this.special = DFA187_special;
+            this.transition = DFA187_transition;
+        }
+        public String getDescription() {
+            return "26755:1: ( rule__XFeatureCall__Group_3__0 )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA187_1 = input.LA(1);
+
+                         
+                        int index187_1 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred253_InternalEntityMockDSL()) ) {s = 77;}
+
+                        else if ( (true) ) {s = 2;}
+
+                         
+                        input.seek(index187_1);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 187, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+    static final String DFA188_eotS =
+        "\116\uffff";
+    static final String DFA188_eofS =
+        "\1\2\115\uffff";
+    static final String DFA188_minS =
+        "\1\4\1\0\114\uffff";
+    static final String DFA188_maxS =
+        "\1\u009c\1\0\114\uffff";
+    static final String DFA188_acceptS =
+        "\2\uffff\1\2\112\uffff\1\1";
+    static final String DFA188_specialS =
+        "\1\uffff\1\0\114\uffff}>";
+    static final String[] DFA188_transitionS = {
+            "\5\2\5\uffff\2\2\1\uffff\43\2\5\uffff\2\2\10\uffff\3\2\2\uffff"+
+            "\1\2\52\uffff\1\2\10\uffff\2\2\1\1\24\2\6\uffff\2\2\1\uffff"+
+            "\1\2",
+            "\1\uffff",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+    };
+
+    static final short[] DFA188_eot = DFA.unpackEncodedString(DFA188_eotS);
+    static final short[] DFA188_eof = DFA.unpackEncodedString(DFA188_eofS);
+    static final char[] DFA188_min = DFA.unpackEncodedStringToUnsignedChars(DFA188_minS);
+    static final char[] DFA188_max = DFA.unpackEncodedStringToUnsignedChars(DFA188_maxS);
+    static final short[] DFA188_accept = DFA.unpackEncodedString(DFA188_acceptS);
+    static final short[] DFA188_special = DFA.unpackEncodedString(DFA188_specialS);
+    static final short[][] DFA188_transition;
+
+    static {
+        int numStates = DFA188_transitionS.length;
+        DFA188_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA188_transition[i] = DFA.unpackEncodedString(DFA188_transitionS[i]);
+        }
+    }
+
+    class DFA188 extends DFA {
+
+        public DFA188(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 188;
+            this.eot = DFA188_eot;
+            this.eof = DFA188_eof;
+            this.min = DFA188_min;
+            this.max = DFA188_max;
+            this.accept = DFA188_accept;
+            this.special = DFA188_special;
+            this.transition = DFA188_transition;
+        }
+        public String getDescription() {
+            return "26783:1: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_4 )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA188_1 = input.LA(1);
+
+                         
+                        int index188_1 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred254_InternalEntityMockDSL()) ) {s = 77;}
+
+                        else if ( (true) ) {s = 2;}
+
+                         
+                        input.seek(index188_1);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 188, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+    static final String DFA192_eotS =
+        "\116\uffff";
+    static final String DFA192_eofS =
+        "\1\2\115\uffff";
+    static final String DFA192_minS =
+        "\1\4\1\0\114\uffff";
+    static final String DFA192_maxS =
+        "\1\u009c\1\0\114\uffff";
+    static final String DFA192_acceptS =
+        "\2\uffff\1\2\112\uffff\1\1";
+    static final String DFA192_specialS =
+        "\1\uffff\1\0\114\uffff}>";
+    static final String[] DFA192_transitionS = {
+            "\5\2\5\uffff\2\2\1\uffff\13\2\1\1\27\2\5\uffff\2\2\10\uffff"+
+            "\3\2\2\uffff\1\2\52\uffff\1\2\10\uffff\27\2\6\uffff\2\2\1\uffff"+
+            "\1\2",
+            "\1\uffff",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+    };
+
+    static final short[] DFA192_eot = DFA.unpackEncodedString(DFA192_eotS);
+    static final short[] DFA192_eof = DFA.unpackEncodedString(DFA192_eofS);
+    static final char[] DFA192_min = DFA.unpackEncodedStringToUnsignedChars(DFA192_minS);
+    static final char[] DFA192_max = DFA.unpackEncodedStringToUnsignedChars(DFA192_maxS);
+    static final short[] DFA192_accept = DFA.unpackEncodedString(DFA192_acceptS);
+    static final short[] DFA192_special = DFA.unpackEncodedString(DFA192_specialS);
+    static final short[][] DFA192_transition;
+
+    static {
+        int numStates = DFA192_transitionS.length;
+        DFA192_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA192_transition[i] = DFA.unpackEncodedString(DFA192_transitionS[i]);
+        }
+    }
+
+    class DFA192 extends DFA {
+
+        public DFA192(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 192;
+            this.eot = DFA192_eot;
+            this.eof = DFA192_eof;
+            this.min = DFA192_min;
+            this.max = DFA192_max;
+            this.accept = DFA192_accept;
+            this.special = DFA192_special;
+            this.transition = DFA192_transition;
+        }
+        public String getDescription() {
+            return "27321:1: ( rule__XConstructorCall__Group_3__0 )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA192_1 = input.LA(1);
+
+                         
+                        int index192_1 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred258_InternalEntityMockDSL()) ) {s = 77;}
+
+                        else if ( (true) ) {s = 2;}
+
+                         
+                        input.seek(index192_1);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 192, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+    static final String DFA193_eotS =
+        "\116\uffff";
+    static final String DFA193_eofS =
+        "\1\2\115\uffff";
+    static final String DFA193_minS =
+        "\1\4\1\0\114\uffff";
+    static final String DFA193_maxS =
+        "\1\u009c\1\0\114\uffff";
+    static final String DFA193_acceptS =
+        "\2\uffff\1\2\112\uffff\1\1";
+    static final String DFA193_specialS =
+        "\1\uffff\1\0\114\uffff}>";
+    static final String[] DFA193_transitionS = {
+            "\5\2\5\uffff\2\2\1\uffff\43\2\5\uffff\2\2\10\uffff\1\1\2\2"+
+            "\2\uffff\1\2\52\uffff\1\2\10\uffff\27\2\6\uffff\2\2\1\uffff"+
+            "\1\2",
+            "\1\uffff",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+    };
+
+    static final short[] DFA193_eot = DFA.unpackEncodedString(DFA193_eotS);
+    static final short[] DFA193_eof = DFA.unpackEncodedString(DFA193_eofS);
+    static final char[] DFA193_min = DFA.unpackEncodedStringToUnsignedChars(DFA193_minS);
+    static final char[] DFA193_max = DFA.unpackEncodedStringToUnsignedChars(DFA193_maxS);
+    static final short[] DFA193_accept = DFA.unpackEncodedString(DFA193_acceptS);
+    static final short[] DFA193_special = DFA.unpackEncodedString(DFA193_specialS);
+    static final short[][] DFA193_transition;
+
+    static {
+        int numStates = DFA193_transitionS.length;
+        DFA193_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA193_transition[i] = DFA.unpackEncodedString(DFA193_transitionS[i]);
+        }
+    }
+
+    class DFA193 extends DFA {
+
+        public DFA193(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 193;
+            this.eot = DFA193_eot;
+            this.eof = DFA193_eof;
+            this.min = DFA193_min;
+            this.max = DFA193_max;
+            this.accept = DFA193_accept;
+            this.special = DFA193_special;
+            this.transition = DFA193_transition;
+        }
+        public String getDescription() {
+            return "27350:1: ( rule__XConstructorCall__Group_4__0 )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA193_1 = input.LA(1);
+
+                         
+                        int index193_1 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred259_InternalEntityMockDSL()) ) {s = 77;}
+
+                        else if ( (true) ) {s = 2;}
+
+                         
+                        input.seek(index193_1);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 193, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+    static final String DFA194_eotS =
+        "\116\uffff";
+    static final String DFA194_eofS =
+        "\1\2\115\uffff";
+    static final String DFA194_minS =
+        "\1\4\1\0\114\uffff";
+    static final String DFA194_maxS =
+        "\1\u009c\1\0\114\uffff";
+    static final String DFA194_acceptS =
+        "\2\uffff\1\2\112\uffff\1\1";
+    static final String DFA194_specialS =
+        "\1\uffff\1\0\114\uffff}>";
+    static final String[] DFA194_transitionS = {
+            "\5\2\5\uffff\2\2\1\uffff\43\2\5\uffff\2\2\10\uffff\3\2\2\uffff"+
+            "\1\2\52\uffff\1\2\10\uffff\2\2\1\1\24\2\6\uffff\2\2\1\uffff"+
+            "\1\2",
+            "\1\uffff",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+    };
+
+    static final short[] DFA194_eot = DFA.unpackEncodedString(DFA194_eotS);
+    static final short[] DFA194_eof = DFA.unpackEncodedString(DFA194_eofS);
+    static final char[] DFA194_min = DFA.unpackEncodedStringToUnsignedChars(DFA194_minS);
+    static final char[] DFA194_max = DFA.unpackEncodedStringToUnsignedChars(DFA194_maxS);
+    static final short[] DFA194_accept = DFA.unpackEncodedString(DFA194_acceptS);
+    static final short[] DFA194_special = DFA.unpackEncodedString(DFA194_specialS);
+    static final short[][] DFA194_transition;
+
+    static {
+        int numStates = DFA194_transitionS.length;
+        DFA194_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA194_transition[i] = DFA.unpackEncodedString(DFA194_transitionS[i]);
+        }
+    }
+
+    class DFA194 extends DFA {
+
+        public DFA194(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 194;
+            this.eot = DFA194_eot;
+            this.eof = DFA194_eof;
+            this.min = DFA194_min;
+            this.max = DFA194_max;
+            this.accept = DFA194_accept;
+            this.special = DFA194_special;
+            this.transition = DFA194_transition;
+        }
+        public String getDescription() {
+            return "27378:1: ( rule__XConstructorCall__ArgumentsAssignment_5 )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA194_1 = input.LA(1);
+
+                         
+                        int index194_1 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred260_InternalEntityMockDSL()) ) {s = 77;}
+
+                        else if ( (true) ) {s = 2;}
+
+                         
+                        input.seek(index194_1);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 194, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+    static final String DFA199_eotS =
+        "\116\uffff";
+    static final String DFA199_eofS =
+        "\1\41\115\uffff";
+    static final String DFA199_minS =
+        "\1\4\40\0\55\uffff";
+    static final String DFA199_maxS =
+        "\1\u009c\40\0\55\uffff";
+    static final String DFA199_acceptS =
+        "\41\uffff\1\2\53\uffff\1\1";
+    static final String DFA199_specialS =
+        "\1\uffff\1\0\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1"+
+        "\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23\1\24\1\25\1\26\1\27\1\30"+
+        "\1\31\1\32\1\33\1\34\1\35\1\36\1\37\55\uffff}>";
+    static final String[] DFA199_transitionS = {
+            "\1\1\1\23\1\24\1\25\1\27\5\uffff\2\41\1\uffff\13\41\1\15\6"+
+            "\41\1\10\1\7\4\41\1\6\4\41\1\2\1\3\1\4\1\5\1\16\1\21\5\uffff"+
+            "\1\12\1\41\10\uffff\1\40\2\41\2\uffff\1\41\52\uffff\1\41\10"+
+            "\uffff\1\41\1\17\1\20\2\41\1\31\1\41\1\13\3\41\1\32\1\33\1\34"+
+            "\1\11\1\26\1\30\1\35\1\36\1\37\1\41\1\14\1\41\6\uffff\2\41\1"+
+            "\uffff\1\22",
+            "\1\uffff",
+            "\1\uffff",
+            "\1\uffff",
+            "\1\uffff",
+            "\1\uffff",
+            "\1\uffff",
+            "\1\uffff",
+            "\1\uffff",
+            "\1\uffff",
+            "\1\uffff",
+            "\1\uffff",
+            "\1\uffff",
+            "\1\uffff",
+            "\1\uffff",
+            "\1\uffff",
+            "\1\uffff",
+            "\1\uffff",
+            "\1\uffff",
+            "\1\uffff",
+            "\1\uffff",
+            "\1\uffff",
+            "\1\uffff",
+            "\1\uffff",
+            "\1\uffff",
+            "\1\uffff",
+            "\1\uffff",
+            "\1\uffff",
+            "\1\uffff",
+            "\1\uffff",
+            "\1\uffff",
+            "\1\uffff",
+            "\1\uffff",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+    };
+
+    static final short[] DFA199_eot = DFA.unpackEncodedString(DFA199_eotS);
+    static final short[] DFA199_eof = DFA.unpackEncodedString(DFA199_eofS);
+    static final char[] DFA199_min = DFA.unpackEncodedStringToUnsignedChars(DFA199_minS);
+    static final char[] DFA199_max = DFA.unpackEncodedStringToUnsignedChars(DFA199_maxS);
+    static final short[] DFA199_accept = DFA.unpackEncodedString(DFA199_acceptS);
+    static final short[] DFA199_special = DFA.unpackEncodedString(DFA199_specialS);
+    static final short[][] DFA199_transition;
+
+    static {
+        int numStates = DFA199_transitionS.length;
+        DFA199_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA199_transition[i] = DFA.unpackEncodedString(DFA199_transitionS[i]);
+        }
+    }
+
+    class DFA199 extends DFA {
+
+        public DFA199(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 199;
+            this.eot = DFA199_eot;
+            this.eof = DFA199_eof;
+            this.min = DFA199_min;
+            this.max = DFA199_max;
+            this.accept = DFA199_accept;
+            this.special = DFA199_special;
+            this.transition = DFA199_transition;
+        }
+        public String getDescription() {
+            return "28431:1: ( rule__XReturnExpression__ExpressionAssignment_2 )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA199_1 = input.LA(1);
+
+                         
+                        int index199_1 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred265_InternalEntityMockDSL()) ) {s = 77;}
+
+                        else if ( (true) ) {s = 33;}
+
+                         
+                        input.seek(index199_1);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 1 : 
+                        int LA199_2 = input.LA(1);
+
+                         
+                        int index199_2 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred265_InternalEntityMockDSL()) ) {s = 77;}
+
+                        else if ( (true) ) {s = 33;}
+
+                         
+                        input.seek(index199_2);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 2 : 
+                        int LA199_3 = input.LA(1);
+
+                         
+                        int index199_3 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred265_InternalEntityMockDSL()) ) {s = 77;}
+
+                        else if ( (true) ) {s = 33;}
+
+                         
+                        input.seek(index199_3);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 3 : 
+                        int LA199_4 = input.LA(1);
+
+                         
+                        int index199_4 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred265_InternalEntityMockDSL()) ) {s = 77;}
+
+                        else if ( (true) ) {s = 33;}
+
+                         
+                        input.seek(index199_4);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 4 : 
+                        int LA199_5 = input.LA(1);
+
+                         
+                        int index199_5 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred265_InternalEntityMockDSL()) ) {s = 77;}
+
+                        else if ( (true) ) {s = 33;}
+
+                         
+                        input.seek(index199_5);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 5 : 
+                        int LA199_6 = input.LA(1);
+
+                         
+                        int index199_6 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred265_InternalEntityMockDSL()) ) {s = 77;}
+
+                        else if ( (true) ) {s = 33;}
+
+                         
+                        input.seek(index199_6);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 6 : 
+                        int LA199_7 = input.LA(1);
+
+                         
+                        int index199_7 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred265_InternalEntityMockDSL()) ) {s = 77;}
+
+                        else if ( (true) ) {s = 33;}
+
+                         
+                        input.seek(index199_7);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 7 : 
+                        int LA199_8 = input.LA(1);
+
+                         
+                        int index199_8 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred265_InternalEntityMockDSL()) ) {s = 77;}
+
+                        else if ( (true) ) {s = 33;}
+
+                         
+                        input.seek(index199_8);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 8 : 
+                        int LA199_9 = input.LA(1);
+
+                         
+                        int index199_9 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred265_InternalEntityMockDSL()) ) {s = 77;}
+
+                        else if ( (true) ) {s = 33;}
+
+                         
+                        input.seek(index199_9);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 9 : 
+                        int LA199_10 = input.LA(1);
+
+                         
+                        int index199_10 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred265_InternalEntityMockDSL()) ) {s = 77;}
+
+                        else if ( (true) ) {s = 33;}
+
+                         
+                        input.seek(index199_10);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 10 : 
+                        int LA199_11 = input.LA(1);
+
+                         
+                        int index199_11 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred265_InternalEntityMockDSL()) ) {s = 77;}
+
+                        else if ( (true) ) {s = 33;}
+
+                         
+                        input.seek(index199_11);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 11 : 
+                        int LA199_12 = input.LA(1);
+
+                         
+                        int index199_12 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred265_InternalEntityMockDSL()) ) {s = 77;}
+
+                        else if ( (true) ) {s = 33;}
+
+                         
+                        input.seek(index199_12);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 12 : 
+                        int LA199_13 = input.LA(1);
+
+                         
+                        int index199_13 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred265_InternalEntityMockDSL()) ) {s = 77;}
+
+                        else if ( (true) ) {s = 33;}
+
+                         
+                        input.seek(index199_13);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 13 : 
+                        int LA199_14 = input.LA(1);
+
+                         
+                        int index199_14 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred265_InternalEntityMockDSL()) ) {s = 77;}
+
+                        else if ( (true) ) {s = 33;}
+
+                         
+                        input.seek(index199_14);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 14 : 
+                        int LA199_15 = input.LA(1);
+
+                         
+                        int index199_15 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred265_InternalEntityMockDSL()) ) {s = 77;}
+
+                        else if ( (true) ) {s = 33;}
+
+                         
+                        input.seek(index199_15);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 15 : 
+                        int LA199_16 = input.LA(1);
+
+                         
+                        int index199_16 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred265_InternalEntityMockDSL()) ) {s = 77;}
+
+                        else if ( (true) ) {s = 33;}
+
+                         
+                        input.seek(index199_16);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 16 : 
+                        int LA199_17 = input.LA(1);
+
+                         
+                        int index199_17 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred265_InternalEntityMockDSL()) ) {s = 77;}
+
+                        else if ( (true) ) {s = 33;}
+
+                         
+                        input.seek(index199_17);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 17 : 
+                        int LA199_18 = input.LA(1);
+
+                         
+                        int index199_18 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred265_InternalEntityMockDSL()) ) {s = 77;}
+
+                        else if ( (true) ) {s = 33;}
+
+                         
+                        input.seek(index199_18);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 18 : 
+                        int LA199_19 = input.LA(1);
+
+                         
+                        int index199_19 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred265_InternalEntityMockDSL()) ) {s = 77;}
+
+                        else if ( (true) ) {s = 33;}
+
+                         
+                        input.seek(index199_19);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 19 : 
+                        int LA199_20 = input.LA(1);
+
+                         
+                        int index199_20 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred265_InternalEntityMockDSL()) ) {s = 77;}
+
+                        else if ( (true) ) {s = 33;}
+
+                         
+                        input.seek(index199_20);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 20 : 
+                        int LA199_21 = input.LA(1);
+
+                         
+                        int index199_21 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred265_InternalEntityMockDSL()) ) {s = 77;}
+
+                        else if ( (true) ) {s = 33;}
+
+                         
+                        input.seek(index199_21);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 21 : 
+                        int LA199_22 = input.LA(1);
+
+                         
+                        int index199_22 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred265_InternalEntityMockDSL()) ) {s = 77;}
+
+                        else if ( (true) ) {s = 33;}
+
+                         
+                        input.seek(index199_22);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 22 : 
+                        int LA199_23 = input.LA(1);
+
+                         
+                        int index199_23 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred265_InternalEntityMockDSL()) ) {s = 77;}
+
+                        else if ( (true) ) {s = 33;}
+
+                         
+                        input.seek(index199_23);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 23 : 
+                        int LA199_24 = input.LA(1);
+
+                         
+                        int index199_24 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred265_InternalEntityMockDSL()) ) {s = 77;}
+
+                        else if ( (true) ) {s = 33;}
+
+                         
+                        input.seek(index199_24);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 24 : 
+                        int LA199_25 = input.LA(1);
+
+                         
+                        int index199_25 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred265_InternalEntityMockDSL()) ) {s = 77;}
+
+                        else if ( (true) ) {s = 33;}
+
+                         
+                        input.seek(index199_25);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 25 : 
+                        int LA199_26 = input.LA(1);
+
+                         
+                        int index199_26 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred265_InternalEntityMockDSL()) ) {s = 77;}
+
+                        else if ( (true) ) {s = 33;}
+
+                         
+                        input.seek(index199_26);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 26 : 
+                        int LA199_27 = input.LA(1);
+
+                         
+                        int index199_27 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred265_InternalEntityMockDSL()) ) {s = 77;}
+
+                        else if ( (true) ) {s = 33;}
+
+                         
+                        input.seek(index199_27);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 27 : 
+                        int LA199_28 = input.LA(1);
+
+                         
+                        int index199_28 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred265_InternalEntityMockDSL()) ) {s = 77;}
+
+                        else if ( (true) ) {s = 33;}
+
+                         
+                        input.seek(index199_28);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 28 : 
+                        int LA199_29 = input.LA(1);
+
+                         
+                        int index199_29 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred265_InternalEntityMockDSL()) ) {s = 77;}
+
+                        else if ( (true) ) {s = 33;}
+
+                         
+                        input.seek(index199_29);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 29 : 
+                        int LA199_30 = input.LA(1);
+
+                         
+                        int index199_30 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred265_InternalEntityMockDSL()) ) {s = 77;}
+
+                        else if ( (true) ) {s = 33;}
+
+                         
+                        input.seek(index199_30);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 30 : 
+                        int LA199_31 = input.LA(1);
+
+                         
+                        int index199_31 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred265_InternalEntityMockDSL()) ) {s = 77;}
+
+                        else if ( (true) ) {s = 33;}
+
+                         
+                        input.seek(index199_31);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 31 : 
+                        int LA199_32 = input.LA(1);
+
+                         
+                        int index199_32 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred265_InternalEntityMockDSL()) ) {s = 77;}
+
+                        else if ( (true) ) {s = 33;}
+
+                         
+                        input.seek(index199_32);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 199, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+    static final String DFA207_eotS =
+        "\120\uffff";
+    static final String DFA207_eofS =
+        "\1\2\117\uffff";
+    static final String DFA207_minS =
+        "\1\4\1\0\116\uffff";
+    static final String DFA207_maxS =
+        "\1\u009c\1\0\116\uffff";
+    static final String DFA207_acceptS =
+        "\2\uffff\1\2\114\uffff\1\1";
+    static final String DFA207_specialS =
+        "\1\uffff\1\0\116\uffff}>";
+    static final String[] DFA207_transitionS = {
+            "\5\2\5\uffff\2\2\1\uffff\13\2\1\1\27\2\5\uffff\2\2\10\uffff"+
+            "\3\2\2\uffff\1\2\10\uffff\1\2\41\uffff\1\2\10\uffff\27\2\1\uffff"+
+            "\1\2\4\uffff\2\2\1\uffff\1\2",
+            "\1\uffff",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+    };
+
+    static final short[] DFA207_eot = DFA.unpackEncodedString(DFA207_eotS);
+    static final short[] DFA207_eof = DFA.unpackEncodedString(DFA207_eofS);
+    static final char[] DFA207_min = DFA.unpackEncodedStringToUnsignedChars(DFA207_minS);
+    static final char[] DFA207_max = DFA.unpackEncodedStringToUnsignedChars(DFA207_maxS);
+    static final short[] DFA207_accept = DFA.unpackEncodedString(DFA207_acceptS);
+    static final short[] DFA207_special = DFA.unpackEncodedString(DFA207_specialS);
+    static final short[][] DFA207_transition;
+
+    static {
+        int numStates = DFA207_transitionS.length;
+        DFA207_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA207_transition[i] = DFA.unpackEncodedString(DFA207_transitionS[i]);
+        }
+    }
+
+    class DFA207 extends DFA {
+
+        public DFA207(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 207;
+            this.eot = DFA207_eot;
+            this.eof = DFA207_eof;
+            this.min = DFA207_min;
+            this.max = DFA207_max;
+            this.accept = DFA207_accept;
+            this.special = DFA207_special;
+            this.transition = DFA207_transition;
+        }
+        public String getDescription() {
+            return "29886:1: ( rule__JvmParameterizedTypeReference__Group_1__0 )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA207_1 = input.LA(1);
+
+                         
+                        int index207_1 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred273_InternalEntityMockDSL()) ) {s = 79;}
+
+                        else if ( (true) ) {s = 2;}
+
+                         
+                        input.seek(index207_1);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 207, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+    static final String DFA210_eotS =
+        "\120\uffff";
+    static final String DFA210_eofS =
+        "\1\2\117\uffff";
+    static final String DFA210_minS =
+        "\1\4\1\0\116\uffff";
+    static final String DFA210_maxS =
+        "\1\u009c\1\0\116\uffff";
+    static final String DFA210_acceptS =
+        "\2\uffff\1\2\114\uffff\1\1";
+    static final String DFA210_specialS =
+        "\1\uffff\1\0\116\uffff}>";
+    static final String[] DFA210_transitionS = {
+            "\5\2\5\uffff\2\2\1\uffff\13\2\1\1\27\2\5\uffff\2\2\10\uffff"+
+            "\3\2\2\uffff\1\2\10\uffff\1\2\41\uffff\1\2\10\uffff\27\2\1\uffff"+
+            "\1\2\4\uffff\2\2\1\uffff\1\2",
+            "\1\uffff",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+    };
+
+    static final short[] DFA210_eot = DFA.unpackEncodedString(DFA210_eotS);
+    static final short[] DFA210_eof = DFA.unpackEncodedString(DFA210_eofS);
+    static final char[] DFA210_min = DFA.unpackEncodedStringToUnsignedChars(DFA210_minS);
+    static final char[] DFA210_max = DFA.unpackEncodedStringToUnsignedChars(DFA210_maxS);
+    static final short[] DFA210_accept = DFA.unpackEncodedString(DFA210_acceptS);
+    static final short[] DFA210_special = DFA.unpackEncodedString(DFA210_specialS);
+    static final short[][] DFA210_transition;
+
+    static {
+        int numStates = DFA210_transitionS.length;
+        DFA210_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA210_transition[i] = DFA.unpackEncodedString(DFA210_transitionS[i]);
+        }
+    }
+
+    class DFA210 extends DFA {
+
+        public DFA210(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 210;
+            this.eot = DFA210_eot;
+            this.eof = DFA210_eof;
+            this.min = DFA210_min;
+            this.max = DFA210_max;
+            this.accept = DFA210_accept;
+            this.special = DFA210_special;
+            this.transition = DFA210_transition;
+        }
+        public String getDescription() {
+            return "30197:1: ( rule__JvmParameterizedTypeReference__Group_1_4_2__0 )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA210_1 = input.LA(1);
+
+                         
+                        int index210_1 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred276_InternalEntityMockDSL()) ) {s = 79;}
+
+                        else if ( (true) ) {s = 2;}
+
+                         
+                        input.seek(index210_1);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 210, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+ 
+
+    
+    protected static class FollowSets000 {
+        public static final BitSet FOLLOW_ruleEntityMockModel_in_entryRuleEntityMockModel67 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleEntityMockModel74 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockModel__PackagesAssignment_in_ruleEntityMockModel100 = new BitSet(new long[]{0x0100000000000002L});
+        public static final BitSet FOLLOW_ruleEntityMockPackage_in_entryRuleEntityMockPackage128 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleEntityMockPackage135 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockPackage__Group__0_in_ruleEntityMockPackage161 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEntityModelImport_in_entryRuleEntityModelImport188 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleEntityModelImport195 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityModelImport__ImportedNamespaceAssignment_in_ruleEntityModelImport221 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEntityMockQualifiedNameWithWildCard_in_entryRuleEntityMockQualifiedNameWithWildCard248 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleEntityMockQualifiedNameWithWildCard255 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockQualifiedNameWithWildCard__Group__0_in_ruleEntityMockQualifiedNameWithWildCard281 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleRunningDataInterchanges_in_entryRuleRunningDataInterchanges308 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleRunningDataInterchanges315 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RunningDataInterchanges__Group__0_in_ruleRunningDataInterchanges341 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleRunningDataInterchange_in_entryRuleRunningDataInterchange368 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleRunningDataInterchange375 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RunningDataInterchange__Group__0_in_ruleRunningDataInterchange401 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEntityMockResources_in_entryRuleEntityMockResources428 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleEntityMockResources435 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockResources__Group__0_in_ruleEntityMockResources461 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEntityMockResource_in_entryRuleEntityMockResource488 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleEntityMockResource495 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockResource__Group__0_in_ruleEntityMockResource521 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEntityMockResourceAttribute_in_entryRuleEntityMockResourceAttribute548 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleEntityMockResourceAttribute555 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockResourceAttribute__Group__0_in_ruleEntityMockResourceAttribute581 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEntityMockResourceDataRow_in_entryRuleEntityMockResourceDataRow608 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleEntityMockResourceDataRow615 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockResourceDataRow__Group__0_in_ruleEntityMockResourceDataRow641 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEntityMockObjects_in_entryRuleEntityMockObjects668 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleEntityMockObjects675 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjects__Group__0_in_ruleEntityMockObjects701 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEntityMockObject_in_entryRuleEntityMockObject728 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleEntityMockObject735 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObject__Group__0_in_ruleEntityMockObject761 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEntityMockObjectEnum_in_entryRuleEntityMockObjectEnum788 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleEntityMockObjectEnum795 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectEnum__Group__0_in_ruleEntityMockObjectEnum821 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEntityMockDataTypes_in_entryRuleEntityMockDataTypes848 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleEntityMockDataTypes855 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockDataTypes__Group__0_in_ruleEntityMockDataTypes881 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleIEntityMockObjectAttribute_in_entryRuleIEntityMockObjectAttribute910 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleIEntityMockObjectAttribute917 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__IEntityMockObjectAttribute__Alternatives_in_ruleIEntityMockObjectAttribute943 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEntityMockObjectPlainValue_in_entryRuleEntityMockObjectPlainValue970 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleEntityMockObjectPlainValue977 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectPlainValue__Group__0_in_ruleEntityMockObjectPlainValue1003 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEntityMockObjectResourceValue_in_entryRuleEntityMockObjectResourceValue1030 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleEntityMockObjectResourceValue1037 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectResourceValue__Group__0_in_ruleEntityMockObjectResourceValue1063 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEntityMockObjectArrayValue_in_entryRuleEntityMockObjectArrayValue1090 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleEntityMockObjectArrayValue1097 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectArrayValue__Group__0_in_ruleEntityMockObjectArrayValue1123 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEntityMockObjectItemValue_in_entryRuleEntityMockObjectItemValue1150 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleEntityMockObjectItemValue1157 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectItemValue__Group__0_in_ruleEntityMockObjectItemValue1183 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEntityMockObjectEmbed_in_entryRuleEntityMockObjectEmbed1210 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleEntityMockObjectEmbed1217 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectEmbed__Group__0_in_ruleEntityMockObjectEmbed1243 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEntityMockObjectFunction_in_entryRuleEntityMockObjectFunction1270 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleEntityMockObjectFunction1277 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectFunction__Group__0_in_ruleEntityMockObjectFunction1303 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEntityMockObjectFunctionParameter_in_entryRuleEntityMockObjectFunctionParameter1330 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleEntityMockObjectFunctionParameter1337 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectFunctionParameter__Group__0_in_ruleEntityMockObjectFunctionParameter1363 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEntityMockObjectFill_in_entryRuleEntityMockObjectFill1390 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleEntityMockObjectFill1397 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectFill__Group__0_in_ruleEntityMockObjectFill1423 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePropertyFillerType_in_entryRulePropertyFillerType1450 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRulePropertyFillerType1457 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerType__Alternatives_in_rulePropertyFillerType1483 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePropertyFillerDateFuture_in_entryRulePropertyFillerDateFuture1510 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRulePropertyFillerDateFuture1517 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerDateFuture__Group__0_in_rulePropertyFillerDateFuture1543 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePropertyFillerDatePast_in_entryRulePropertyFillerDatePast1570 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRulePropertyFillerDatePast1577 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerDatePast__Group__0_in_rulePropertyFillerDatePast1603 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePropertyFillerBoolean_in_entryRulePropertyFillerBoolean1630 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRulePropertyFillerBoolean1637 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerBoolean__Group__0_in_rulePropertyFillerBoolean1663 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePropertyFillerDateRange_in_entryRulePropertyFillerDateRange1690 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRulePropertyFillerDateRange1697 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerDateRange__Group__0_in_rulePropertyFillerDateRange1723 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePropertyFillerSignedDoubleRange_in_entryRulePropertyFillerSignedDoubleRange1750 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRulePropertyFillerSignedDoubleRange1757 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedDoubleRange__Group__0_in_rulePropertyFillerSignedDoubleRange1783 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePropertyFillerSignedDoubleRandom_in_entryRulePropertyFillerSignedDoubleRandom1810 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRulePropertyFillerSignedDoubleRandom1817 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedDoubleRandom__Group__0_in_rulePropertyFillerSignedDoubleRandom1843 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePropertyFillerSignedIntegerRange_in_entryRulePropertyFillerSignedIntegerRange1870 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRulePropertyFillerSignedIntegerRange1877 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedIntegerRange__Group__0_in_rulePropertyFillerSignedIntegerRange1903 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePropertyFillerSignedIntegerRandom_in_entryRulePropertyFillerSignedIntegerRandom1930 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRulePropertyFillerSignedIntegerRandom1937 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedIntegerRandom__Group__0_in_rulePropertyFillerSignedIntegerRandom1963 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePropertyFillerTextRandom_in_entryRulePropertyFillerTextRandom1990 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRulePropertyFillerTextRandom1997 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerTextRandom__Group__0_in_rulePropertyFillerTextRandom2023 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePropertyFillerTextParagraphs_in_entryRulePropertyFillerTextParagraphs2050 = new BitSet(new long[]{0x0000000000000000L});
+    }
+
+    protected static class FollowSets001 {
+        public static final BitSet FOLLOW_EOF_in_entryRulePropertyFillerTextParagraphs2057 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerTextParagraphs__Group__0_in_rulePropertyFillerTextParagraphs2083 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePropertyFillerTextSentences_in_entryRulePropertyFillerTextSentences2110 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRulePropertyFillerTextSentences2117 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerTextSentences__Group__0_in_rulePropertyFillerTextSentences2143 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePropertyFillerTextWords_in_entryRulePropertyFillerTextWords2170 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRulePropertyFillerTextWords2177 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerTextWords__Group__0_in_rulePropertyFillerTextWords2203 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePropertyFillerUnsignedDoubleRange_in_entryRulePropertyFillerUnsignedDoubleRange2230 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRulePropertyFillerUnsignedDoubleRange2237 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedDoubleRange__Group__0_in_rulePropertyFillerUnsignedDoubleRange2263 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePropertyFillerUnsignedDoubleRandom_in_entryRulePropertyFillerUnsignedDoubleRandom2290 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRulePropertyFillerUnsignedDoubleRandom2297 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedDoubleRandom__Group__0_in_rulePropertyFillerUnsignedDoubleRandom2323 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePropertyFillerUnsignedIntegerRange_in_entryRulePropertyFillerUnsignedIntegerRange2350 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRulePropertyFillerUnsignedIntegerRange2357 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedIntegerRange__Group__0_in_rulePropertyFillerUnsignedIntegerRange2383 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePropertyFillerUnsignedIntegerRandom_in_entryRulePropertyFillerUnsignedIntegerRandom2410 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRulePropertyFillerUnsignedIntegerRandom2417 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedIntegerRandom__Group__0_in_rulePropertyFillerUnsignedIntegerRandom2443 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEntityMockDataType_in_entryRuleEntityMockDataType2470 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleEntityMockDataType2477 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockDataType__Group__0_in_ruleEntityMockDataType2503 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEntityMockEntities_in_entryRuleEntityMockEntities2530 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleEntityMockEntities2537 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntities__Group__0_in_ruleEntityMockEntities2563 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEntityMockEntity_in_entryRuleEntityMockEntity2590 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleEntityMockEntity2597 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__Group__0_in_ruleEntityMockEntity2623 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleIIterate_in_entryRuleIIterate2650 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleIIterate2657 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__IIterate__Alternatives_in_ruleIIterate2683 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleIntegerIterate_in_entryRuleIntegerIterate2710 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleIntegerIterate2717 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__IntegerIterate__Group__0_in_ruleIntegerIterate2743 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleDateIterate_in_entryRuleDateIterate2770 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleDateIterate2777 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__DateIterate__Group__0_in_ruleDateIterate2803 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleDate_in_entryRuleDate2830 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleDate2837 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Date__Alternatives_in_ruleDate2863 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEntityMockByResourceAttribute_in_entryRuleEntityMockByResourceAttribute2890 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleEntityMockByResourceAttribute2897 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockByResourceAttribute__Group__0_in_ruleEntityMockByResourceAttribute2923 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEntityMockTemporary_in_entryRuleEntityMockTemporary2950 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleEntityMockTemporary2957 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockTemporary__Group__0_in_ruleEntityMockTemporary2983 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleIEntityMockAttribute_in_entryRuleIEntityMockAttribute3012 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleIEntityMockAttribute3019 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__IEntityMockAttribute__Alternatives_in_ruleIEntityMockAttribute3045 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEntityMockEntityFunction_in_entryRuleEntityMockEntityFunction3072 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleEntityMockEntityFunction3079 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntityFunction__Group__0_in_ruleEntityMockEntityFunction3105 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEntityMockEntityFunctionParameter_in_entryRuleEntityMockEntityFunctionParameter3132 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleEntityMockEntityFunctionParameter3139 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntityFunctionParameter__Alternatives_in_ruleEntityMockEntityFunctionParameter3165 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEntityMockReferencedObjectAttribute_in_entryRuleEntityMockReferencedObjectAttribute3192 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleEntityMockReferencedObjectAttribute3199 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockReferencedObjectAttribute__Group__0_in_ruleEntityMockReferencedObjectAttribute3225 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEntityMockAttributeByObject_in_entryRuleEntityMockAttributeByObject3252 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleEntityMockAttributeByObject3259 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockAttributeByObject__Alternatives_in_ruleEntityMockAttributeByObject3285 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEntityMockAttributeFiller_in_entryRuleEntityMockAttributeFiller3312 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleEntityMockAttributeFiller3319 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockAttributeFiller__Group__0_in_ruleEntityMockAttributeFiller3345 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEntityMockAttributeByReference_in_entryRuleEntityMockAttributeByReference3372 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleEntityMockAttributeByReference3379 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockAttributeByReference__Group__0_in_ruleEntityMockAttributeByReference3405 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleSignedNumber_in_entryRuleSignedNumber3432 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleSignedNumber3439 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SignedNumber__Group__0_in_ruleSignedNumber3465 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleUnsignedNumber_in_entryRuleUnsignedNumber3492 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleUnsignedNumber3499 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__UnsignedNumber__Group__0_in_ruleUnsignedNumber3525 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleSINT_in_entryRuleSINT3552 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleSINT3559 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SINT__Group__0_in_ruleSINT3585 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleQualifiedName_in_entryRuleQualifiedName3612 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleQualifiedName3619 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__QualifiedName__Group__0_in_ruleQualifiedName3645 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleValidID_in_entryRuleValidID3672 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleValidID3679 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_ID_in_ruleValidID3705 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXAnnotation_in_entryRuleXAnnotation3731 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleXAnnotation3738 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotation__Group__0_in_ruleXAnnotation3764 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXAnnotationElementValuePair_in_entryRuleXAnnotationElementValuePair3791 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleXAnnotationElementValuePair3798 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValuePair__Group__0_in_ruleXAnnotationElementValuePair3824 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXAnnotationElementValueOrCommaList_in_entryRuleXAnnotationElementValueOrCommaList3851 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleXAnnotationElementValueOrCommaList3858 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValueOrCommaList__Alternatives_in_ruleXAnnotationElementValueOrCommaList3884 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXAnnotationElementValue_in_entryRuleXAnnotationElementValue3911 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleXAnnotationElementValue3918 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValue__Alternatives_in_ruleXAnnotationElementValue3944 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXAnnotationOrExpression_in_entryRuleXAnnotationOrExpression3971 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleXAnnotationOrExpression3978 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotationOrExpression__Alternatives_in_ruleXAnnotationOrExpression4004 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXExpression_in_entryRuleXExpression4031 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleXExpression4038 = new BitSet(new long[]{0x0000000000000002L});
+    }
+
+    protected static class FollowSets002 {
+        public static final BitSet FOLLOW_ruleXAssignment_in_ruleXExpression4064 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXAssignment_in_entryRuleXAssignment4090 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleXAssignment4097 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAssignment__Alternatives_in_ruleXAssignment4123 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleOpSingleAssign_in_entryRuleOpSingleAssign4150 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleOpSingleAssign4157 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_13_in_ruleOpSingleAssign4184 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleOpMultiAssign_in_entryRuleOpMultiAssign4212 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleOpMultiAssign4219 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OpMultiAssign__Alternatives_in_ruleOpMultiAssign4245 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXOrExpression_in_entryRuleXOrExpression4272 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleXOrExpression4279 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XOrExpression__Group__0_in_ruleXOrExpression4305 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleOpOr_in_entryRuleOpOr4332 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleOpOr4339 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_14_in_ruleOpOr4366 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXAndExpression_in_entryRuleXAndExpression4394 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleXAndExpression4401 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAndExpression__Group__0_in_ruleXAndExpression4427 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleOpAnd_in_entryRuleOpAnd4454 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleOpAnd4461 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_15_in_ruleOpAnd4488 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXEqualityExpression_in_entryRuleXEqualityExpression4516 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleXEqualityExpression4523 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XEqualityExpression__Group__0_in_ruleXEqualityExpression4549 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleOpEquality_in_entryRuleOpEquality4576 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleOpEquality4583 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OpEquality__Alternatives_in_ruleOpEquality4609 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXRelationalExpression_in_entryRuleXRelationalExpression4636 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleXRelationalExpression4643 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XRelationalExpression__Group__0_in_ruleXRelationalExpression4669 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleOpCompare_in_entryRuleOpCompare4696 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleOpCompare4703 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OpCompare__Alternatives_in_ruleOpCompare4729 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXOtherOperatorExpression_in_entryRuleXOtherOperatorExpression4756 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleXOtherOperatorExpression4763 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XOtherOperatorExpression__Group__0_in_ruleXOtherOperatorExpression4789 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleOpOther_in_entryRuleOpOther4816 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleOpOther4823 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OpOther__Alternatives_in_ruleOpOther4849 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXAdditiveExpression_in_entryRuleXAdditiveExpression4876 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleXAdditiveExpression4883 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAdditiveExpression__Group__0_in_ruleXAdditiveExpression4909 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleOpAdd_in_entryRuleOpAdd4936 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleOpAdd4943 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OpAdd__Alternatives_in_ruleOpAdd4969 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXMultiplicativeExpression_in_entryRuleXMultiplicativeExpression4996 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleXMultiplicativeExpression5003 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XMultiplicativeExpression__Group__0_in_ruleXMultiplicativeExpression5029 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleOpMulti_in_entryRuleOpMulti5056 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleOpMulti5063 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OpMulti__Alternatives_in_ruleOpMulti5089 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXUnaryOperation_in_entryRuleXUnaryOperation5116 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleXUnaryOperation5123 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XUnaryOperation__Alternatives_in_ruleXUnaryOperation5149 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleOpUnary_in_entryRuleOpUnary5176 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleOpUnary5183 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OpUnary__Alternatives_in_ruleOpUnary5209 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXCastedExpression_in_entryRuleXCastedExpression5236 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleXCastedExpression5243 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XCastedExpression__Group__0_in_ruleXCastedExpression5269 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXPostfixOperation_in_entryRuleXPostfixOperation5296 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleXPostfixOperation5303 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XPostfixOperation__Group__0_in_ruleXPostfixOperation5329 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleOpPostfix_in_entryRuleOpPostfix5356 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleOpPostfix5363 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OpPostfix__Alternatives_in_ruleOpPostfix5389 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXMemberFeatureCall_in_entryRuleXMemberFeatureCall5416 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleXMemberFeatureCall5423 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__Group__0_in_ruleXMemberFeatureCall5449 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXPrimaryExpression_in_entryRuleXPrimaryExpression5476 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleXPrimaryExpression5483 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XPrimaryExpression__Alternatives_in_ruleXPrimaryExpression5509 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXLiteral_in_entryRuleXLiteral5536 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleXLiteral5543 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XLiteral__Alternatives_in_ruleXLiteral5569 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXCollectionLiteral_in_entryRuleXCollectionLiteral5596 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleXCollectionLiteral5603 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XCollectionLiteral__Alternatives_in_ruleXCollectionLiteral5629 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXSetLiteral_in_entryRuleXSetLiteral5656 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleXSetLiteral5663 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XSetLiteral__Group__0_in_ruleXSetLiteral5689 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXListLiteral_in_entryRuleXListLiteral5716 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleXListLiteral5723 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XListLiteral__Group__0_in_ruleXListLiteral5749 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXClosure_in_entryRuleXClosure5776 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleXClosure5783 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XClosure__Group__0_in_ruleXClosure5809 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXExpressionInClosure_in_entryRuleXExpressionInClosure5836 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleXExpressionInClosure5843 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XExpressionInClosure__Group__0_in_ruleXExpressionInClosure5869 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXShortClosure_in_entryRuleXShortClosure5896 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleXShortClosure5903 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XShortClosure__Group__0_in_ruleXShortClosure5929 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXParenthesizedExpression_in_entryRuleXParenthesizedExpression5956 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleXParenthesizedExpression5963 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XParenthesizedExpression__Group__0_in_ruleXParenthesizedExpression5989 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXIfExpression_in_entryRuleXIfExpression6016 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleXIfExpression6023 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XIfExpression__Group__0_in_ruleXIfExpression6049 = new BitSet(new long[]{0x0000000000000002L});
+    }
+
+    protected static class FollowSets003 {
+        public static final BitSet FOLLOW_ruleXSwitchExpression_in_entryRuleXSwitchExpression6076 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleXSwitchExpression6083 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XSwitchExpression__Group__0_in_ruleXSwitchExpression6109 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXCasePart_in_entryRuleXCasePart6136 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleXCasePart6143 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XCasePart__Group__0_in_ruleXCasePart6169 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXForLoopExpression_in_entryRuleXForLoopExpression6196 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleXForLoopExpression6203 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XForLoopExpression__Group__0_in_ruleXForLoopExpression6229 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXBasicForLoopExpression_in_entryRuleXBasicForLoopExpression6256 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleXBasicForLoopExpression6263 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XBasicForLoopExpression__Group__0_in_ruleXBasicForLoopExpression6289 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXWhileExpression_in_entryRuleXWhileExpression6316 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleXWhileExpression6323 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XWhileExpression__Group__0_in_ruleXWhileExpression6349 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXDoWhileExpression_in_entryRuleXDoWhileExpression6376 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleXDoWhileExpression6383 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XDoWhileExpression__Group__0_in_ruleXDoWhileExpression6409 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXBlockExpression_in_entryRuleXBlockExpression6436 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleXBlockExpression6443 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XBlockExpression__Group__0_in_ruleXBlockExpression6469 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXExpressionOrVarDeclaration_in_entryRuleXExpressionOrVarDeclaration6496 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleXExpressionOrVarDeclaration6503 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XExpressionOrVarDeclaration__Alternatives_in_ruleXExpressionOrVarDeclaration6529 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXVariableDeclaration_in_entryRuleXVariableDeclaration6556 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleXVariableDeclaration6563 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XVariableDeclaration__Group__0_in_ruleXVariableDeclaration6589 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleJvmFormalParameter_in_entryRuleJvmFormalParameter6616 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleJvmFormalParameter6623 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmFormalParameter__Group__0_in_ruleJvmFormalParameter6649 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleFullJvmFormalParameter_in_entryRuleFullJvmFormalParameter6676 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleFullJvmFormalParameter6683 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__FullJvmFormalParameter__Group__0_in_ruleFullJvmFormalParameter6709 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXFeatureCall_in_entryRuleXFeatureCall6736 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleXFeatureCall6743 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XFeatureCall__Group__0_in_ruleXFeatureCall6769 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleFeatureCallID_in_entryRuleFeatureCallID6796 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleFeatureCallID6803 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__FeatureCallID__Alternatives_in_ruleFeatureCallID6829 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleIdOrSuper_in_entryRuleIdOrSuper6856 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleIdOrSuper6863 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__IdOrSuper__Alternatives_in_ruleIdOrSuper6889 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXConstructorCall_in_entryRuleXConstructorCall6916 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleXConstructorCall6923 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XConstructorCall__Group__0_in_ruleXConstructorCall6949 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXBooleanLiteral_in_entryRuleXBooleanLiteral6976 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleXBooleanLiteral6983 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XBooleanLiteral__Group__0_in_ruleXBooleanLiteral7009 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXNullLiteral_in_entryRuleXNullLiteral7036 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleXNullLiteral7043 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XNullLiteral__Group__0_in_ruleXNullLiteral7069 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXNumberLiteral_in_entryRuleXNumberLiteral7096 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleXNumberLiteral7103 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XNumberLiteral__Group__0_in_ruleXNumberLiteral7129 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXStringLiteral_in_entryRuleXStringLiteral7156 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleXStringLiteral7163 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XStringLiteral__Group__0_in_ruleXStringLiteral7189 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXTypeLiteral_in_entryRuleXTypeLiteral7216 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleXTypeLiteral7223 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XTypeLiteral__Group__0_in_ruleXTypeLiteral7249 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXThrowExpression_in_entryRuleXThrowExpression7276 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleXThrowExpression7283 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XThrowExpression__Group__0_in_ruleXThrowExpression7309 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXReturnExpression_in_entryRuleXReturnExpression7336 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleXReturnExpression7343 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XReturnExpression__Group__0_in_ruleXReturnExpression7369 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXTryCatchFinallyExpression_in_entryRuleXTryCatchFinallyExpression7396 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleXTryCatchFinallyExpression7403 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XTryCatchFinallyExpression__Group__0_in_ruleXTryCatchFinallyExpression7429 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXSynchronizedExpression_in_entryRuleXSynchronizedExpression7456 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleXSynchronizedExpression7463 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XSynchronizedExpression__Group__0_in_ruleXSynchronizedExpression7489 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXCatchClause_in_entryRuleXCatchClause7516 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleXCatchClause7523 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XCatchClause__Group__0_in_ruleXCatchClause7549 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleNumber_in_entryRuleNumber7581 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleNumber7588 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Number__Alternatives_in_ruleNumber7618 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleJvmTypeReference_in_entryRuleJvmTypeReference7647 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleJvmTypeReference7654 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmTypeReference__Alternatives_in_ruleJvmTypeReference7680 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleArrayBrackets_in_entryRuleArrayBrackets7707 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleArrayBrackets7714 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ArrayBrackets__Group__0_in_ruleArrayBrackets7740 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXFunctionTypeRef_in_entryRuleXFunctionTypeRef7767 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleXFunctionTypeRef7774 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XFunctionTypeRef__Group__0_in_ruleXFunctionTypeRef7800 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleJvmParameterizedTypeReference_in_entryRuleJvmParameterizedTypeReference7827 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleJvmParameterizedTypeReference7834 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmParameterizedTypeReference__Group__0_in_ruleJvmParameterizedTypeReference7860 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleJvmArgumentTypeReference_in_entryRuleJvmArgumentTypeReference7887 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleJvmArgumentTypeReference7894 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmArgumentTypeReference__Alternatives_in_ruleJvmArgumentTypeReference7920 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleJvmWildcardTypeReference_in_entryRuleJvmWildcardTypeReference7947 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleJvmWildcardTypeReference7954 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmWildcardTypeReference__Group__0_in_ruleJvmWildcardTypeReference7980 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleJvmUpperBound_in_entryRuleJvmUpperBound8007 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleJvmUpperBound8014 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmUpperBound__Group__0_in_ruleJvmUpperBound8040 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleJvmUpperBoundAnded_in_entryRuleJvmUpperBoundAnded8067 = new BitSet(new long[]{0x0000000000000000L});
+    }
+
+    protected static class FollowSets004 {
+        public static final BitSet FOLLOW_EOF_in_entryRuleJvmUpperBoundAnded8074 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmUpperBoundAnded__Group__0_in_ruleJvmUpperBoundAnded8100 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleJvmLowerBound_in_entryRuleJvmLowerBound8127 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleJvmLowerBound8134 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmLowerBound__Group__0_in_ruleJvmLowerBound8160 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleJvmLowerBoundAnded_in_entryRuleJvmLowerBoundAnded8187 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleJvmLowerBoundAnded8194 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmLowerBoundAnded__Group__0_in_ruleJvmLowerBoundAnded8220 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleQualifiedNameWithWildcard_in_entryRuleQualifiedNameWithWildcard8249 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleQualifiedNameWithWildcard8256 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__QualifiedNameWithWildcard__Group__0_in_ruleQualifiedNameWithWildcard8282 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXImportDeclaration_in_entryRuleXImportDeclaration8311 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleXImportDeclaration8318 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XImportDeclaration__Group__0_in_ruleXImportDeclaration8344 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleQualifiedNameInStaticImport_in_entryRuleQualifiedNameInStaticImport8371 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleQualifiedNameInStaticImport8378 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__QualifiedNameInStaticImport__Group__0_in_ruleQualifiedNameInStaticImport8406 = new BitSet(new long[]{0x0000000000000012L});
+        public static final BitSet FOLLOW_rule__QualifiedNameInStaticImport__Group__0_in_ruleQualifiedNameInStaticImport8418 = new BitSet(new long[]{0x0000000000000012L});
+        public static final BitSet FOLLOW_rule__EDateStepType__Alternatives_in_ruleEDateStepType8458 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEntityMockObjectResourceValue_in_rule__IEntityMockObjectAttribute__Alternatives8494 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEntityMockObjectPlainValue_in_rule__IEntityMockObjectAttribute__Alternatives8511 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEntityMockObjectArrayValue_in_rule__IEntityMockObjectAttribute__Alternatives8528 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEntityMockObjectEmbed_in_rule__IEntityMockObjectAttribute__Alternatives8545 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEntityMockObjectFill_in_rule__IEntityMockObjectAttribute__Alternatives8562 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePropertyFillerDateFuture_in_rule__PropertyFillerType__Alternatives8594 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePropertyFillerDatePast_in_rule__PropertyFillerType__Alternatives8611 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePropertyFillerDateRange_in_rule__PropertyFillerType__Alternatives8628 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePropertyFillerBoolean_in_rule__PropertyFillerType__Alternatives8645 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePropertyFillerSignedDoubleRange_in_rule__PropertyFillerType__Alternatives8662 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePropertyFillerSignedDoubleRandom_in_rule__PropertyFillerType__Alternatives8679 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePropertyFillerSignedIntegerRange_in_rule__PropertyFillerType__Alternatives8696 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePropertyFillerSignedIntegerRandom_in_rule__PropertyFillerType__Alternatives8713 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePropertyFillerTextRandom_in_rule__PropertyFillerType__Alternatives8730 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePropertyFillerTextParagraphs_in_rule__PropertyFillerType__Alternatives8747 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePropertyFillerTextSentences_in_rule__PropertyFillerType__Alternatives8764 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePropertyFillerTextWords_in_rule__PropertyFillerType__Alternatives8781 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePropertyFillerUnsignedDoubleRange_in_rule__PropertyFillerType__Alternatives8798 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePropertyFillerUnsignedDoubleRandom_in_rule__PropertyFillerType__Alternatives8815 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePropertyFillerUnsignedIntegerRange_in_rule__PropertyFillerType__Alternatives8832 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePropertyFillerUnsignedIntegerRandom_in_rule__PropertyFillerType__Alternatives8849 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedDoubleRange__BeginRangeAssignment_1_0_0_in_rule__PropertyFillerSignedDoubleRange__Alternatives_1_08881 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedDoubleRange__BeginRangeRefAssignment_1_0_1_in_rule__PropertyFillerSignedDoubleRange__Alternatives_1_08899 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedDoubleRange__EndRangeAssignment_1_2_0_in_rule__PropertyFillerSignedDoubleRange__Alternatives_1_28932 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedDoubleRange__EndRangeRefAssignment_1_2_1_in_rule__PropertyFillerSignedDoubleRange__Alternatives_1_28950 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedIntegerRange__BeginRangeAssignment_2_0_0_in_rule__PropertyFillerSignedIntegerRange__Alternatives_2_08983 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedIntegerRange__BeginRangeRefAssignment_2_0_1_in_rule__PropertyFillerSignedIntegerRange__Alternatives_2_09001 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedIntegerRange__EndRangeAssignment_2_2_0_in_rule__PropertyFillerSignedIntegerRange__Alternatives_2_29034 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedIntegerRange__EndRangeRefAssignment_2_2_1_in_rule__PropertyFillerSignedIntegerRange__Alternatives_2_29052 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedDoubleRange__BeginRangeAssignment_1_0_0_in_rule__PropertyFillerUnsignedDoubleRange__Alternatives_1_09085 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedDoubleRange__BeginRangeRefAssignment_1_0_1_in_rule__PropertyFillerUnsignedDoubleRange__Alternatives_1_09103 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedDoubleRange__EndRangeAssignment_1_2_0_in_rule__PropertyFillerUnsignedDoubleRange__Alternatives_1_29136 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedDoubleRange__EndRangeRefAssignment_1_2_1_in_rule__PropertyFillerUnsignedDoubleRange__Alternatives_1_29154 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedIntegerRange__BeginRangeAssignment_2_0_0_in_rule__PropertyFillerUnsignedIntegerRange__Alternatives_2_09187 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedIntegerRange__BeginRangeRefAssignment_2_0_1_in_rule__PropertyFillerUnsignedIntegerRange__Alternatives_2_09205 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedIntegerRange__EndRangeAssignment_2_2_0_in_rule__PropertyFillerUnsignedIntegerRange__Alternatives_2_29238 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedIntegerRange__EndRangeRefAssignment_2_2_1_in_rule__PropertyFillerUnsignedIntegerRange__Alternatives_2_29256 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__Group_4_0__0_in_rule__EntityMockEntity__Alternatives_49289 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__Group_4_1__0_in_rule__EntityMockEntity__Alternatives_49307 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__Group_4_2__0_in_rule__EntityMockEntity__Alternatives_49325 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleIntegerIterate_in_rule__IIterate__Alternatives9358 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleDateIterate_in_rule__IIterate__Alternatives9375 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Date__YesterdayAssignment_0_in_rule__Date__Alternatives9407 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Date__TodayAssignment_1_in_rule__Date__Alternatives9425 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Date__TomorrowAssignment_2_in_rule__Date__Alternatives9443 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Date__Group_3__0_in_rule__Date__Alternatives9461 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEntityMockAttributeByObject_in_rule__IEntityMockAttribute__Alternatives9495 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEntityMockAttributeFiller_in_rule__IEntityMockAttribute__Alternatives9512 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEntityMockAttributeByReference_in_rule__IEntityMockAttribute__Alternatives9529 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntityFunctionParameter__AttributeRefAssignment_0_in_rule__EntityMockEntityFunctionParameter__Alternatives9561 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntityFunctionParameter__Group_1__0_in_rule__EntityMockEntityFunctionParameter__Alternatives9579 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockAttributeByObject__Group_0__0_in_rule__EntityMockAttributeByObject__Alternatives9612 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockAttributeByObject__Group_1__0_in_rule__EntityMockAttributeByObject__Alternatives9630 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_16_in_rule__EntityMockAttributeByReference__Alternatives_39664 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockAttributeByReference__MockedEntityAssignment_3_1_in_rule__EntityMockAttributeByReference__Alternatives_39683 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotation__Group_3_1_0__0_in_rule__XAnnotation__Alternatives_3_19716 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotation__ValueAssignment_3_1_1_in_rule__XAnnotation__Alternatives_3_19734 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValueOrCommaList__Group_0__0_in_rule__XAnnotationElementValueOrCommaList__Alternatives9767 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValueOrCommaList__Group_1__0_in_rule__XAnnotationElementValueOrCommaList__Alternatives9785 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValue__Group_0__0_in_rule__XAnnotationElementValue__Alternatives9818 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXAnnotationOrExpression_in_rule__XAnnotationElementValue__Alternatives9836 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXAnnotation_in_rule__XAnnotationOrExpression__Alternatives9868 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXExpression_in_rule__XAnnotationOrExpression__Alternatives9885 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAssignment__Group_0__0_in_rule__XAssignment__Alternatives9917 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAssignment__Group_1__0_in_rule__XAssignment__Alternatives9935 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_17_in_rule__OpMultiAssign__Alternatives9969 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_18_in_rule__OpMultiAssign__Alternatives9989 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_19_in_rule__OpMultiAssign__Alternatives10009 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_20_in_rule__OpMultiAssign__Alternatives10029 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_21_in_rule__OpMultiAssign__Alternatives10049 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OpMultiAssign__Group_5__0_in_rule__OpMultiAssign__Alternatives10068 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OpMultiAssign__Group_6__0_in_rule__OpMultiAssign__Alternatives10086 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_22_in_rule__OpEquality__Alternatives10120 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_23_in_rule__OpEquality__Alternatives10140 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_24_in_rule__OpEquality__Alternatives10160 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_25_in_rule__OpEquality__Alternatives10180 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XRelationalExpression__Group_1_0__0_in_rule__XRelationalExpression__Alternatives_110214 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XRelationalExpression__Group_1_1__0_in_rule__XRelationalExpression__Alternatives_110232 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_26_in_rule__OpCompare__Alternatives10266 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OpCompare__Group_1__0_in_rule__OpCompare__Alternatives10285 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_27_in_rule__OpCompare__Alternatives10304 = new BitSet(new long[]{0x0000000000000002L});
+    }
+
+    protected static class FollowSets005 {
+        public static final BitSet FOLLOW_28_in_rule__OpCompare__Alternatives10324 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_29_in_rule__OpOther__Alternatives10359 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_30_in_rule__OpOther__Alternatives10379 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OpOther__Group_2__0_in_rule__OpOther__Alternatives10398 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_31_in_rule__OpOther__Alternatives10417 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_32_in_rule__OpOther__Alternatives10437 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OpOther__Group_5__0_in_rule__OpOther__Alternatives10456 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OpOther__Group_6__0_in_rule__OpOther__Alternatives10474 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_33_in_rule__OpOther__Alternatives10493 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_34_in_rule__OpOther__Alternatives10513 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OpOther__Group_5_1_0__0_in_rule__OpOther__Alternatives_5_110547 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_27_in_rule__OpOther__Alternatives_5_110566 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OpOther__Group_6_1_0__0_in_rule__OpOther__Alternatives_6_110600 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_28_in_rule__OpOther__Alternatives_6_110619 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_32_in_rule__OpOther__Alternatives_6_110639 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_35_in_rule__OpAdd__Alternatives10674 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_36_in_rule__OpAdd__Alternatives10694 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_37_in_rule__OpMulti__Alternatives10729 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_38_in_rule__OpMulti__Alternatives10749 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_39_in_rule__OpMulti__Alternatives10769 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_40_in_rule__OpMulti__Alternatives10789 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XUnaryOperation__Group_0__0_in_rule__XUnaryOperation__Alternatives10823 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXCastedExpression_in_rule__XUnaryOperation__Alternatives10841 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_41_in_rule__OpUnary__Alternatives10874 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_36_in_rule__OpUnary__Alternatives10894 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_35_in_rule__OpUnary__Alternatives10914 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_42_in_rule__OpPostfix__Alternatives10949 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_43_in_rule__OpPostfix__Alternatives10969 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__Group_1_0__0_in_rule__XMemberFeatureCall__Alternatives_111003 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__Group_1_1__0_in_rule__XMemberFeatureCall__Alternatives_111021 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_44_in_rule__XMemberFeatureCall__Alternatives_1_0_0_0_111055 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1_in_rule__XMemberFeatureCall__Alternatives_1_0_0_0_111074 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_44_in_rule__XMemberFeatureCall__Alternatives_1_1_0_0_111108 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1_in_rule__XMemberFeatureCall__Alternatives_1_1_0_0_111127 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2_in_rule__XMemberFeatureCall__Alternatives_1_1_0_0_111145 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0_in_rule__XMemberFeatureCall__Alternatives_1_1_3_111178 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__Group_1_1_3_1_1__0_in_rule__XMemberFeatureCall__Alternatives_1_1_3_111196 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXConstructorCall_in_rule__XPrimaryExpression__Alternatives11229 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXBlockExpression_in_rule__XPrimaryExpression__Alternatives11246 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXSwitchExpression_in_rule__XPrimaryExpression__Alternatives11263 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXSynchronizedExpression_in_rule__XPrimaryExpression__Alternatives11281 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXFeatureCall_in_rule__XPrimaryExpression__Alternatives11299 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXLiteral_in_rule__XPrimaryExpression__Alternatives11316 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXIfExpression_in_rule__XPrimaryExpression__Alternatives11333 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXForLoopExpression_in_rule__XPrimaryExpression__Alternatives11351 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXBasicForLoopExpression_in_rule__XPrimaryExpression__Alternatives11369 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXWhileExpression_in_rule__XPrimaryExpression__Alternatives11386 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXDoWhileExpression_in_rule__XPrimaryExpression__Alternatives11403 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXThrowExpression_in_rule__XPrimaryExpression__Alternatives11420 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXReturnExpression_in_rule__XPrimaryExpression__Alternatives11437 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXTryCatchFinallyExpression_in_rule__XPrimaryExpression__Alternatives11454 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXParenthesizedExpression_in_rule__XPrimaryExpression__Alternatives11471 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXCollectionLiteral_in_rule__XLiteral__Alternatives11503 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXClosure_in_rule__XLiteral__Alternatives11521 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXBooleanLiteral_in_rule__XLiteral__Alternatives11539 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXNumberLiteral_in_rule__XLiteral__Alternatives11556 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXNullLiteral_in_rule__XLiteral__Alternatives11573 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXStringLiteral_in_rule__XLiteral__Alternatives11590 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXTypeLiteral_in_rule__XLiteral__Alternatives11607 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXSetLiteral_in_rule__XCollectionLiteral__Alternatives11639 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXListLiteral_in_rule__XCollectionLiteral__Alternatives11656 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XSwitchExpression__Group_2_0__0_in_rule__XSwitchExpression__Alternatives_211688 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XSwitchExpression__Group_2_1__0_in_rule__XSwitchExpression__Alternatives_211706 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XCasePart__Group_3_0__0_in_rule__XCasePart__Alternatives_311739 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XCasePart__FallThroughAssignment_3_1_in_rule__XCasePart__Alternatives_311757 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXVariableDeclaration_in_rule__XExpressionOrVarDeclaration__Alternatives11790 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXExpression_in_rule__XExpressionOrVarDeclaration__Alternatives11807 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XVariableDeclaration__WriteableAssignment_1_0_in_rule__XVariableDeclaration__Alternatives_111839 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_45_in_rule__XVariableDeclaration__Alternatives_111858 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XVariableDeclaration__Group_2_0__0_in_rule__XVariableDeclaration__Alternatives_211892 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XVariableDeclaration__NameAssignment_2_1_in_rule__XVariableDeclaration__Alternatives_211910 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0_in_rule__XFeatureCall__Alternatives_3_111943 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XFeatureCall__Group_3_1_1__0_in_rule__XFeatureCall__Alternatives_3_111961 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleValidID_in_rule__FeatureCallID__Alternatives11994 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_46_in_rule__FeatureCallID__Alternatives12012 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_47_in_rule__FeatureCallID__Alternatives12032 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_48_in_rule__FeatureCallID__Alternatives12052 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_49_in_rule__FeatureCallID__Alternatives12072 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleFeatureCallID_in_rule__IdOrSuper__Alternatives12106 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_50_in_rule__IdOrSuper__Alternatives12124 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XConstructorCall__ArgumentsAssignment_4_1_0_in_rule__XConstructorCall__Alternatives_4_112158 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XConstructorCall__Group_4_1_1__0_in_rule__XConstructorCall__Alternatives_4_112176 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_51_in_rule__XBooleanLiteral__Alternatives_112210 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XBooleanLiteral__IsTrueAssignment_1_1_in_rule__XBooleanLiteral__Alternatives_112229 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XTryCatchFinallyExpression__Group_3_0__0_in_rule__XTryCatchFinallyExpression__Alternatives_312262 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XTryCatchFinallyExpression__Group_3_1__0_in_rule__XTryCatchFinallyExpression__Alternatives_312280 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_HEX_in_rule__Number__Alternatives12313 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Number__Group_1__0_in_rule__Number__Alternatives12330 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_INT_in_rule__Number__Alternatives_1_012363 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_DECIMAL_in_rule__Number__Alternatives_1_012380 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_INT_in_rule__Number__Alternatives_1_1_112412 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_DECIMAL_in_rule__Number__Alternatives_1_1_112429 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmTypeReference__Group_0__0_in_rule__JvmTypeReference__Alternatives12461 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXFunctionTypeRef_in_rule__JvmTypeReference__Alternatives12479 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleJvmTypeReference_in_rule__JvmArgumentTypeReference__Alternatives12511 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleJvmWildcardTypeReference_in_rule__JvmArgumentTypeReference__Alternatives12528 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmWildcardTypeReference__Group_2_0__0_in_rule__JvmWildcardTypeReference__Alternatives_212560 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmWildcardTypeReference__Group_2_1__0_in_rule__JvmWildcardTypeReference__Alternatives_212578 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XImportDeclaration__Group_1_0__0_in_rule__XImportDeclaration__Alternatives_112611 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XImportDeclaration__ImportedTypeAssignment_1_1_in_rule__XImportDeclaration__Alternatives_112629 = new BitSet(new long[]{0x0000000000000002L});
+    }
+
+    protected static class FollowSets006 {
+        public static final BitSet FOLLOW_rule__XImportDeclaration__ImportedNamespaceAssignment_1_2_in_rule__XImportDeclaration__Alternatives_112647 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XImportDeclaration__WildcardAssignment_1_0_3_0_in_rule__XImportDeclaration__Alternatives_1_0_312680 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XImportDeclaration__MemberNameAssignment_1_0_3_1_in_rule__XImportDeclaration__Alternatives_1_0_312698 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_52_in_rule__EDateStepType__Alternatives12732 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_53_in_rule__EDateStepType__Alternatives12753 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_54_in_rule__EDateStepType__Alternatives12774 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_55_in_rule__EDateStepType__Alternatives12795 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockPackage__Group__0__Impl_in_rule__EntityMockPackage__Group__012828 = new BitSet(new long[]{0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__EntityMockPackage__Group__1_in_rule__EntityMockPackage__Group__012831 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_56_in_rule__EntityMockPackage__Group__0__Impl12859 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockPackage__Group__1__Impl_in_rule__EntityMockPackage__Group__112890 = new BitSet(new long[]{0x0200000000000000L});
+        public static final BitSet FOLLOW_rule__EntityMockPackage__Group__2_in_rule__EntityMockPackage__Group__112893 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockPackage__ImportsAssignment_1_in_rule__EntityMockPackage__Group__1__Impl12920 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockPackage__Group__2__Impl_in_rule__EntityMockPackage__Group__212950 = new BitSet(new long[]{0x9801000000000000L,0x0000008000000440L});
+        public static final BitSet FOLLOW_rule__EntityMockPackage__Group__3_in_rule__EntityMockPackage__Group__212953 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_57_in_rule__EntityMockPackage__Group__2__Impl12981 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockPackage__Group__3__Impl_in_rule__EntityMockPackage__Group__313012 = new BitSet(new long[]{0x9801000000000000L,0x0000008000000440L});
+        public static final BitSet FOLLOW_rule__EntityMockPackage__Group__4_in_rule__EntityMockPackage__Group__313015 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockPackage__Group_3__0_in_rule__EntityMockPackage__Group__3__Impl13042 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockPackage__Group__4__Impl_in_rule__EntityMockPackage__Group__413073 = new BitSet(new long[]{0x9801000000000000L,0x0000008000000440L});
+        public static final BitSet FOLLOW_rule__EntityMockPackage__Group__5_in_rule__EntityMockPackage__Group__413076 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockPackage__Group_4__0_in_rule__EntityMockPackage__Group__4__Impl13103 = new BitSet(new long[]{0x0001000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockPackage__Group__5__Impl_in_rule__EntityMockPackage__Group__513134 = new BitSet(new long[]{0x9801000000000000L,0x0000008000000440L});
+        public static final BitSet FOLLOW_rule__EntityMockPackage__Group__6_in_rule__EntityMockPackage__Group__513137 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockPackage__DatainterchangesAssignment_5_in_rule__EntityMockPackage__Group__5__Impl13164 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockPackage__Group__6__Impl_in_rule__EntityMockPackage__Group__613195 = new BitSet(new long[]{0x9801000000000000L,0x0000008000000440L});
+        public static final BitSet FOLLOW_rule__EntityMockPackage__Group__7_in_rule__EntityMockPackage__Group__613198 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockPackage__ResourcesAssignment_6_in_rule__EntityMockPackage__Group__6__Impl13225 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockPackage__Group__7__Impl_in_rule__EntityMockPackage__Group__713256 = new BitSet(new long[]{0x9801000000000000L,0x0000008000000440L});
+        public static final BitSet FOLLOW_rule__EntityMockPackage__Group__8_in_rule__EntityMockPackage__Group__713259 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockPackage__ObjectsAssignment_7_in_rule__EntityMockPackage__Group__7__Impl13286 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockPackage__Group__8__Impl_in_rule__EntityMockPackage__Group__813317 = new BitSet(new long[]{0x9801000000000000L,0x0000008000000440L});
+        public static final BitSet FOLLOW_rule__EntityMockPackage__Group__9_in_rule__EntityMockPackage__Group__813320 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockPackage__DatatypesAssignment_8_in_rule__EntityMockPackage__Group__8__Impl13347 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockPackage__Group__9__Impl_in_rule__EntityMockPackage__Group__913378 = new BitSet(new long[]{0x0400000000000000L});
+        public static final BitSet FOLLOW_rule__EntityMockPackage__Group__10_in_rule__EntityMockPackage__Group__913381 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockPackage__EntitiesAssignment_9_in_rule__EntityMockPackage__Group__9__Impl13408 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockPackage__Group__10__Impl_in_rule__EntityMockPackage__Group__1013438 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_58_in_rule__EntityMockPackage__Group__10__Impl13466 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockPackage__Group_3__0__Impl_in_rule__EntityMockPackage__Group_3__013519 = new BitSet(new long[]{0x0000000000000040L});
+        public static final BitSet FOLLOW_rule__EntityMockPackage__Group_3__1_in_rule__EntityMockPackage__Group_3__013522 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_59_in_rule__EntityMockPackage__Group_3__0__Impl13550 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockPackage__Group_3__1__Impl_in_rule__EntityMockPackage__Group_3__113581 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockPackage__RunPriorityAssignment_3_1_in_rule__EntityMockPackage__Group_3__1__Impl13608 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockPackage__Group_4__0__Impl_in_rule__EntityMockPackage__Group_4__013642 = new BitSet(new long[]{0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__EntityMockPackage__Group_4__1_in_rule__EntityMockPackage__Group_4__013645 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_48_in_rule__EntityMockPackage__Group_4__0__Impl13673 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockPackage__Group_4__1__Impl_in_rule__EntityMockPackage__Group_4__113704 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockPackage__ImportsAssignment_4_1_in_rule__EntityMockPackage__Group_4__1__Impl13731 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockQualifiedNameWithWildCard__Group__0__Impl_in_rule__EntityMockQualifiedNameWithWildCard__Group__013765 = new BitSet(new long[]{0x0000100000000000L});
+        public static final BitSet FOLLOW_rule__EntityMockQualifiedNameWithWildCard__Group__1_in_rule__EntityMockQualifiedNameWithWildCard__Group__013768 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleQualifiedName_in_rule__EntityMockQualifiedNameWithWildCard__Group__0__Impl13795 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockQualifiedNameWithWildCard__Group__1__Impl_in_rule__EntityMockQualifiedNameWithWildCard__Group__113824 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockQualifiedNameWithWildCard__Group_1__0_in_rule__EntityMockQualifiedNameWithWildCard__Group__1__Impl13851 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockQualifiedNameWithWildCard__Group_1__0__Impl_in_rule__EntityMockQualifiedNameWithWildCard__Group_1__013886 = new BitSet(new long[]{0x0000002000000000L});
+        public static final BitSet FOLLOW_rule__EntityMockQualifiedNameWithWildCard__Group_1__1_in_rule__EntityMockQualifiedNameWithWildCard__Group_1__013889 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_44_in_rule__EntityMockQualifiedNameWithWildCard__Group_1__0__Impl13917 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockQualifiedNameWithWildCard__Group_1__1__Impl_in_rule__EntityMockQualifiedNameWithWildCard__Group_1__113948 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_37_in_rule__EntityMockQualifiedNameWithWildCard__Group_1__1__Impl13976 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RunningDataInterchanges__Group__0__Impl_in_rule__RunningDataInterchanges__Group__014011 = new BitSet(new long[]{0x1000000000000000L});
+        public static final BitSet FOLLOW_rule__RunningDataInterchanges__Group__1_in_rule__RunningDataInterchanges__Group__014014 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RunningDataInterchanges__Group__1__Impl_in_rule__RunningDataInterchanges__Group__114072 = new BitSet(new long[]{0x0200000000000000L});
+        public static final BitSet FOLLOW_rule__RunningDataInterchanges__Group__2_in_rule__RunningDataInterchanges__Group__114075 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_60_in_rule__RunningDataInterchanges__Group__1__Impl14103 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RunningDataInterchanges__Group__2__Impl_in_rule__RunningDataInterchanges__Group__214134 = new BitSet(new long[]{0x2400000000000000L});
+        public static final BitSet FOLLOW_rule__RunningDataInterchanges__Group__3_in_rule__RunningDataInterchanges__Group__214137 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_57_in_rule__RunningDataInterchanges__Group__2__Impl14165 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RunningDataInterchanges__Group__3__Impl_in_rule__RunningDataInterchanges__Group__314196 = new BitSet(new long[]{0x2400000000000000L});
+        public static final BitSet FOLLOW_rule__RunningDataInterchanges__Group__4_in_rule__RunningDataInterchanges__Group__314199 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RunningDataInterchanges__DatainterchangesAssignment_3_in_rule__RunningDataInterchanges__Group__3__Impl14226 = new BitSet(new long[]{0x2000000000000002L});
+        public static final BitSet FOLLOW_rule__RunningDataInterchanges__Group__4__Impl_in_rule__RunningDataInterchanges__Group__414257 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_58_in_rule__RunningDataInterchanges__Group__4__Impl14285 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RunningDataInterchange__Group__0__Impl_in_rule__RunningDataInterchange__Group__014326 = new BitSet(new long[]{0x2000000000000000L});
+        public static final BitSet FOLLOW_rule__RunningDataInterchange__Group__1_in_rule__RunningDataInterchange__Group__014329 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RunningDataInterchange__Group__1__Impl_in_rule__RunningDataInterchange__Group__114387 = new BitSet(new long[]{0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__RunningDataInterchange__Group__2_in_rule__RunningDataInterchange__Group__114390 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_61_in_rule__RunningDataInterchange__Group__1__Impl14418 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RunningDataInterchange__Group__2__Impl_in_rule__RunningDataInterchange__Group__214449 = new BitSet(new long[]{0x4000000000000000L});
+        public static final BitSet FOLLOW_rule__RunningDataInterchange__Group__3_in_rule__RunningDataInterchange__Group__214452 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RunningDataInterchange__DatainterchangeRefAssignment_2_in_rule__RunningDataInterchange__Group__2__Impl14479 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RunningDataInterchange__Group__3__Impl_in_rule__RunningDataInterchange__Group__314509 = new BitSet(new long[]{0x0000000000000100L});
+        public static final BitSet FOLLOW_rule__RunningDataInterchange__Group__4_in_rule__RunningDataInterchange__Group__314512 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_62_in_rule__RunningDataInterchange__Group__3__Impl14540 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RunningDataInterchange__Group__4__Impl_in_rule__RunningDataInterchange__Group__414571 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RunningDataInterchange__FileURLAssignment_4_in_rule__RunningDataInterchange__Group__4__Impl14598 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockResources__Group__0__Impl_in_rule__EntityMockResources__Group__014638 = new BitSet(new long[]{0x8000000000000000L});
+        public static final BitSet FOLLOW_rule__EntityMockResources__Group__1_in_rule__EntityMockResources__Group__014641 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockResources__Group__1__Impl_in_rule__EntityMockResources__Group__114699 = new BitSet(new long[]{0x0200000000000000L});
+        public static final BitSet FOLLOW_rule__EntityMockResources__Group__2_in_rule__EntityMockResources__Group__114702 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_63_in_rule__EntityMockResources__Group__1__Impl14730 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockResources__Group__2__Impl_in_rule__EntityMockResources__Group__214761 = new BitSet(new long[]{0x0400000000000000L,0x0000000000000001L});
+        public static final BitSet FOLLOW_rule__EntityMockResources__Group__3_in_rule__EntityMockResources__Group__214764 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_57_in_rule__EntityMockResources__Group__2__Impl14792 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockResources__Group__3__Impl_in_rule__EntityMockResources__Group__314823 = new BitSet(new long[]{0x0400000000000000L,0x0000000000000001L});
+        public static final BitSet FOLLOW_rule__EntityMockResources__Group__4_in_rule__EntityMockResources__Group__314826 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockResources__ResourcesAssignment_3_in_rule__EntityMockResources__Group__3__Impl14853 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000001L});
+        public static final BitSet FOLLOW_rule__EntityMockResources__Group__4__Impl_in_rule__EntityMockResources__Group__414884 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_58_in_rule__EntityMockResources__Group__4__Impl14912 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockResource__Group__0__Impl_in_rule__EntityMockResource__Group__014953 = new BitSet(new long[]{0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__EntityMockResource__Group__1_in_rule__EntityMockResource__Group__014956 = new BitSet(new long[]{0x0000000000000002L});
+    }
+
+    protected static class FollowSets007 {
+        public static final BitSet FOLLOW_64_in_rule__EntityMockResource__Group__0__Impl14984 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockResource__Group__1__Impl_in_rule__EntityMockResource__Group__115015 = new BitSet(new long[]{0x0200000000000000L});
+        public static final BitSet FOLLOW_rule__EntityMockResource__Group__2_in_rule__EntityMockResource__Group__115018 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockResource__NameAssignment_1_in_rule__EntityMockResource__Group__1__Impl15045 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockResource__Group__2__Impl_in_rule__EntityMockResource__Group__215075 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000006L});
+        public static final BitSet FOLLOW_rule__EntityMockResource__Group__3_in_rule__EntityMockResource__Group__215078 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_57_in_rule__EntityMockResource__Group__2__Impl15106 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockResource__Group__3__Impl_in_rule__EntityMockResource__Group__315137 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000006L});
+        public static final BitSet FOLLOW_rule__EntityMockResource__Group__4_in_rule__EntityMockResource__Group__315140 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockResource__Group_3__0_in_rule__EntityMockResource__Group__3__Impl15167 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockResource__Group__4__Impl_in_rule__EntityMockResource__Group__415198 = new BitSet(new long[]{0x0200000000000000L});
+        public static final BitSet FOLLOW_rule__EntityMockResource__Group__5_in_rule__EntityMockResource__Group__415201 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_65_in_rule__EntityMockResource__Group__4__Impl15229 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockResource__Group__5__Impl_in_rule__EntityMockResource__Group__515260 = new BitSet(new long[]{0x0400000000000010L});
+        public static final BitSet FOLLOW_rule__EntityMockResource__Group__6_in_rule__EntityMockResource__Group__515263 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_57_in_rule__EntityMockResource__Group__5__Impl15291 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockResource__Group__6__Impl_in_rule__EntityMockResource__Group__615322 = new BitSet(new long[]{0x0400000000000010L});
+        public static final BitSet FOLLOW_rule__EntityMockResource__Group__7_in_rule__EntityMockResource__Group__615325 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockResource__DatarowsAssignment_6_in_rule__EntityMockResource__Group__6__Impl15352 = new BitSet(new long[]{0x0000000000000012L});
+        public static final BitSet FOLLOW_rule__EntityMockResource__Group__7__Impl_in_rule__EntityMockResource__Group__715383 = new BitSet(new long[]{0x0400000000000000L});
+        public static final BitSet FOLLOW_rule__EntityMockResource__Group__8_in_rule__EntityMockResource__Group__715386 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_58_in_rule__EntityMockResource__Group__7__Impl15414 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockResource__Group__8__Impl_in_rule__EntityMockResource__Group__815445 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_58_in_rule__EntityMockResource__Group__8__Impl15473 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockResource__Group_3__0__Impl_in_rule__EntityMockResource__Group_3__015522 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L});
+        public static final BitSet FOLLOW_rule__EntityMockResource__Group_3__1_in_rule__EntityMockResource__Group_3__015525 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_66_in_rule__EntityMockResource__Group_3__0__Impl15553 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockResource__Group_3__1__Impl_in_rule__EntityMockResource__Group_3__115584 = new BitSet(new long[]{0x0000000000000010L,0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__EntityMockResource__Group_3__2_in_rule__EntityMockResource__Group_3__115587 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_67_in_rule__EntityMockResource__Group_3__1__Impl15615 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockResource__Group_3__2__Impl_in_rule__EntityMockResource__Group_3__215646 = new BitSet(new long[]{0x0000000000000010L,0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__EntityMockResource__Group_3__3_in_rule__EntityMockResource__Group_3__215649 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockResource__Group_3_2__0_in_rule__EntityMockResource__Group_3__2__Impl15676 = new BitSet(new long[]{0x0000000000000012L});
+        public static final BitSet FOLLOW_rule__EntityMockResource__Group_3__3__Impl_in_rule__EntityMockResource__Group_3__315707 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_68_in_rule__EntityMockResource__Group_3__3__Impl15735 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockResource__Group_3_2__0__Impl_in_rule__EntityMockResource__Group_3_2__015774 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L});
+        public static final BitSet FOLLOW_rule__EntityMockResource__Group_3_2__1_in_rule__EntityMockResource__Group_3_2__015777 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockResource__AttributesAssignment_3_2_0_in_rule__EntityMockResource__Group_3_2__0__Impl15804 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockResource__Group_3_2__1__Impl_in_rule__EntityMockResource__Group_3_2__115834 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_69_in_rule__EntityMockResource__Group_3_2__1__Impl15863 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockResourceAttribute__Group__0__Impl_in_rule__EntityMockResourceAttribute__Group__015900 = new BitSet(new long[]{0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__EntityMockResourceAttribute__Group__1_in_rule__EntityMockResourceAttribute__Group__015903 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockResourceAttribute__Group__1__Impl_in_rule__EntityMockResourceAttribute__Group__115961 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockResourceAttribute__NameAssignment_1_in_rule__EntityMockResourceAttribute__Group__1__Impl15988 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockResourceDataRow__Group__0__Impl_in_rule__EntityMockResourceDataRow__Group__016022 = new BitSet(new long[]{0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__EntityMockResourceDataRow__Group__1_in_rule__EntityMockResourceDataRow__Group__016025 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockResourceDataRow__Group__1__Impl_in_rule__EntityMockResourceDataRow__Group__116083 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L});
+        public static final BitSet FOLLOW_rule__EntityMockResourceDataRow__Group__2_in_rule__EntityMockResourceDataRow__Group__116086 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockResourceDataRow__NameAssignment_1_in_rule__EntityMockResourceDataRow__Group__1__Impl16113 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockResourceDataRow__Group__2__Impl_in_rule__EntityMockResourceDataRow__Group__216143 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockResourceDataRow__Group_2__0_in_rule__EntityMockResourceDataRow__Group__2__Impl16170 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockResourceDataRow__Group_2__0__Impl_in_rule__EntityMockResourceDataRow__Group_2__016207 = new BitSet(new long[]{0x0000000000000100L,0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__EntityMockResourceDataRow__Group_2__1_in_rule__EntityMockResourceDataRow__Group_2__016210 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_67_in_rule__EntityMockResourceDataRow__Group_2__0__Impl16238 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockResourceDataRow__Group_2__1__Impl_in_rule__EntityMockResourceDataRow__Group_2__116269 = new BitSet(new long[]{0x0000000000000100L,0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__EntityMockResourceDataRow__Group_2__2_in_rule__EntityMockResourceDataRow__Group_2__116272 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockResourceDataRow__Group_2_1__0_in_rule__EntityMockResourceDataRow__Group_2__1__Impl16299 = new BitSet(new long[]{0x0000000000000102L});
+        public static final BitSet FOLLOW_rule__EntityMockResourceDataRow__Group_2__2__Impl_in_rule__EntityMockResourceDataRow__Group_2__216330 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_68_in_rule__EntityMockResourceDataRow__Group_2__2__Impl16358 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockResourceDataRow__Group_2_1__0__Impl_in_rule__EntityMockResourceDataRow__Group_2_1__016395 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L});
+        public static final BitSet FOLLOW_rule__EntityMockResourceDataRow__Group_2_1__1_in_rule__EntityMockResourceDataRow__Group_2_1__016398 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockResourceDataRow__ValuesAssignment_2_1_0_in_rule__EntityMockResourceDataRow__Group_2_1__0__Impl16425 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockResourceDataRow__Group_2_1__1__Impl_in_rule__EntityMockResourceDataRow__Group_2_1__116455 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_69_in_rule__EntityMockResourceDataRow__Group_2_1__1__Impl16484 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjects__Group__0__Impl_in_rule__EntityMockObjects__Group__016521 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
+        public static final BitSet FOLLOW_rule__EntityMockObjects__Group__1_in_rule__EntityMockObjects__Group__016524 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjects__Group__1__Impl_in_rule__EntityMockObjects__Group__116582 = new BitSet(new long[]{0x0200000000000000L});
+        public static final BitSet FOLLOW_rule__EntityMockObjects__Group__2_in_rule__EntityMockObjects__Group__116585 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_70_in_rule__EntityMockObjects__Group__1__Impl16613 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjects__Group__2__Impl_in_rule__EntityMockObjects__Group__216644 = new BitSet(new long[]{0x0400000000000000L,0x0000000000000080L});
+        public static final BitSet FOLLOW_rule__EntityMockObjects__Group__3_in_rule__EntityMockObjects__Group__216647 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_57_in_rule__EntityMockObjects__Group__2__Impl16675 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjects__Group__3__Impl_in_rule__EntityMockObjects__Group__316706 = new BitSet(new long[]{0x0400000000000000L,0x0000000000000080L});
+        public static final BitSet FOLLOW_rule__EntityMockObjects__Group__4_in_rule__EntityMockObjects__Group__316709 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjects__ObjectsAssignment_3_in_rule__EntityMockObjects__Group__3__Impl16736 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000080L});
+        public static final BitSet FOLLOW_rule__EntityMockObjects__Group__4__Impl_in_rule__EntityMockObjects__Group__416767 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_58_in_rule__EntityMockObjects__Group__4__Impl16795 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObject__Group__0__Impl_in_rule__EntityMockObject__Group__016836 = new BitSet(new long[]{0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__EntityMockObject__Group__1_in_rule__EntityMockObject__Group__016839 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_71_in_rule__EntityMockObject__Group__0__Impl16867 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObject__Group__1__Impl_in_rule__EntityMockObject__Group__116898 = new BitSet(new long[]{0x0200000000000000L});
+        public static final BitSet FOLLOW_rule__EntityMockObject__Group__2_in_rule__EntityMockObject__Group__116901 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObject__NameAssignment_1_in_rule__EntityMockObject__Group__1__Impl16928 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObject__Group__2__Impl_in_rule__EntityMockObject__Group__216958 = new BitSet(new long[]{0x0400000000000000L,0x0000000000004100L});
+        public static final BitSet FOLLOW_rule__EntityMockObject__Group__3_in_rule__EntityMockObject__Group__216961 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_57_in_rule__EntityMockObject__Group__2__Impl16989 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObject__Group__3__Impl_in_rule__EntityMockObject__Group__317020 = new BitSet(new long[]{0x0400000000000000L,0x0000000000004100L});
+        public static final BitSet FOLLOW_rule__EntityMockObject__Group__4_in_rule__EntityMockObject__Group__317023 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObject__EnumerationsAssignment_3_in_rule__EntityMockObject__Group__3__Impl17050 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000100L});
+        public static final BitSet FOLLOW_rule__EntityMockObject__Group__4__Impl_in_rule__EntityMockObject__Group__417081 = new BitSet(new long[]{0x0400000000000000L,0x0000000000004100L});
+        public static final BitSet FOLLOW_rule__EntityMockObject__Group__5_in_rule__EntityMockObject__Group__417084 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObject__AttributesAssignment_4_in_rule__EntityMockObject__Group__4__Impl17111 = new BitSet(new long[]{0x0000000000000002L,0x0000000000004100L});
+        public static final BitSet FOLLOW_rule__EntityMockObject__Group__5__Impl_in_rule__EntityMockObject__Group__517142 = new BitSet(new long[]{0x0400000000000000L,0x0000000000004100L});
+        public static final BitSet FOLLOW_rule__EntityMockObject__Group__6_in_rule__EntityMockObject__Group__517145 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObject__CalculationsAssignment_5_in_rule__EntityMockObject__Group__5__Impl17172 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000100L});
+        public static final BitSet FOLLOW_rule__EntityMockObject__Group__6__Impl_in_rule__EntityMockObject__Group__617203 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_58_in_rule__EntityMockObject__Group__6__Impl17231 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectEnum__Group__0__Impl_in_rule__EntityMockObjectEnum__Group__017276 = new BitSet(new long[]{0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectEnum__Group__1_in_rule__EntityMockObjectEnum__Group__017279 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_72_in_rule__EntityMockObjectEnum__Group__0__Impl17307 = new BitSet(new long[]{0x0000000000000002L});
+    }
+
+    protected static class FollowSets008 {
+        public static final BitSet FOLLOW_rule__EntityMockObjectEnum__Group__1__Impl_in_rule__EntityMockObjectEnum__Group__117338 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectEnum__Group__2_in_rule__EntityMockObjectEnum__Group__117341 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectEnum__NameAssignment_1_in_rule__EntityMockObjectEnum__Group__1__Impl17368 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectEnum__Group__2__Impl_in_rule__EntityMockObjectEnum__Group__217398 = new BitSet(new long[]{0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectEnum__Group__3_in_rule__EntityMockObjectEnum__Group__217401 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_73_in_rule__EntityMockObjectEnum__Group__2__Impl17429 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectEnum__Group__3__Impl_in_rule__EntityMockObjectEnum__Group__317460 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectEnum__UsingResourceAssignment_3_in_rule__EntityMockObjectEnum__Group__3__Impl17487 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockDataTypes__Group__0__Impl_in_rule__EntityMockDataTypes__Group__017525 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
+        public static final BitSet FOLLOW_rule__EntityMockDataTypes__Group__1_in_rule__EntityMockDataTypes__Group__017528 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockDataTypes__Group__1__Impl_in_rule__EntityMockDataTypes__Group__117586 = new BitSet(new long[]{0x0200000000000000L});
+        public static final BitSet FOLLOW_rule__EntityMockDataTypes__Group__2_in_rule__EntityMockDataTypes__Group__117589 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_74_in_rule__EntityMockDataTypes__Group__1__Impl17617 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockDataTypes__Group__2__Impl_in_rule__EntityMockDataTypes__Group__217648 = new BitSet(new long[]{0x0400000000000000L,0x0000004000000000L});
+        public static final BitSet FOLLOW_rule__EntityMockDataTypes__Group__3_in_rule__EntityMockDataTypes__Group__217651 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_57_in_rule__EntityMockDataTypes__Group__2__Impl17679 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockDataTypes__Group__3__Impl_in_rule__EntityMockDataTypes__Group__317710 = new BitSet(new long[]{0x0400000000000000L,0x0000004000000000L});
+        public static final BitSet FOLLOW_rule__EntityMockDataTypes__Group__4_in_rule__EntityMockDataTypes__Group__317713 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockDataTypes__DatatypesAssignment_3_in_rule__EntityMockDataTypes__Group__3__Impl17740 = new BitSet(new long[]{0x0000000000000002L,0x0000004000000000L});
+        public static final BitSet FOLLOW_rule__EntityMockDataTypes__Group__4__Impl_in_rule__EntityMockDataTypes__Group__417771 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_58_in_rule__EntityMockDataTypes__Group__4__Impl17799 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectPlainValue__Group__0__Impl_in_rule__EntityMockObjectPlainValue__Group__017840 = new BitSet(new long[]{0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectPlainValue__Group__1_in_rule__EntityMockObjectPlainValue__Group__017843 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_72_in_rule__EntityMockObjectPlainValue__Group__0__Impl17871 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectPlainValue__Group__1__Impl_in_rule__EntityMockObjectPlainValue__Group__117902 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectPlainValue__Group__2_in_rule__EntityMockObjectPlainValue__Group__117905 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectPlainValue__NameAssignment_1_in_rule__EntityMockObjectPlainValue__Group__1__Impl17932 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectPlainValue__Group__2__Impl_in_rule__EntityMockObjectPlainValue__Group__217962 = new BitSet(new long[]{0x0000000000000100L,0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectPlainValue__Group__3_in_rule__EntityMockObjectPlainValue__Group__217965 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_67_in_rule__EntityMockObjectPlainValue__Group__2__Impl17993 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectPlainValue__Group__3__Impl_in_rule__EntityMockObjectPlainValue__Group__318024 = new BitSet(new long[]{0x0000000000000100L,0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectPlainValue__Group__4_in_rule__EntityMockObjectPlainValue__Group__318027 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectPlainValue__Group_3__0_in_rule__EntityMockObjectPlainValue__Group__3__Impl18054 = new BitSet(new long[]{0x0000000000000102L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectPlainValue__Group__4__Impl_in_rule__EntityMockObjectPlainValue__Group__418085 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_68_in_rule__EntityMockObjectPlainValue__Group__4__Impl18113 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectPlainValue__Group_3__0__Impl_in_rule__EntityMockObjectPlainValue__Group_3__018154 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectPlainValue__Group_3__1_in_rule__EntityMockObjectPlainValue__Group_3__018157 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectPlainValue__ValuesAssignment_3_0_in_rule__EntityMockObjectPlainValue__Group_3__0__Impl18184 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectPlainValue__Group_3__1__Impl_in_rule__EntityMockObjectPlainValue__Group_3__118214 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_69_in_rule__EntityMockObjectPlainValue__Group_3__1__Impl18243 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectResourceValue__Group__0__Impl_in_rule__EntityMockObjectResourceValue__Group__018280 = new BitSet(new long[]{0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectResourceValue__Group__1_in_rule__EntityMockObjectResourceValue__Group__018283 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_72_in_rule__EntityMockObjectResourceValue__Group__0__Impl18311 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectResourceValue__Group__1__Impl_in_rule__EntityMockObjectResourceValue__Group__118342 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000800L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectResourceValue__Group__2_in_rule__EntityMockObjectResourceValue__Group__118345 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectResourceValue__NameAssignment_1_in_rule__EntityMockObjectResourceValue__Group__1__Impl18372 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectResourceValue__Group__2__Impl_in_rule__EntityMockObjectResourceValue__Group__218402 = new BitSet(new long[]{0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectResourceValue__Group__3_in_rule__EntityMockObjectResourceValue__Group__218405 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_75_in_rule__EntityMockObjectResourceValue__Group__2__Impl18433 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectResourceValue__Group__3__Impl_in_rule__EntityMockObjectResourceValue__Group__318464 = new BitSet(new long[]{0x0000100000000000L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectResourceValue__Group__4_in_rule__EntityMockObjectResourceValue__Group__318467 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectResourceValue__ResourceEnumAssignment_3_in_rule__EntityMockObjectResourceValue__Group__3__Impl18494 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectResourceValue__Group__4__Impl_in_rule__EntityMockObjectResourceValue__Group__418524 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectResourceValue__Group_4__0_in_rule__EntityMockObjectResourceValue__Group__4__Impl18551 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectResourceValue__Group_4__0__Impl_in_rule__EntityMockObjectResourceValue__Group_4__018592 = new BitSet(new long[]{0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectResourceValue__Group_4__1_in_rule__EntityMockObjectResourceValue__Group_4__018595 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_44_in_rule__EntityMockObjectResourceValue__Group_4__0__Impl18623 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectResourceValue__Group_4__1__Impl_in_rule__EntityMockObjectResourceValue__Group_4__118654 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectResourceValue__ResourceAttributeAssignment_4_1_in_rule__EntityMockObjectResourceValue__Group_4__1__Impl18681 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectArrayValue__Group__0__Impl_in_rule__EntityMockObjectArrayValue__Group__018715 = new BitSet(new long[]{0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectArrayValue__Group__1_in_rule__EntityMockObjectArrayValue__Group__018718 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_72_in_rule__EntityMockObjectArrayValue__Group__0__Impl18746 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectArrayValue__Group__1__Impl_in_rule__EntityMockObjectArrayValue__Group__118777 = new BitSet(new long[]{0x0000000000000000L,0x0000000000001000L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectArrayValue__Group__2_in_rule__EntityMockObjectArrayValue__Group__118780 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectArrayValue__NameAssignment_1_in_rule__EntityMockObjectArrayValue__Group__1__Impl18807 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectArrayValue__Group__2__Impl_in_rule__EntityMockObjectArrayValue__Group__218837 = new BitSet(new long[]{0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectArrayValue__Group__3_in_rule__EntityMockObjectArrayValue__Group__218840 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_76_in_rule__EntityMockObjectArrayValue__Group__2__Impl18868 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectArrayValue__Group__3__Impl_in_rule__EntityMockObjectArrayValue__Group__318899 = new BitSet(new long[]{0x0200000000000000L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectArrayValue__Group__4_in_rule__EntityMockObjectArrayValue__Group__318902 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectArrayValue__EnumerationAssignment_3_in_rule__EntityMockObjectArrayValue__Group__3__Impl18929 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectArrayValue__Group__4__Impl_in_rule__EntityMockObjectArrayValue__Group__418959 = new BitSet(new long[]{0x0400000000000000L,0x0000000000002000L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectArrayValue__Group__5_in_rule__EntityMockObjectArrayValue__Group__418962 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_57_in_rule__EntityMockObjectArrayValue__Group__4__Impl18990 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectArrayValue__Group__5__Impl_in_rule__EntityMockObjectArrayValue__Group__519021 = new BitSet(new long[]{0x0400000000000000L,0x0000000000002000L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectArrayValue__Group__6_in_rule__EntityMockObjectArrayValue__Group__519024 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectArrayValue__ItemsAssignment_5_in_rule__EntityMockObjectArrayValue__Group__5__Impl19051 = new BitSet(new long[]{0x0000000000000002L,0x0000000000002000L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectArrayValue__Group__6__Impl_in_rule__EntityMockObjectArrayValue__Group__619082 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_58_in_rule__EntityMockObjectArrayValue__Group__6__Impl19110 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectItemValue__Group__0__Impl_in_rule__EntityMockObjectItemValue__Group__019155 = new BitSet(new long[]{0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectItemValue__Group__1_in_rule__EntityMockObjectItemValue__Group__019158 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_77_in_rule__EntityMockObjectItemValue__Group__0__Impl19186 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectItemValue__Group__1__Impl_in_rule__EntityMockObjectItemValue__Group__119217 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectItemValue__Group__2_in_rule__EntityMockObjectItemValue__Group__119220 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectItemValue__DatarowAssignment_1_in_rule__EntityMockObjectItemValue__Group__1__Impl19247 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectItemValue__Group__2__Impl_in_rule__EntityMockObjectItemValue__Group__219277 = new BitSet(new long[]{0x0000000000000100L,0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectItemValue__Group__3_in_rule__EntityMockObjectItemValue__Group__219280 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_67_in_rule__EntityMockObjectItemValue__Group__2__Impl19308 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectItemValue__Group__3__Impl_in_rule__EntityMockObjectItemValue__Group__319339 = new BitSet(new long[]{0x0000000000000100L,0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectItemValue__Group__4_in_rule__EntityMockObjectItemValue__Group__319342 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectItemValue__Group_3__0_in_rule__EntityMockObjectItemValue__Group__3__Impl19369 = new BitSet(new long[]{0x0000000000000102L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectItemValue__Group__4__Impl_in_rule__EntityMockObjectItemValue__Group__419400 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_68_in_rule__EntityMockObjectItemValue__Group__4__Impl19428 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectItemValue__Group_3__0__Impl_in_rule__EntityMockObjectItemValue__Group_3__019469 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectItemValue__Group_3__1_in_rule__EntityMockObjectItemValue__Group_3__019472 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectItemValue__ValuesAssignment_3_0_in_rule__EntityMockObjectItemValue__Group_3__0__Impl19499 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectItemValue__Group_3__1__Impl_in_rule__EntityMockObjectItemValue__Group_3__119529 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_69_in_rule__EntityMockObjectItemValue__Group_3__1__Impl19558 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectEmbed__Group__0__Impl_in_rule__EntityMockObjectEmbed__Group__019595 = new BitSet(new long[]{0x0000000000000000L,0x0000000000004000L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectEmbed__Group__1_in_rule__EntityMockObjectEmbed__Group__019598 = new BitSet(new long[]{0x0000000000000002L});
+    }
+
+    protected static class FollowSets009 {
+        public static final BitSet FOLLOW_rule__EntityMockObjectEmbed__Group__1__Impl_in_rule__EntityMockObjectEmbed__Group__119656 = new BitSet(new long[]{0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectEmbed__Group__2_in_rule__EntityMockObjectEmbed__Group__119659 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_78_in_rule__EntityMockObjectEmbed__Group__1__Impl19687 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectEmbed__Group__2__Impl_in_rule__EntityMockObjectEmbed__Group__219718 = new BitSet(new long[]{0x0000000000000000L,0x0000000000008000L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectEmbed__Group__3_in_rule__EntityMockObjectEmbed__Group__219721 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectEmbed__NameAssignment_2_in_rule__EntityMockObjectEmbed__Group__2__Impl19748 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectEmbed__Group__3__Impl_in_rule__EntityMockObjectEmbed__Group__319778 = new BitSet(new long[]{0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectEmbed__Group__4_in_rule__EntityMockObjectEmbed__Group__319781 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_79_in_rule__EntityMockObjectEmbed__Group__3__Impl19809 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectEmbed__Group__4__Impl_in_rule__EntityMockObjectEmbed__Group__419840 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectEmbed__ObjectAssignment_4_in_rule__EntityMockObjectEmbed__Group__4__Impl19867 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectFunction__Group__0__Impl_in_rule__EntityMockObjectFunction__Group__019907 = new BitSet(new long[]{0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectFunction__Group__1_in_rule__EntityMockObjectFunction__Group__019910 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_72_in_rule__EntityMockObjectFunction__Group__0__Impl19938 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectFunction__Group__1__Impl_in_rule__EntityMockObjectFunction__Group__119969 = new BitSet(new long[]{0x0000000000000000L,0x0000000000010000L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectFunction__Group__2_in_rule__EntityMockObjectFunction__Group__119972 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectFunction__NameAssignment_1_in_rule__EntityMockObjectFunction__Group__1__Impl19999 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectFunction__Group__2__Impl_in_rule__EntityMockObjectFunction__Group__220029 = new BitSet(new long[]{0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectFunction__Group__3_in_rule__EntityMockObjectFunction__Group__220032 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_80_in_rule__EntityMockObjectFunction__Group__2__Impl20060 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectFunction__Group__3__Impl_in_rule__EntityMockObjectFunction__Group__320091 = new BitSet(new long[]{0x0000000000000000L,0x0000000000020000L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectFunction__Group__4_in_rule__EntityMockObjectFunction__Group__320094 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectFunction__OftypeAssignment_3_in_rule__EntityMockObjectFunction__Group__3__Impl20121 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectFunction__Group__4__Impl_in_rule__EntityMockObjectFunction__Group__420151 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectFunction__Group__5_in_rule__EntityMockObjectFunction__Group__420154 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_81_in_rule__EntityMockObjectFunction__Group__4__Impl20182 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectFunction__Group__5__Impl_in_rule__EntityMockObjectFunction__Group__520213 = new BitSet(new long[]{0x0000000100000010L,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectFunction__Group__6_in_rule__EntityMockObjectFunction__Group__520216 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_67_in_rule__EntityMockObjectFunction__Group__5__Impl20244 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectFunction__Group__6__Impl_in_rule__EntityMockObjectFunction__Group__620275 = new BitSet(new long[]{0x0000000100000010L,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectFunction__Group__7_in_rule__EntityMockObjectFunction__Group__620278 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectFunction__Group_6__0_in_rule__EntityMockObjectFunction__Group__6__Impl20305 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectFunction__Group__7__Impl_in_rule__EntityMockObjectFunction__Group__720336 = new BitSet(new long[]{0x0200000000000000L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectFunction__Group__8_in_rule__EntityMockObjectFunction__Group__720339 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_68_in_rule__EntityMockObjectFunction__Group__7__Impl20367 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectFunction__Group__8__Impl_in_rule__EntityMockObjectFunction__Group__820398 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectFunction__BodyAssignment_8_in_rule__EntityMockObjectFunction__Group__8__Impl20425 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectFunction__Group_6__0__Impl_in_rule__EntityMockObjectFunction__Group_6__020473 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectFunction__Group_6__1_in_rule__EntityMockObjectFunction__Group_6__020476 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectFunction__ParamsAssignment_6_0_in_rule__EntityMockObjectFunction__Group_6__0__Impl20503 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectFunction__Group_6__1__Impl_in_rule__EntityMockObjectFunction__Group_6__120533 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectFunction__Group_6_1__0_in_rule__EntityMockObjectFunction__Group_6__1__Impl20560 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000020L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectFunction__Group_6_1__0__Impl_in_rule__EntityMockObjectFunction__Group_6_1__020595 = new BitSet(new long[]{0x0000000100000010L,0x0000000000000008L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectFunction__Group_6_1__1_in_rule__EntityMockObjectFunction__Group_6_1__020598 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_69_in_rule__EntityMockObjectFunction__Group_6_1__0__Impl20626 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectFunction__Group_6_1__1__Impl_in_rule__EntityMockObjectFunction__Group_6_1__120657 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectFunction__ParamsAssignment_6_1_1_in_rule__EntityMockObjectFunction__Group_6_1__1__Impl20684 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectFunctionParameter__Group__0__Impl_in_rule__EntityMockObjectFunctionParameter__Group__020718 = new BitSet(new long[]{0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectFunctionParameter__Group__1_in_rule__EntityMockObjectFunctionParameter__Group__020721 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectFunctionParameter__ParameterTypeAssignment_0_in_rule__EntityMockObjectFunctionParameter__Group__0__Impl20748 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectFunctionParameter__Group__1__Impl_in_rule__EntityMockObjectFunctionParameter__Group__120778 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectFunctionParameter__NameAssignment_1_in_rule__EntityMockObjectFunctionParameter__Group__1__Impl20805 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectFill__Group__0__Impl_in_rule__EntityMockObjectFill__Group__020839 = new BitSet(new long[]{0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectFill__Group__1_in_rule__EntityMockObjectFill__Group__020842 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_72_in_rule__EntityMockObjectFill__Group__0__Impl20870 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectFill__Group__1__Impl_in_rule__EntityMockObjectFill__Group__120901 = new BitSet(new long[]{0x0000000000000000L,0x0000000000040000L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectFill__Group__2_in_rule__EntityMockObjectFill__Group__120904 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectFill__NameAssignment_1_in_rule__EntityMockObjectFill__Group__1__Impl20931 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectFill__Group__2__Impl_in_rule__EntityMockObjectFill__Group__220961 = new BitSet(new long[]{0x0000000000000000L,0x0000003FF9780000L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectFill__Group__3_in_rule__EntityMockObjectFill__Group__220964 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_82_in_rule__EntityMockObjectFill__Group__2__Impl20992 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectFill__Group__3__Impl_in_rule__EntityMockObjectFill__Group__321023 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockObjectFill__FillerTypeAssignment_3_in_rule__EntityMockObjectFill__Group__3__Impl21050 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerDateFuture__Group__0__Impl_in_rule__PropertyFillerDateFuture__Group__021088 = new BitSet(new long[]{0x0000000000000040L});
+        public static final BitSet FOLLOW_rule__PropertyFillerDateFuture__Group__1_in_rule__PropertyFillerDateFuture__Group__021091 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_83_in_rule__PropertyFillerDateFuture__Group__0__Impl21119 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerDateFuture__Group__1__Impl_in_rule__PropertyFillerDateFuture__Group__121150 = new BitSet(new long[]{0x0080000000000000L});
+        public static final BitSet FOLLOW_rule__PropertyFillerDateFuture__Group__2_in_rule__PropertyFillerDateFuture__Group__121153 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerDateFuture__DateFutureYearsAssignment_1_in_rule__PropertyFillerDateFuture__Group__1__Impl21180 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerDateFuture__Group__2__Impl_in_rule__PropertyFillerDateFuture__Group__221210 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_55_in_rule__PropertyFillerDateFuture__Group__2__Impl21238 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerDatePast__Group__0__Impl_in_rule__PropertyFillerDatePast__Group__021275 = new BitSet(new long[]{0x0000000000000040L});
+        public static final BitSet FOLLOW_rule__PropertyFillerDatePast__Group__1_in_rule__PropertyFillerDatePast__Group__021278 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_84_in_rule__PropertyFillerDatePast__Group__0__Impl21306 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerDatePast__Group__1__Impl_in_rule__PropertyFillerDatePast__Group__121337 = new BitSet(new long[]{0x0080000000000000L});
+        public static final BitSet FOLLOW_rule__PropertyFillerDatePast__Group__2_in_rule__PropertyFillerDatePast__Group__121340 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerDatePast__DatePastYearsAssignment_1_in_rule__PropertyFillerDatePast__Group__1__Impl21367 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerDatePast__Group__2__Impl_in_rule__PropertyFillerDatePast__Group__221397 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_55_in_rule__PropertyFillerDatePast__Group__2__Impl21425 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerBoolean__Group__0__Impl_in_rule__PropertyFillerBoolean__Group__021462 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200000L});
+        public static final BitSet FOLLOW_rule__PropertyFillerBoolean__Group__1_in_rule__PropertyFillerBoolean__Group__021465 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerBoolean__Group__1__Impl_in_rule__PropertyFillerBoolean__Group__121523 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_85_in_rule__PropertyFillerBoolean__Group__1__Impl21551 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerDateRange__Group__0__Impl_in_rule__PropertyFillerDateRange__Group__021586 = new BitSet(new long[]{0x0000001000000040L});
+        public static final BitSet FOLLOW_rule__PropertyFillerDateRange__Group__1_in_rule__PropertyFillerDateRange__Group__021589 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_86_in_rule__PropertyFillerDateRange__Group__0__Impl21617 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerDateRange__Group__1__Impl_in_rule__PropertyFillerDateRange__Group__121648 = new BitSet(new long[]{0x0000000000000000L,0x0000000000800000L});
+        public static final BitSet FOLLOW_rule__PropertyFillerDateRange__Group__2_in_rule__PropertyFillerDateRange__Group__121651 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerDateRange__DateBeginYearsAssignment_1_in_rule__PropertyFillerDateRange__Group__1__Impl21678 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerDateRange__Group__2__Impl_in_rule__PropertyFillerDateRange__Group__221708 = new BitSet(new long[]{0x0000001000000040L});
+        public static final BitSet FOLLOW_rule__PropertyFillerDateRange__Group__3_in_rule__PropertyFillerDateRange__Group__221711 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_87_in_rule__PropertyFillerDateRange__Group__2__Impl21739 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerDateRange__Group__3__Impl_in_rule__PropertyFillerDateRange__Group__321770 = new BitSet(new long[]{0x0080000000000000L});
+        public static final BitSet FOLLOW_rule__PropertyFillerDateRange__Group__4_in_rule__PropertyFillerDateRange__Group__321773 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerDateRange__DateEndYearsAssignment_3_in_rule__PropertyFillerDateRange__Group__3__Impl21800 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerDateRange__Group__4__Impl_in_rule__PropertyFillerDateRange__Group__421830 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_55_in_rule__PropertyFillerDateRange__Group__4__Impl21858 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedDoubleRange__Group__0__Impl_in_rule__PropertyFillerSignedDoubleRange__Group__021899 = new BitSet(new long[]{0x0000001000000050L,0x0000000000800800L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedDoubleRange__Group__1_in_rule__PropertyFillerSignedDoubleRange__Group__021902 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_88_in_rule__PropertyFillerSignedDoubleRange__Group__0__Impl21930 = new BitSet(new long[]{0x0000000000000002L});
+    }
+
+    protected static class FollowSets010 {
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedDoubleRange__Group__1__Impl_in_rule__PropertyFillerSignedDoubleRange__Group__121961 = new BitSet(new long[]{0x0000001000000050L,0x0000000000800800L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedDoubleRange__Group__2_in_rule__PropertyFillerSignedDoubleRange__Group__121964 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedDoubleRange__Group_1__0_in_rule__PropertyFillerSignedDoubleRange__Group__1__Impl21991 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedDoubleRange__Group__2__Impl_in_rule__PropertyFillerSignedDoubleRange__Group__222022 = new BitSet(new long[]{0x0000000000000040L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedDoubleRange__Group__3_in_rule__PropertyFillerSignedDoubleRange__Group__222025 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_75_in_rule__PropertyFillerSignedDoubleRange__Group__2__Impl22053 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedDoubleRange__Group__3__Impl_in_rule__PropertyFillerSignedDoubleRange__Group__322084 = new BitSet(new long[]{0x0000000000000000L,0x0000000002000000L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedDoubleRange__Group__4_in_rule__PropertyFillerSignedDoubleRange__Group__322087 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedDoubleRange__DecimalsAssignment_3_in_rule__PropertyFillerSignedDoubleRange__Group__3__Impl22114 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedDoubleRange__Group__4__Impl_in_rule__PropertyFillerSignedDoubleRange__Group__422144 = new BitSet(new long[]{0x0000000000000000L,0x0000000004000000L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedDoubleRange__Group__5_in_rule__PropertyFillerSignedDoubleRange__Group__422147 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_89_in_rule__PropertyFillerSignedDoubleRange__Group__4__Impl22175 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedDoubleRange__Group__5__Impl_in_rule__PropertyFillerSignedDoubleRange__Group__522206 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedDoubleRange__Group_5__0_in_rule__PropertyFillerSignedDoubleRange__Group__5__Impl22233 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedDoubleRange__Group_1__0__Impl_in_rule__PropertyFillerSignedDoubleRange__Group_1__022276 = new BitSet(new long[]{0x0000001000000050L,0x0000000000800000L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedDoubleRange__Group_1__1_in_rule__PropertyFillerSignedDoubleRange__Group_1__022279 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedDoubleRange__Alternatives_1_0_in_rule__PropertyFillerSignedDoubleRange__Group_1__0__Impl22306 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedDoubleRange__Group_1__1__Impl_in_rule__PropertyFillerSignedDoubleRange__Group_1__122337 = new BitSet(new long[]{0x0000001000000050L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedDoubleRange__Group_1__2_in_rule__PropertyFillerSignedDoubleRange__Group_1__122340 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_87_in_rule__PropertyFillerSignedDoubleRange__Group_1__1__Impl22368 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedDoubleRange__Group_1__2__Impl_in_rule__PropertyFillerSignedDoubleRange__Group_1__222399 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedDoubleRange__Alternatives_1_2_in_rule__PropertyFillerSignedDoubleRange__Group_1__2__Impl22426 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedDoubleRange__Group_5__0__Impl_in_rule__PropertyFillerSignedDoubleRange__Group_5__022462 = new BitSet(new long[]{0x0000001000000040L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedDoubleRange__Group_5__1_in_rule__PropertyFillerSignedDoubleRange__Group_5__022465 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_90_in_rule__PropertyFillerSignedDoubleRange__Group_5__0__Impl22493 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedDoubleRange__Group_5__1__Impl_in_rule__PropertyFillerSignedDoubleRange__Group_5__122524 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedDoubleRange__RoundedAssignment_5_1_in_rule__PropertyFillerSignedDoubleRange__Group_5__1__Impl22551 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedDoubleRandom__Group__0__Impl_in_rule__PropertyFillerSignedDoubleRandom__Group__022585 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedDoubleRandom__Group__1_in_rule__PropertyFillerSignedDoubleRandom__Group__022588 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_91_in_rule__PropertyFillerSignedDoubleRandom__Group__0__Impl22616 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedDoubleRandom__Group__1__Impl_in_rule__PropertyFillerSignedDoubleRandom__Group__122647 = new BitSet(new long[]{0x0000001000000040L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedDoubleRandom__Group__2_in_rule__PropertyFillerSignedDoubleRandom__Group__122650 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_67_in_rule__PropertyFillerSignedDoubleRandom__Group__1__Impl22678 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedDoubleRandom__Group__2__Impl_in_rule__PropertyFillerSignedDoubleRandom__Group__222709 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedDoubleRandom__Group__3_in_rule__PropertyFillerSignedDoubleRandom__Group__222712 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedDoubleRandom__ItemsAssignment_2_in_rule__PropertyFillerSignedDoubleRandom__Group__2__Impl22741 = new BitSet(new long[]{0x0000001000000042L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedDoubleRandom__ItemsAssignment_2_in_rule__PropertyFillerSignedDoubleRandom__Group__2__Impl22753 = new BitSet(new long[]{0x0000001000000042L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedDoubleRandom__Group__3__Impl_in_rule__PropertyFillerSignedDoubleRandom__Group__322786 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_68_in_rule__PropertyFillerSignedDoubleRandom__Group__3__Impl22814 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedIntegerRange__Group__0__Impl_in_rule__PropertyFillerSignedIntegerRange__Group__022853 = new BitSet(new long[]{0x0000000000000000L,0x0000000010000000L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedIntegerRange__Group__1_in_rule__PropertyFillerSignedIntegerRange__Group__022856 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedIntegerRange__Group__1__Impl_in_rule__PropertyFillerSignedIntegerRange__Group__122914 = new BitSet(new long[]{0x0000001000000050L,0x0000000004800000L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedIntegerRange__Group__2_in_rule__PropertyFillerSignedIntegerRange__Group__122917 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_92_in_rule__PropertyFillerSignedIntegerRange__Group__1__Impl22945 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedIntegerRange__Group__2__Impl_in_rule__PropertyFillerSignedIntegerRange__Group__222976 = new BitSet(new long[]{0x0000001000000050L,0x0000000004800000L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedIntegerRange__Group__3_in_rule__PropertyFillerSignedIntegerRange__Group__222979 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedIntegerRange__Group_2__0_in_rule__PropertyFillerSignedIntegerRange__Group__2__Impl23006 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedIntegerRange__Group__3__Impl_in_rule__PropertyFillerSignedIntegerRange__Group__323037 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedIntegerRange__Group_3__0_in_rule__PropertyFillerSignedIntegerRange__Group__3__Impl23064 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedIntegerRange__Group_2__0__Impl_in_rule__PropertyFillerSignedIntegerRange__Group_2__023103 = new BitSet(new long[]{0x0000001000000050L,0x0000000000800000L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedIntegerRange__Group_2__1_in_rule__PropertyFillerSignedIntegerRange__Group_2__023106 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedIntegerRange__Alternatives_2_0_in_rule__PropertyFillerSignedIntegerRange__Group_2__0__Impl23133 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedIntegerRange__Group_2__1__Impl_in_rule__PropertyFillerSignedIntegerRange__Group_2__123164 = new BitSet(new long[]{0x0000001000000050L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedIntegerRange__Group_2__2_in_rule__PropertyFillerSignedIntegerRange__Group_2__123167 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_87_in_rule__PropertyFillerSignedIntegerRange__Group_2__1__Impl23195 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedIntegerRange__Group_2__2__Impl_in_rule__PropertyFillerSignedIntegerRange__Group_2__223226 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedIntegerRange__Alternatives_2_2_in_rule__PropertyFillerSignedIntegerRange__Group_2__2__Impl23253 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedIntegerRange__Group_3__0__Impl_in_rule__PropertyFillerSignedIntegerRange__Group_3__023289 = new BitSet(new long[]{0x0000000000000040L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedIntegerRange__Group_3__1_in_rule__PropertyFillerSignedIntegerRange__Group_3__023292 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_90_in_rule__PropertyFillerSignedIntegerRange__Group_3__0__Impl23320 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedIntegerRange__Group_3__1__Impl_in_rule__PropertyFillerSignedIntegerRange__Group_3__123351 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedIntegerRange__RoundedAssignment_3_1_in_rule__PropertyFillerSignedIntegerRange__Group_3__1__Impl23378 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedIntegerRandom__Group__0__Impl_in_rule__PropertyFillerSignedIntegerRandom__Group__023412 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedIntegerRandom__Group__1_in_rule__PropertyFillerSignedIntegerRandom__Group__023415 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_93_in_rule__PropertyFillerSignedIntegerRandom__Group__0__Impl23443 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedIntegerRandom__Group__1__Impl_in_rule__PropertyFillerSignedIntegerRandom__Group__123474 = new BitSet(new long[]{0x0000001000000040L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedIntegerRandom__Group__2_in_rule__PropertyFillerSignedIntegerRandom__Group__123477 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_67_in_rule__PropertyFillerSignedIntegerRandom__Group__1__Impl23505 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedIntegerRandom__Group__2__Impl_in_rule__PropertyFillerSignedIntegerRandom__Group__223536 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedIntegerRandom__Group__3_in_rule__PropertyFillerSignedIntegerRandom__Group__223539 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedIntegerRandom__ItemsAssignment_2_in_rule__PropertyFillerSignedIntegerRandom__Group__2__Impl23568 = new BitSet(new long[]{0x0000001000000042L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedIntegerRandom__ItemsAssignment_2_in_rule__PropertyFillerSignedIntegerRandom__Group__2__Impl23580 = new BitSet(new long[]{0x0000001000000042L});
+        public static final BitSet FOLLOW_rule__PropertyFillerSignedIntegerRandom__Group__3__Impl_in_rule__PropertyFillerSignedIntegerRandom__Group__323613 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_68_in_rule__PropertyFillerSignedIntegerRandom__Group__3__Impl23641 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerTextRandom__Group__0__Impl_in_rule__PropertyFillerTextRandom__Group__023680 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L});
+        public static final BitSet FOLLOW_rule__PropertyFillerTextRandom__Group__1_in_rule__PropertyFillerTextRandom__Group__023683 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_94_in_rule__PropertyFillerTextRandom__Group__0__Impl23711 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerTextRandom__Group__1__Impl_in_rule__PropertyFillerTextRandom__Group__123742 = new BitSet(new long[]{0x0000000000000100L});
+        public static final BitSet FOLLOW_rule__PropertyFillerTextRandom__Group__2_in_rule__PropertyFillerTextRandom__Group__123745 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_67_in_rule__PropertyFillerTextRandom__Group__1__Impl23773 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerTextRandom__Group__2__Impl_in_rule__PropertyFillerTextRandom__Group__223804 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__PropertyFillerTextRandom__Group__3_in_rule__PropertyFillerTextRandom__Group__223807 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerTextRandom__ItemsAssignment_2_in_rule__PropertyFillerTextRandom__Group__2__Impl23836 = new BitSet(new long[]{0x0000000000000102L});
+        public static final BitSet FOLLOW_rule__PropertyFillerTextRandom__ItemsAssignment_2_in_rule__PropertyFillerTextRandom__Group__2__Impl23848 = new BitSet(new long[]{0x0000000000000102L});
+        public static final BitSet FOLLOW_rule__PropertyFillerTextRandom__Group__3__Impl_in_rule__PropertyFillerTextRandom__Group__323881 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_68_in_rule__PropertyFillerTextRandom__Group__3__Impl23909 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerTextParagraphs__Group__0__Impl_in_rule__PropertyFillerTextParagraphs__Group__023948 = new BitSet(new long[]{0x0000000000000000L,0x0000000080000000L});
+        public static final BitSet FOLLOW_rule__PropertyFillerTextParagraphs__Group__1_in_rule__PropertyFillerTextParagraphs__Group__023951 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerTextParagraphs__Group__1__Impl_in_rule__PropertyFillerTextParagraphs__Group__124009 = new BitSet(new long[]{0x0000000000000040L});
+        public static final BitSet FOLLOW_rule__PropertyFillerTextParagraphs__Group__2_in_rule__PropertyFillerTextParagraphs__Group__124012 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_95_in_rule__PropertyFillerTextParagraphs__Group__1__Impl24040 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerTextParagraphs__Group__2__Impl_in_rule__PropertyFillerTextParagraphs__Group__224071 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerTextParagraphs__CountAssignment_2_in_rule__PropertyFillerTextParagraphs__Group__2__Impl24098 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerTextSentences__Group__0__Impl_in_rule__PropertyFillerTextSentences__Group__024135 = new BitSet(new long[]{0x0000000000000000L,0x0000000100000000L});
+        public static final BitSet FOLLOW_rule__PropertyFillerTextSentences__Group__1_in_rule__PropertyFillerTextSentences__Group__024138 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerTextSentences__Group__1__Impl_in_rule__PropertyFillerTextSentences__Group__124196 = new BitSet(new long[]{0x0000000000000040L});
+        public static final BitSet FOLLOW_rule__PropertyFillerTextSentences__Group__2_in_rule__PropertyFillerTextSentences__Group__124199 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_96_in_rule__PropertyFillerTextSentences__Group__1__Impl24227 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerTextSentences__Group__2__Impl_in_rule__PropertyFillerTextSentences__Group__224258 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerTextSentences__CountAssignment_2_in_rule__PropertyFillerTextSentences__Group__2__Impl24285 = new BitSet(new long[]{0x0000000000000002L});
+    }
+
+    protected static class FollowSets011 {
+        public static final BitSet FOLLOW_rule__PropertyFillerTextWords__Group__0__Impl_in_rule__PropertyFillerTextWords__Group__024322 = new BitSet(new long[]{0x0000000000000000L,0x0000000200000000L});
+        public static final BitSet FOLLOW_rule__PropertyFillerTextWords__Group__1_in_rule__PropertyFillerTextWords__Group__024325 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerTextWords__Group__1__Impl_in_rule__PropertyFillerTextWords__Group__124383 = new BitSet(new long[]{0x0000000000000040L});
+        public static final BitSet FOLLOW_rule__PropertyFillerTextWords__Group__2_in_rule__PropertyFillerTextWords__Group__124386 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_97_in_rule__PropertyFillerTextWords__Group__1__Impl24414 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerTextWords__Group__2__Impl_in_rule__PropertyFillerTextWords__Group__224445 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerTextWords__CountAssignment_2_in_rule__PropertyFillerTextWords__Group__2__Impl24472 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedDoubleRange__Group__0__Impl_in_rule__PropertyFillerUnsignedDoubleRange__Group__024509 = new BitSet(new long[]{0x0000001000000050L,0x0000000000800800L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedDoubleRange__Group__1_in_rule__PropertyFillerUnsignedDoubleRange__Group__024512 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_98_in_rule__PropertyFillerUnsignedDoubleRange__Group__0__Impl24540 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedDoubleRange__Group__1__Impl_in_rule__PropertyFillerUnsignedDoubleRange__Group__124571 = new BitSet(new long[]{0x0000001000000050L,0x0000000000800800L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedDoubleRange__Group__2_in_rule__PropertyFillerUnsignedDoubleRange__Group__124574 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedDoubleRange__Group_1__0_in_rule__PropertyFillerUnsignedDoubleRange__Group__1__Impl24601 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedDoubleRange__Group__2__Impl_in_rule__PropertyFillerUnsignedDoubleRange__Group__224632 = new BitSet(new long[]{0x0000000000000040L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedDoubleRange__Group__3_in_rule__PropertyFillerUnsignedDoubleRange__Group__224635 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_75_in_rule__PropertyFillerUnsignedDoubleRange__Group__2__Impl24663 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedDoubleRange__Group__3__Impl_in_rule__PropertyFillerUnsignedDoubleRange__Group__324694 = new BitSet(new long[]{0x0000000000000000L,0x0000000002000000L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedDoubleRange__Group__4_in_rule__PropertyFillerUnsignedDoubleRange__Group__324697 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedDoubleRange__DecimalsAssignment_3_in_rule__PropertyFillerUnsignedDoubleRange__Group__3__Impl24724 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedDoubleRange__Group__4__Impl_in_rule__PropertyFillerUnsignedDoubleRange__Group__424754 = new BitSet(new long[]{0x0000000000000000L,0x0000000004000000L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedDoubleRange__Group__5_in_rule__PropertyFillerUnsignedDoubleRange__Group__424757 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_89_in_rule__PropertyFillerUnsignedDoubleRange__Group__4__Impl24785 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedDoubleRange__Group__5__Impl_in_rule__PropertyFillerUnsignedDoubleRange__Group__524816 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedDoubleRange__Group_5__0_in_rule__PropertyFillerUnsignedDoubleRange__Group__5__Impl24843 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedDoubleRange__Group_1__0__Impl_in_rule__PropertyFillerUnsignedDoubleRange__Group_1__024886 = new BitSet(new long[]{0x0000001000000050L,0x0000000000800000L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedDoubleRange__Group_1__1_in_rule__PropertyFillerUnsignedDoubleRange__Group_1__024889 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedDoubleRange__Alternatives_1_0_in_rule__PropertyFillerUnsignedDoubleRange__Group_1__0__Impl24916 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedDoubleRange__Group_1__1__Impl_in_rule__PropertyFillerUnsignedDoubleRange__Group_1__124947 = new BitSet(new long[]{0x0000001000000050L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedDoubleRange__Group_1__2_in_rule__PropertyFillerUnsignedDoubleRange__Group_1__124950 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_87_in_rule__PropertyFillerUnsignedDoubleRange__Group_1__1__Impl24978 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedDoubleRange__Group_1__2__Impl_in_rule__PropertyFillerUnsignedDoubleRange__Group_1__225009 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedDoubleRange__Alternatives_1_2_in_rule__PropertyFillerUnsignedDoubleRange__Group_1__2__Impl25036 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedDoubleRange__Group_5__0__Impl_in_rule__PropertyFillerUnsignedDoubleRange__Group_5__025072 = new BitSet(new long[]{0x0000001000000040L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedDoubleRange__Group_5__1_in_rule__PropertyFillerUnsignedDoubleRange__Group_5__025075 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_90_in_rule__PropertyFillerUnsignedDoubleRange__Group_5__0__Impl25103 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedDoubleRange__Group_5__1__Impl_in_rule__PropertyFillerUnsignedDoubleRange__Group_5__125134 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedDoubleRange__RoundedAssignment_5_1_in_rule__PropertyFillerUnsignedDoubleRange__Group_5__1__Impl25161 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedDoubleRandom__Group__0__Impl_in_rule__PropertyFillerUnsignedDoubleRandom__Group__025195 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedDoubleRandom__Group__1_in_rule__PropertyFillerUnsignedDoubleRandom__Group__025198 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_99_in_rule__PropertyFillerUnsignedDoubleRandom__Group__0__Impl25226 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedDoubleRandom__Group__1__Impl_in_rule__PropertyFillerUnsignedDoubleRandom__Group__125257 = new BitSet(new long[]{0x0000001000000040L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedDoubleRandom__Group__2_in_rule__PropertyFillerUnsignedDoubleRandom__Group__125260 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_67_in_rule__PropertyFillerUnsignedDoubleRandom__Group__1__Impl25288 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedDoubleRandom__Group__2__Impl_in_rule__PropertyFillerUnsignedDoubleRandom__Group__225319 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedDoubleRandom__Group__3_in_rule__PropertyFillerUnsignedDoubleRandom__Group__225322 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedDoubleRandom__ItemsAssignment_2_in_rule__PropertyFillerUnsignedDoubleRandom__Group__2__Impl25351 = new BitSet(new long[]{0x0000001000000042L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedDoubleRandom__ItemsAssignment_2_in_rule__PropertyFillerUnsignedDoubleRandom__Group__2__Impl25363 = new BitSet(new long[]{0x0000001000000042L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedDoubleRandom__Group__3__Impl_in_rule__PropertyFillerUnsignedDoubleRandom__Group__325396 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_68_in_rule__PropertyFillerUnsignedDoubleRandom__Group__3__Impl25424 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedIntegerRange__Group__0__Impl_in_rule__PropertyFillerUnsignedIntegerRange__Group__025463 = new BitSet(new long[]{0x0000000000000000L,0x0000001000000000L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedIntegerRange__Group__1_in_rule__PropertyFillerUnsignedIntegerRange__Group__025466 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedIntegerRange__Group__1__Impl_in_rule__PropertyFillerUnsignedIntegerRange__Group__125524 = new BitSet(new long[]{0x0000000000000050L,0x0000000004800000L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedIntegerRange__Group__2_in_rule__PropertyFillerUnsignedIntegerRange__Group__125527 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_100_in_rule__PropertyFillerUnsignedIntegerRange__Group__1__Impl25555 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedIntegerRange__Group__2__Impl_in_rule__PropertyFillerUnsignedIntegerRange__Group__225586 = new BitSet(new long[]{0x0000000000000050L,0x0000000004800000L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedIntegerRange__Group__3_in_rule__PropertyFillerUnsignedIntegerRange__Group__225589 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedIntegerRange__Group_2__0_in_rule__PropertyFillerUnsignedIntegerRange__Group__2__Impl25616 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedIntegerRange__Group__3__Impl_in_rule__PropertyFillerUnsignedIntegerRange__Group__325647 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedIntegerRange__Group_3__0_in_rule__PropertyFillerUnsignedIntegerRange__Group__3__Impl25674 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedIntegerRange__Group_2__0__Impl_in_rule__PropertyFillerUnsignedIntegerRange__Group_2__025713 = new BitSet(new long[]{0x0000000000000050L,0x0000000000800000L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedIntegerRange__Group_2__1_in_rule__PropertyFillerUnsignedIntegerRange__Group_2__025716 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedIntegerRange__Alternatives_2_0_in_rule__PropertyFillerUnsignedIntegerRange__Group_2__0__Impl25743 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedIntegerRange__Group_2__1__Impl_in_rule__PropertyFillerUnsignedIntegerRange__Group_2__125774 = new BitSet(new long[]{0x0000000000000050L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedIntegerRange__Group_2__2_in_rule__PropertyFillerUnsignedIntegerRange__Group_2__125777 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_87_in_rule__PropertyFillerUnsignedIntegerRange__Group_2__1__Impl25805 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedIntegerRange__Group_2__2__Impl_in_rule__PropertyFillerUnsignedIntegerRange__Group_2__225836 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedIntegerRange__Alternatives_2_2_in_rule__PropertyFillerUnsignedIntegerRange__Group_2__2__Impl25863 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedIntegerRange__Group_3__0__Impl_in_rule__PropertyFillerUnsignedIntegerRange__Group_3__025899 = new BitSet(new long[]{0x0000000000000040L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedIntegerRange__Group_3__1_in_rule__PropertyFillerUnsignedIntegerRange__Group_3__025902 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_90_in_rule__PropertyFillerUnsignedIntegerRange__Group_3__0__Impl25930 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedIntegerRange__Group_3__1__Impl_in_rule__PropertyFillerUnsignedIntegerRange__Group_3__125961 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedIntegerRange__RoundedAssignment_3_1_in_rule__PropertyFillerUnsignedIntegerRange__Group_3__1__Impl25988 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedIntegerRandom__Group__0__Impl_in_rule__PropertyFillerUnsignedIntegerRandom__Group__026022 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedIntegerRandom__Group__1_in_rule__PropertyFillerUnsignedIntegerRandom__Group__026025 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_101_in_rule__PropertyFillerUnsignedIntegerRandom__Group__0__Impl26053 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedIntegerRandom__Group__1__Impl_in_rule__PropertyFillerUnsignedIntegerRandom__Group__126084 = new BitSet(new long[]{0x0000000000000040L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedIntegerRandom__Group__2_in_rule__PropertyFillerUnsignedIntegerRandom__Group__126087 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_67_in_rule__PropertyFillerUnsignedIntegerRandom__Group__1__Impl26115 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedIntegerRandom__Group__2__Impl_in_rule__PropertyFillerUnsignedIntegerRandom__Group__226146 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedIntegerRandom__Group__3_in_rule__PropertyFillerUnsignedIntegerRandom__Group__226149 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedIntegerRandom__ItemsAssignment_2_in_rule__PropertyFillerUnsignedIntegerRandom__Group__2__Impl26178 = new BitSet(new long[]{0x0000000000000042L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedIntegerRandom__ItemsAssignment_2_in_rule__PropertyFillerUnsignedIntegerRandom__Group__2__Impl26190 = new BitSet(new long[]{0x0000000000000042L});
+        public static final BitSet FOLLOW_rule__PropertyFillerUnsignedIntegerRandom__Group__3__Impl_in_rule__PropertyFillerUnsignedIntegerRandom__Group__326223 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_68_in_rule__PropertyFillerUnsignedIntegerRandom__Group__3__Impl26251 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockDataType__Group__0__Impl_in_rule__EntityMockDataType__Group__026290 = new BitSet(new long[]{0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__EntityMockDataType__Group__1_in_rule__EntityMockDataType__Group__026293 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_102_in_rule__EntityMockDataType__Group__0__Impl26321 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockDataType__Group__1__Impl_in_rule__EntityMockDataType__Group__126352 = new BitSet(new long[]{0x0200000000000000L});
+        public static final BitSet FOLLOW_rule__EntityMockDataType__Group__2_in_rule__EntityMockDataType__Group__126355 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockDataType__NameAssignment_1_in_rule__EntityMockDataType__Group__1__Impl26382 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockDataType__Group__2__Impl_in_rule__EntityMockDataType__Group__226412 = new BitSet(new long[]{0x0400000000000000L});
+        public static final BitSet FOLLOW_rule__EntityMockDataType__Group__3_in_rule__EntityMockDataType__Group__226415 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_57_in_rule__EntityMockDataType__Group__2__Impl26443 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockDataType__Group__3__Impl_in_rule__EntityMockDataType__Group__326474 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_58_in_rule__EntityMockDataType__Group__3__Impl26502 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntities__Group__0__Impl_in_rule__EntityMockEntities__Group__026541 = new BitSet(new long[]{0x9801000000000000L,0x0000008000000440L});
+        public static final BitSet FOLLOW_rule__EntityMockEntities__Group__1_in_rule__EntityMockEntities__Group__026544 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntities__Group__1__Impl_in_rule__EntityMockEntities__Group__126602 = new BitSet(new long[]{0x0200000000000000L});
+        public static final BitSet FOLLOW_rule__EntityMockEntities__Group__2_in_rule__EntityMockEntities__Group__126605 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_103_in_rule__EntityMockEntities__Group__1__Impl26633 = new BitSet(new long[]{0x0000000000000002L});
+    }
+
+    protected static class FollowSets012 {
+        public static final BitSet FOLLOW_rule__EntityMockEntities__Group__2__Impl_in_rule__EntityMockEntities__Group__226664 = new BitSet(new long[]{0x0400000000000000L,0x0000010000000000L});
+        public static final BitSet FOLLOW_rule__EntityMockEntities__Group__3_in_rule__EntityMockEntities__Group__226667 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_57_in_rule__EntityMockEntities__Group__2__Impl26695 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntities__Group__3__Impl_in_rule__EntityMockEntities__Group__326726 = new BitSet(new long[]{0x0400000000000000L,0x0000010000000000L});
+        public static final BitSet FOLLOW_rule__EntityMockEntities__Group__4_in_rule__EntityMockEntities__Group__326729 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntities__EntitiesAssignment_3_in_rule__EntityMockEntities__Group__3__Impl26756 = new BitSet(new long[]{0x0000000000000002L,0x0000010000000000L});
+        public static final BitSet FOLLOW_rule__EntityMockEntities__Group__4__Impl_in_rule__EntityMockEntities__Group__426787 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_58_in_rule__EntityMockEntities__Group__4__Impl26815 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__Group__0__Impl_in_rule__EntityMockEntity__Group__026856 = new BitSet(new long[]{0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__Group__1_in_rule__EntityMockEntity__Group__026859 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_104_in_rule__EntityMockEntity__Group__0__Impl26887 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__Group__1__Impl_in_rule__EntityMockEntity__Group__126918 = new BitSet(new long[]{0x0000000000000000L,0x0000020000000000L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__Group__2_in_rule__EntityMockEntity__Group__126921 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__NameAssignment_1_in_rule__EntityMockEntity__Group__1__Impl26948 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__Group__2__Impl_in_rule__EntityMockEntity__Group__226978 = new BitSet(new long[]{0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__Group__3_in_rule__EntityMockEntity__Group__226981 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_105_in_rule__EntityMockEntity__Group__2__Impl27009 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__Group__3__Impl_in_rule__EntityMockEntity__Group__327040 = new BitSet(new long[]{0x0000000000000000L,0x0000340000000000L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__Group__4_in_rule__EntityMockEntity__Group__327043 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__EntityRefAssignment_3_in_rule__EntityMockEntity__Group__3__Impl27070 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__Group__4__Impl_in_rule__EntityMockEntity__Group__427100 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__Alternatives_4_in_rule__EntityMockEntity__Group__4__Impl27127 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__Group_4_0__0__Impl_in_rule__EntityMockEntity__Group_4_0__027167 = new BitSet(new long[]{0x0000000000000040L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__Group_4_0__1_in_rule__EntityMockEntity__Group_4_0__027170 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_106_in_rule__EntityMockEntity__Group_4_0__0__Impl27198 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__Group_4_0__1__Impl_in_rule__EntityMockEntity__Group_4_0__127229 = new BitSet(new long[]{0x0000000000000000L,0x0000080000000000L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__Group_4_0__2_in_rule__EntityMockEntity__Group_4_0__127232 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__MinRowsAssignment_4_0_1_in_rule__EntityMockEntity__Group_4_0__1__Impl27259 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__Group_4_0__2__Impl_in_rule__EntityMockEntity__Group_4_0__227289 = new BitSet(new long[]{0x0000000000000040L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__Group_4_0__3_in_rule__EntityMockEntity__Group_4_0__227292 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_107_in_rule__EntityMockEntity__Group_4_0__2__Impl27320 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__Group_4_0__3__Impl_in_rule__EntityMockEntity__Group_4_0__327351 = new BitSet(new long[]{0x0200000000000000L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__Group_4_0__4_in_rule__EntityMockEntity__Group_4_0__327354 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__MaxRowsAssignment_4_0_3_in_rule__EntityMockEntity__Group_4_0__3__Impl27381 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__Group_4_0__4__Impl_in_rule__EntityMockEntity__Group_4_0__427411 = new BitSet(new long[]{0x0400000000000000L,0x0190000000000100L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__Group_4_0__5_in_rule__EntityMockEntity__Group_4_0__427414 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_57_in_rule__EntityMockEntity__Group_4_0__4__Impl27442 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__Group_4_0__5__Impl_in_rule__EntityMockEntity__Group_4_0__527473 = new BitSet(new long[]{0x0400000000000000L,0x0190000000000100L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__Group_4_0__6_in_rule__EntityMockEntity__Group_4_0__527476 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__TemporariesAssignment_4_0_5_in_rule__EntityMockEntity__Group_4_0__5__Impl27503 = new BitSet(new long[]{0x0000000000000002L,0x0010000000000000L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__Group_4_0__6__Impl_in_rule__EntityMockEntity__Group_4_0__627534 = new BitSet(new long[]{0x0400000000000000L,0x0190000000000100L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__Group_4_0__7_in_rule__EntityMockEntity__Group_4_0__627537 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__AttributesAssignment_4_0_6_in_rule__EntityMockEntity__Group_4_0__6__Impl27564 = new BitSet(new long[]{0x0000000000000002L,0x0180000000000100L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__Group_4_0__7__Impl_in_rule__EntityMockEntity__Group_4_0__727595 = new BitSet(new long[]{0x0400000000000000L,0x0190000000000100L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__Group_4_0__8_in_rule__EntityMockEntity__Group_4_0__727598 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__CalculationsAssignment_4_0_7_in_rule__EntityMockEntity__Group_4_0__7__Impl27625 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000100L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__Group_4_0__8__Impl_in_rule__EntityMockEntity__Group_4_0__827656 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_58_in_rule__EntityMockEntity__Group_4_0__8__Impl27684 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__Group_4_1__0__Impl_in_rule__EntityMockEntity__Group_4_1__027733 = new BitSet(new long[]{0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__Group_4_1__1_in_rule__EntityMockEntity__Group_4_1__027736 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_108_in_rule__EntityMockEntity__Group_4_1__0__Impl27764 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__Group_4_1__1__Impl_in_rule__EntityMockEntity__Group_4_1__127795 = new BitSet(new long[]{0x0200000000000000L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__Group_4_1__2_in_rule__EntityMockEntity__Group_4_1__127798 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__ByResourceAssignment_4_1_1_in_rule__EntityMockEntity__Group_4_1__1__Impl27825 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__Group_4_1__2__Impl_in_rule__EntityMockEntity__Group_4_1__227855 = new BitSet(new long[]{0x0400000000000000L,0x0000000000000100L,0x0000000000200000L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__Group_4_1__3_in_rule__EntityMockEntity__Group_4_1__227858 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_57_in_rule__EntityMockEntity__Group_4_1__2__Impl27886 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__Group_4_1__3__Impl_in_rule__EntityMockEntity__Group_4_1__327917 = new BitSet(new long[]{0x0400000000000000L,0x0000000000000100L,0x0000000000200000L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__Group_4_1__4_in_rule__EntityMockEntity__Group_4_1__327920 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__ByResourceAttributesAssignment_4_1_3_in_rule__EntityMockEntity__Group_4_1__3__Impl27947 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000100L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__Group_4_1__4__Impl_in_rule__EntityMockEntity__Group_4_1__427978 = new BitSet(new long[]{0x0400000000000000L,0x0000000000000100L,0x0000000000200000L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__Group_4_1__5_in_rule__EntityMockEntity__Group_4_1__427981 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__CreateBlobMappingAssignment_4_1_4_in_rule__EntityMockEntity__Group_4_1__4__Impl28008 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__Group_4_1__5__Impl_in_rule__EntityMockEntity__Group_4_1__528039 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_58_in_rule__EntityMockEntity__Group_4_1__5__Impl28067 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__Group_4_2__0__Impl_in_rule__EntityMockEntity__Group_4_2__028110 = new BitSet(new long[]{0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__Group_4_2__1_in_rule__EntityMockEntity__Group_4_2__028113 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_109_in_rule__EntityMockEntity__Group_4_2__0__Impl28141 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__Group_4_2__1__Impl_in_rule__EntityMockEntity__Group_4_2__128172 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000800L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__Group_4_2__2_in_rule__EntityMockEntity__Group_4_2__128175 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__IteratorAssignment_4_2_1_in_rule__EntityMockEntity__Group_4_2__1__Impl28202 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__Group_4_2__2__Impl_in_rule__EntityMockEntity__Group_4_2__228232 = new BitSet(new long[]{0x0000000000000000L,0x0002400000000000L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__Group_4_2__3_in_rule__EntityMockEntity__Group_4_2__228235 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_75_in_rule__EntityMockEntity__Group_4_2__2__Impl28263 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__Group_4_2__3__Impl_in_rule__EntityMockEntity__Group_4_2__328294 = new BitSet(new long[]{0x0200000000000000L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__Group_4_2__4_in_rule__EntityMockEntity__Group_4_2__328297 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__IterateAssignment_4_2_3_in_rule__EntityMockEntity__Group_4_2__3__Impl28324 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__Group_4_2__4__Impl_in_rule__EntityMockEntity__Group_4_2__428354 = new BitSet(new long[]{0x0400000000000000L,0x0190000000000100L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__Group_4_2__5_in_rule__EntityMockEntity__Group_4_2__428357 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_57_in_rule__EntityMockEntity__Group_4_2__4__Impl28385 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__Group_4_2__5__Impl_in_rule__EntityMockEntity__Group_4_2__528416 = new BitSet(new long[]{0x0400000000000000L,0x0190000000000100L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__Group_4_2__6_in_rule__EntityMockEntity__Group_4_2__528419 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__TemporariesAssignment_4_2_5_in_rule__EntityMockEntity__Group_4_2__5__Impl28446 = new BitSet(new long[]{0x0000000000000002L,0x0010000000000000L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__Group_4_2__6__Impl_in_rule__EntityMockEntity__Group_4_2__628477 = new BitSet(new long[]{0x0400000000000000L,0x0190000000000100L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__Group_4_2__7_in_rule__EntityMockEntity__Group_4_2__628480 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__AttributesAssignment_4_2_6_in_rule__EntityMockEntity__Group_4_2__6__Impl28507 = new BitSet(new long[]{0x0000000000000002L,0x0180000000000100L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__Group_4_2__7__Impl_in_rule__EntityMockEntity__Group_4_2__728538 = new BitSet(new long[]{0x0400000000000000L,0x0190000000000100L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__Group_4_2__8_in_rule__EntityMockEntity__Group_4_2__728541 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__CalculationsAssignment_4_2_7_in_rule__EntityMockEntity__Group_4_2__7__Impl28568 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000100L});
+        public static final BitSet FOLLOW_rule__EntityMockEntity__Group_4_2__8__Impl_in_rule__EntityMockEntity__Group_4_2__828599 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_58_in_rule__EntityMockEntity__Group_4_2__8__Impl28627 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__IntegerIterate__Group__0__Impl_in_rule__IntegerIterate__Group__028676 = new BitSet(new long[]{0x0000001000000040L});
+        public static final BitSet FOLLOW_rule__IntegerIterate__Group__1_in_rule__IntegerIterate__Group__028679 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_110_in_rule__IntegerIterate__Group__0__Impl28707 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__IntegerIterate__Group__1__Impl_in_rule__IntegerIterate__Group__128738 = new BitSet(new long[]{0x0000000000000000L,0x0000800000000000L});
+        public static final BitSet FOLLOW_rule__IntegerIterate__Group__2_in_rule__IntegerIterate__Group__128741 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__IntegerIterate__FromAssignment_1_in_rule__IntegerIterate__Group__1__Impl28768 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__IntegerIterate__Group__2__Impl_in_rule__IntegerIterate__Group__228798 = new BitSet(new long[]{0x0000001000000040L});
+        public static final BitSet FOLLOW_rule__IntegerIterate__Group__3_in_rule__IntegerIterate__Group__228801 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_111_in_rule__IntegerIterate__Group__2__Impl28829 = new BitSet(new long[]{0x0000000000000002L});
+    }
+
+    protected static class FollowSets013 {
+        public static final BitSet FOLLOW_rule__IntegerIterate__Group__3__Impl_in_rule__IntegerIterate__Group__328860 = new BitSet(new long[]{0x0000000000000000L,0x0001000000000000L});
+        public static final BitSet FOLLOW_rule__IntegerIterate__Group__4_in_rule__IntegerIterate__Group__328863 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__IntegerIterate__UntilAssignment_3_in_rule__IntegerIterate__Group__3__Impl28890 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__IntegerIterate__Group__4__Impl_in_rule__IntegerIterate__Group__428920 = new BitSet(new long[]{0x0000000000000040L});
+        public static final BitSet FOLLOW_rule__IntegerIterate__Group__5_in_rule__IntegerIterate__Group__428923 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_112_in_rule__IntegerIterate__Group__4__Impl28951 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__IntegerIterate__Group__5__Impl_in_rule__IntegerIterate__Group__528982 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__IntegerIterate__StepAssignment_5_in_rule__IntegerIterate__Group__5__Impl29009 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__DateIterate__Group__0__Impl_in_rule__DateIterate__Group__029051 = new BitSet(new long[]{0x0000000000000040L,0x0000000000000000L,0x0000000001C00000L});
+        public static final BitSet FOLLOW_rule__DateIterate__Group__1_in_rule__DateIterate__Group__029054 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_113_in_rule__DateIterate__Group__0__Impl29082 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__DateIterate__Group__1__Impl_in_rule__DateIterate__Group__129113 = new BitSet(new long[]{0x0000000000000000L,0x0000800000000000L});
+        public static final BitSet FOLLOW_rule__DateIterate__Group__2_in_rule__DateIterate__Group__129116 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__DateIterate__FromAssignment_1_in_rule__DateIterate__Group__1__Impl29143 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__DateIterate__Group__2__Impl_in_rule__DateIterate__Group__229173 = new BitSet(new long[]{0x0000000000000040L,0x0000000000000000L,0x0000000001C00000L});
+        public static final BitSet FOLLOW_rule__DateIterate__Group__3_in_rule__DateIterate__Group__229176 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_111_in_rule__DateIterate__Group__2__Impl29204 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__DateIterate__Group__3__Impl_in_rule__DateIterate__Group__329235 = new BitSet(new long[]{0x0000000000000000L,0x0004000000000000L});
+        public static final BitSet FOLLOW_rule__DateIterate__Group__4_in_rule__DateIterate__Group__329238 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__DateIterate__UntilAssignment_3_in_rule__DateIterate__Group__3__Impl29265 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__DateIterate__Group__4__Impl_in_rule__DateIterate__Group__429295 = new BitSet(new long[]{0x0000000000000040L});
+        public static final BitSet FOLLOW_rule__DateIterate__Group__5_in_rule__DateIterate__Group__429298 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_114_in_rule__DateIterate__Group__4__Impl29326 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__DateIterate__Group__5__Impl_in_rule__DateIterate__Group__529357 = new BitSet(new long[]{0x00F0000000000000L});
+        public static final BitSet FOLLOW_rule__DateIterate__Group__6_in_rule__DateIterate__Group__529360 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__DateIterate__StepCountAssignment_5_in_rule__DateIterate__Group__5__Impl29387 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__DateIterate__Group__6__Impl_in_rule__DateIterate__Group__629417 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__DateIterate__StepTypeAssignment_6_in_rule__DateIterate__Group__6__Impl29444 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Date__Group_3__0__Impl_in_rule__Date__Group_3__029488 = new BitSet(new long[]{0x0000001000000000L});
+        public static final BitSet FOLLOW_rule__Date__Group_3__1_in_rule__Date__Group_3__029491 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Date__YearAssignment_3_0_in_rule__Date__Group_3__0__Impl29518 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Date__Group_3__1__Impl_in_rule__Date__Group_3__129548 = new BitSet(new long[]{0x0000000000000040L});
+        public static final BitSet FOLLOW_rule__Date__Group_3__2_in_rule__Date__Group_3__129551 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_36_in_rule__Date__Group_3__1__Impl29579 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Date__Group_3__2__Impl_in_rule__Date__Group_3__229610 = new BitSet(new long[]{0x0000001000000000L});
+        public static final BitSet FOLLOW_rule__Date__Group_3__3_in_rule__Date__Group_3__229613 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Date__MonthAssignment_3_2_in_rule__Date__Group_3__2__Impl29640 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Date__Group_3__3__Impl_in_rule__Date__Group_3__329670 = new BitSet(new long[]{0x0000000000000040L});
+        public static final BitSet FOLLOW_rule__Date__Group_3__4_in_rule__Date__Group_3__329673 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_36_in_rule__Date__Group_3__3__Impl29701 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Date__Group_3__4__Impl_in_rule__Date__Group_3__429732 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Date__DayAssignment_3_4_in_rule__Date__Group_3__4__Impl29759 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockByResourceAttribute__Group__0__Impl_in_rule__EntityMockByResourceAttribute__Group__029799 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000100L});
+        public static final BitSet FOLLOW_rule__EntityMockByResourceAttribute__Group__1_in_rule__EntityMockByResourceAttribute__Group__029802 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockByResourceAttribute__Group__1__Impl_in_rule__EntityMockByResourceAttribute__Group__129860 = new BitSet(new long[]{0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__EntityMockByResourceAttribute__Group__2_in_rule__EntityMockByResourceAttribute__Group__129863 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_72_in_rule__EntityMockByResourceAttribute__Group__1__Impl29891 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockByResourceAttribute__Group__2__Impl_in_rule__EntityMockByResourceAttribute__Group__229922 = new BitSet(new long[]{0x0000000000000000L,0x0008000000000000L});
+        public static final BitSet FOLLOW_rule__EntityMockByResourceAttribute__Group__3_in_rule__EntityMockByResourceAttribute__Group__229925 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockByResourceAttribute__AttributeRefAssignment_2_in_rule__EntityMockByResourceAttribute__Group__2__Impl29952 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockByResourceAttribute__Group__3__Impl_in_rule__EntityMockByResourceAttribute__Group__329982 = new BitSet(new long[]{0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__EntityMockByResourceAttribute__Group__4_in_rule__EntityMockByResourceAttribute__Group__329985 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_115_in_rule__EntityMockByResourceAttribute__Group__3__Impl30013 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockByResourceAttribute__Group__4__Impl_in_rule__EntityMockByResourceAttribute__Group__430044 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockByResourceAttribute__ResourceAttributeAssignment_4_in_rule__EntityMockByResourceAttribute__Group__4__Impl30071 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockTemporary__Group__0__Impl_in_rule__EntityMockTemporary__Group__030111 = new BitSet(new long[]{0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__EntityMockTemporary__Group__1_in_rule__EntityMockTemporary__Group__030114 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_116_in_rule__EntityMockTemporary__Group__0__Impl30142 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockTemporary__Group__1__Impl_in_rule__EntityMockTemporary__Group__130173 = new BitSet(new long[]{0x0000000000000000L,0x0020000000000000L});
+        public static final BitSet FOLLOW_rule__EntityMockTemporary__Group__2_in_rule__EntityMockTemporary__Group__130176 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockTemporary__NameAssignment_1_in_rule__EntityMockTemporary__Group__1__Impl30203 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockTemporary__Group__2__Impl_in_rule__EntityMockTemporary__Group__230233 = new BitSet(new long[]{0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__EntityMockTemporary__Group__3_in_rule__EntityMockTemporary__Group__230236 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_117_in_rule__EntityMockTemporary__Group__2__Impl30264 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockTemporary__Group__3__Impl_in_rule__EntityMockTemporary__Group__330295 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockTemporary__ObjectAssignment_3_in_rule__EntityMockTemporary__Group__3__Impl30322 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntityFunction__Group__0__Impl_in_rule__EntityMockEntityFunction__Group__030360 = new BitSet(new long[]{0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__EntityMockEntityFunction__Group__1_in_rule__EntityMockEntityFunction__Group__030363 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_72_in_rule__EntityMockEntityFunction__Group__0__Impl30391 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntityFunction__Group__1__Impl_in_rule__EntityMockEntityFunction__Group__130422 = new BitSet(new long[]{0x0000000000000000L,0x0040000000000000L});
+        public static final BitSet FOLLOW_rule__EntityMockEntityFunction__Group__2_in_rule__EntityMockEntityFunction__Group__130425 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntityFunction__AttributeRefAssignment_1_in_rule__EntityMockEntityFunction__Group__1__Impl30452 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntityFunction__Group__2__Impl_in_rule__EntityMockEntityFunction__Group__230482 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L});
+        public static final BitSet FOLLOW_rule__EntityMockEntityFunction__Group__3_in_rule__EntityMockEntityFunction__Group__230485 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_118_in_rule__EntityMockEntityFunction__Group__2__Impl30513 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntityFunction__Group__3__Impl_in_rule__EntityMockEntityFunction__Group__330544 = new BitSet(new long[]{0x0000000000000010L,0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__EntityMockEntityFunction__Group__4_in_rule__EntityMockEntityFunction__Group__330547 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_67_in_rule__EntityMockEntityFunction__Group__3__Impl30575 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntityFunction__Group__4__Impl_in_rule__EntityMockEntityFunction__Group__430606 = new BitSet(new long[]{0x0000000000000010L,0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__EntityMockEntityFunction__Group__5_in_rule__EntityMockEntityFunction__Group__430609 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntityFunction__Group_4__0_in_rule__EntityMockEntityFunction__Group__4__Impl30636 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntityFunction__Group__5__Impl_in_rule__EntityMockEntityFunction__Group__530667 = new BitSet(new long[]{0x0200000000000000L});
+        public static final BitSet FOLLOW_rule__EntityMockEntityFunction__Group__6_in_rule__EntityMockEntityFunction__Group__530670 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_68_in_rule__EntityMockEntityFunction__Group__5__Impl30698 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntityFunction__Group__6__Impl_in_rule__EntityMockEntityFunction__Group__630729 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntityFunction__BodyAssignment_6_in_rule__EntityMockEntityFunction__Group__6__Impl30756 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntityFunction__Group_4__0__Impl_in_rule__EntityMockEntityFunction__Group_4__030800 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L});
+        public static final BitSet FOLLOW_rule__EntityMockEntityFunction__Group_4__1_in_rule__EntityMockEntityFunction__Group_4__030803 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntityFunction__ParamsAssignment_4_0_in_rule__EntityMockEntityFunction__Group_4__0__Impl30830 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntityFunction__Group_4__1__Impl_in_rule__EntityMockEntityFunction__Group_4__130860 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntityFunction__Group_4_1__0_in_rule__EntityMockEntityFunction__Group_4__1__Impl30887 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000020L});
+        public static final BitSet FOLLOW_rule__EntityMockEntityFunction__Group_4_1__0__Impl_in_rule__EntityMockEntityFunction__Group_4_1__030922 = new BitSet(new long[]{0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__EntityMockEntityFunction__Group_4_1__1_in_rule__EntityMockEntityFunction__Group_4_1__030925 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_69_in_rule__EntityMockEntityFunction__Group_4_1__0__Impl30953 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntityFunction__Group_4_1__1__Impl_in_rule__EntityMockEntityFunction__Group_4_1__130984 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntityFunction__ParamsAssignment_4_1_1_in_rule__EntityMockEntityFunction__Group_4_1__1__Impl31011 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntityFunctionParameter__Group_1__0__Impl_in_rule__EntityMockEntityFunctionParameter__Group_1__031045 = new BitSet(new long[]{0x0000100000000010L});
+        public static final BitSet FOLLOW_rule__EntityMockEntityFunctionParameter__Group_1__1_in_rule__EntityMockEntityFunctionParameter__Group_1__031048 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntityFunctionParameter__ReferencePathsAssignment_1_0_in_rule__EntityMockEntityFunctionParameter__Group_1__0__Impl31075 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntityFunctionParameter__Group_1__1__Impl_in_rule__EntityMockEntityFunctionParameter__Group_1__131105 = new BitSet(new long[]{0x0000100000000010L});
+    }
+
+    protected static class FollowSets014 {
+        public static final BitSet FOLLOW_rule__EntityMockEntityFunctionParameter__Group_1__2_in_rule__EntityMockEntityFunctionParameter__Group_1__131108 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntityFunctionParameter__Group_1_1__0_in_rule__EntityMockEntityFunctionParameter__Group_1__1__Impl31135 = new BitSet(new long[]{0x0000100000000012L});
+        public static final BitSet FOLLOW_rule__EntityMockEntityFunctionParameter__Group_1__2__Impl_in_rule__EntityMockEntityFunctionParameter__Group_1__231166 = new BitSet(new long[]{0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__EntityMockEntityFunctionParameter__Group_1__3_in_rule__EntityMockEntityFunctionParameter__Group_1__231169 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_44_in_rule__EntityMockEntityFunctionParameter__Group_1__2__Impl31197 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntityFunctionParameter__Group_1__3__Impl_in_rule__EntityMockEntityFunctionParameter__Group_1__331228 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntityFunctionParameter__ReferenceRefAssignment_1_3_in_rule__EntityMockEntityFunctionParameter__Group_1__3__Impl31255 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntityFunctionParameter__Group_1_1__0__Impl_in_rule__EntityMockEntityFunctionParameter__Group_1_1__031293 = new BitSet(new long[]{0x0000100000000010L});
+        public static final BitSet FOLLOW_rule__EntityMockEntityFunctionParameter__Group_1_1__1_in_rule__EntityMockEntityFunctionParameter__Group_1_1__031296 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_44_in_rule__EntityMockEntityFunctionParameter__Group_1_1__0__Impl31325 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntityFunctionParameter__Group_1_1__1__Impl_in_rule__EntityMockEntityFunctionParameter__Group_1_1__131358 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockEntityFunctionParameter__ReferencePathsAssignment_1_1_1_in_rule__EntityMockEntityFunctionParameter__Group_1_1__1__Impl31385 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockReferencedObjectAttribute__Group__0__Impl_in_rule__EntityMockReferencedObjectAttribute__Group__031419 = new BitSet(new long[]{0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__EntityMockReferencedObjectAttribute__Group__1_in_rule__EntityMockReferencedObjectAttribute__Group__031422 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockReferencedObjectAttribute__Group__1__Impl_in_rule__EntityMockReferencedObjectAttribute__Group__131480 = new BitSet(new long[]{0x0000100000000010L});
+        public static final BitSet FOLLOW_rule__EntityMockReferencedObjectAttribute__Group__2_in_rule__EntityMockReferencedObjectAttribute__Group__131483 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockReferencedObjectAttribute__TemporaryAssignment_1_in_rule__EntityMockReferencedObjectAttribute__Group__1__Impl31510 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockReferencedObjectAttribute__Group__2__Impl_in_rule__EntityMockReferencedObjectAttribute__Group__231540 = new BitSet(new long[]{0x0000100000000010L});
+        public static final BitSet FOLLOW_rule__EntityMockReferencedObjectAttribute__Group__3_in_rule__EntityMockReferencedObjectAttribute__Group__231543 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockReferencedObjectAttribute__Group_2__0_in_rule__EntityMockReferencedObjectAttribute__Group__2__Impl31570 = new BitSet(new long[]{0x0000100000000012L});
+        public static final BitSet FOLLOW_rule__EntityMockReferencedObjectAttribute__Group__3__Impl_in_rule__EntityMockReferencedObjectAttribute__Group__331601 = new BitSet(new long[]{0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__EntityMockReferencedObjectAttribute__Group__4_in_rule__EntityMockReferencedObjectAttribute__Group__331604 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_44_in_rule__EntityMockReferencedObjectAttribute__Group__3__Impl31632 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockReferencedObjectAttribute__Group__4__Impl_in_rule__EntityMockReferencedObjectAttribute__Group__431663 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockReferencedObjectAttribute__AttributeAssignment_4_in_rule__EntityMockReferencedObjectAttribute__Group__4__Impl31690 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockReferencedObjectAttribute__Group_2__0__Impl_in_rule__EntityMockReferencedObjectAttribute__Group_2__031730 = new BitSet(new long[]{0x0000100000000010L});
+        public static final BitSet FOLLOW_rule__EntityMockReferencedObjectAttribute__Group_2__1_in_rule__EntityMockReferencedObjectAttribute__Group_2__031733 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_44_in_rule__EntityMockReferencedObjectAttribute__Group_2__0__Impl31762 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockReferencedObjectAttribute__Group_2__1__Impl_in_rule__EntityMockReferencedObjectAttribute__Group_2__131795 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockReferencedObjectAttribute__EmbeddedAssignment_2_1_in_rule__EntityMockReferencedObjectAttribute__Group_2__1__Impl31822 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockAttributeByObject__Group_0__0__Impl_in_rule__EntityMockAttributeByObject__Group_0__031856 = new BitSet(new long[]{0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__EntityMockAttributeByObject__Group_0__1_in_rule__EntityMockAttributeByObject__Group_0__031859 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_72_in_rule__EntityMockAttributeByObject__Group_0__0__Impl31887 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockAttributeByObject__Group_0__1__Impl_in_rule__EntityMockAttributeByObject__Group_0__131918 = new BitSet(new long[]{0x0000000000000000L,0x0008000000000000L});
+        public static final BitSet FOLLOW_rule__EntityMockAttributeByObject__Group_0__2_in_rule__EntityMockAttributeByObject__Group_0__131921 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockAttributeByObject__AttributeRefAssignment_0_1_in_rule__EntityMockAttributeByObject__Group_0__1__Impl31948 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockAttributeByObject__Group_0__2__Impl_in_rule__EntityMockAttributeByObject__Group_0__231978 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockAttributeByObject__Group_0_2__0_in_rule__EntityMockAttributeByObject__Group_0__2__Impl32005 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockAttributeByObject__Group_0_2__0__Impl_in_rule__EntityMockAttributeByObject__Group_0_2__032041 = new BitSet(new long[]{0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__EntityMockAttributeByObject__Group_0_2__1_in_rule__EntityMockAttributeByObject__Group_0_2__032044 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_115_in_rule__EntityMockAttributeByObject__Group_0_2__0__Impl32072 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockAttributeByObject__Group_0_2__1__Impl_in_rule__EntityMockAttributeByObject__Group_0_2__132103 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockAttributeByObject__ReferenceAssignment_0_2_1_in_rule__EntityMockAttributeByObject__Group_0_2__1__Impl32130 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockAttributeByObject__Group_1__0__Impl_in_rule__EntityMockAttributeByObject__Group_1__032164 = new BitSet(new long[]{0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__EntityMockAttributeByObject__Group_1__1_in_rule__EntityMockAttributeByObject__Group_1__032167 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_119_in_rule__EntityMockAttributeByObject__Group_1__0__Impl32195 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockAttributeByObject__Group_1__1__Impl_in_rule__EntityMockAttributeByObject__Group_1__132226 = new BitSet(new long[]{0x0000100000000000L});
+        public static final BitSet FOLLOW_rule__EntityMockAttributeByObject__Group_1__2_in_rule__EntityMockAttributeByObject__Group_1__132229 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockAttributeByObject__ResourceEnumAssignment_1_1_in_rule__EntityMockAttributeByObject__Group_1__1__Impl32256 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockAttributeByObject__Group_1__2__Impl_in_rule__EntityMockAttributeByObject__Group_1__232286 = new BitSet(new long[]{0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__EntityMockAttributeByObject__Group_1__3_in_rule__EntityMockAttributeByObject__Group_1__232289 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_44_in_rule__EntityMockAttributeByObject__Group_1__2__Impl32317 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockAttributeByObject__Group_1__3__Impl_in_rule__EntityMockAttributeByObject__Group_1__332348 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockAttributeByObject__ResourceAttributeAssignment_1_3_in_rule__EntityMockAttributeByObject__Group_1__3__Impl32375 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockAttributeFiller__Group__0__Impl_in_rule__EntityMockAttributeFiller__Group__032413 = new BitSet(new long[]{0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__EntityMockAttributeFiller__Group__1_in_rule__EntityMockAttributeFiller__Group__032416 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_72_in_rule__EntityMockAttributeFiller__Group__0__Impl32444 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockAttributeFiller__Group__1__Impl_in_rule__EntityMockAttributeFiller__Group__132475 = new BitSet(new long[]{0x0000000000000000L,0x0000000000040000L});
+        public static final BitSet FOLLOW_rule__EntityMockAttributeFiller__Group__2_in_rule__EntityMockAttributeFiller__Group__132478 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockAttributeFiller__AttributeRefAssignment_1_in_rule__EntityMockAttributeFiller__Group__1__Impl32505 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockAttributeFiller__Group__2__Impl_in_rule__EntityMockAttributeFiller__Group__232535 = new BitSet(new long[]{0x0000000000000000L,0x0000003FF9780000L});
+        public static final BitSet FOLLOW_rule__EntityMockAttributeFiller__Group__3_in_rule__EntityMockAttributeFiller__Group__232538 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_82_in_rule__EntityMockAttributeFiller__Group__2__Impl32566 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockAttributeFiller__Group__3__Impl_in_rule__EntityMockAttributeFiller__Group__332597 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockAttributeFiller__FillerTypeAssignment_3_in_rule__EntityMockAttributeFiller__Group__3__Impl32624 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockAttributeByReference__Group__0__Impl_in_rule__EntityMockAttributeByReference__Group__032662 = new BitSet(new long[]{0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__EntityMockAttributeByReference__Group__1_in_rule__EntityMockAttributeByReference__Group__032665 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_120_in_rule__EntityMockAttributeByReference__Group__0__Impl32693 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockAttributeByReference__Group__1__Impl_in_rule__EntityMockAttributeByReference__Group__132724 = new BitSet(new long[]{0x0000000000000000L,0x0000080000000000L});
+        public static final BitSet FOLLOW_rule__EntityMockAttributeByReference__Group__2_in_rule__EntityMockAttributeByReference__Group__132727 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockAttributeByReference__AttributeRefAssignment_1_in_rule__EntityMockAttributeByReference__Group__1__Impl32754 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockAttributeByReference__Group__2__Impl_in_rule__EntityMockAttributeByReference__Group__232784 = new BitSet(new long[]{0x0000000000010010L});
+        public static final BitSet FOLLOW_rule__EntityMockAttributeByReference__Group__3_in_rule__EntityMockAttributeByReference__Group__232787 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_107_in_rule__EntityMockAttributeByReference__Group__2__Impl32815 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockAttributeByReference__Group__3__Impl_in_rule__EntityMockAttributeByReference__Group__332846 = new BitSet(new long[]{0x0000000000000000L,0x0200000000000000L});
+        public static final BitSet FOLLOW_rule__EntityMockAttributeByReference__Group__4_in_rule__EntityMockAttributeByReference__Group__332849 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockAttributeByReference__Alternatives_3_in_rule__EntityMockAttributeByReference__Group__3__Impl32876 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockAttributeByReference__Group__4__Impl_in_rule__EntityMockAttributeByReference__Group__432906 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockAttributeByReference__Group_4__0_in_rule__EntityMockAttributeByReference__Group__4__Impl32933 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockAttributeByReference__Group_4__0__Impl_in_rule__EntityMockAttributeByReference__Group_4__032974 = new BitSet(new long[]{0x0000000000000040L});
+        public static final BitSet FOLLOW_rule__EntityMockAttributeByReference__Group_4__1_in_rule__EntityMockAttributeByReference__Group_4__032977 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_121_in_rule__EntityMockAttributeByReference__Group_4__0__Impl33005 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockAttributeByReference__Group_4__1__Impl_in_rule__EntityMockAttributeByReference__Group_4__133036 = new BitSet(new long[]{0x0000000000000000L,0x0400000000000000L});
+        public static final BitSet FOLLOW_rule__EntityMockAttributeByReference__Group_4__2_in_rule__EntityMockAttributeByReference__Group_4__133039 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockAttributeByReference__OptionalForAssignment_4_1_in_rule__EntityMockAttributeByReference__Group_4__1__Impl33066 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EntityMockAttributeByReference__Group_4__2__Impl_in_rule__EntityMockAttributeByReference__Group_4__233096 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_122_in_rule__EntityMockAttributeByReference__Group_4__2__Impl33124 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SignedNumber__Group__0__Impl_in_rule__SignedNumber__Group__033161 = new BitSet(new long[]{0x0000001000000040L});
+        public static final BitSet FOLLOW_rule__SignedNumber__Group__1_in_rule__SignedNumber__Group__033164 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_36_in_rule__SignedNumber__Group__0__Impl33193 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SignedNumber__Group__1__Impl_in_rule__SignedNumber__Group__133226 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleUnsignedNumber_in_rule__SignedNumber__Group__1__Impl33253 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__UnsignedNumber__Group__0__Impl_in_rule__UnsignedNumber__Group__033286 = new BitSet(new long[]{0x0000100000000000L});
+        public static final BitSet FOLLOW_rule__UnsignedNumber__Group__1_in_rule__UnsignedNumber__Group__033289 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_INT_in_rule__UnsignedNumber__Group__0__Impl33316 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__UnsignedNumber__Group__1__Impl_in_rule__UnsignedNumber__Group__133345 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__UnsignedNumber__Group_1__0_in_rule__UnsignedNumber__Group__1__Impl33372 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__UnsignedNumber__Group_1__0__Impl_in_rule__UnsignedNumber__Group_1__033407 = new BitSet(new long[]{0x0000000000000040L});
+        public static final BitSet FOLLOW_rule__UnsignedNumber__Group_1__1_in_rule__UnsignedNumber__Group_1__033410 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_44_in_rule__UnsignedNumber__Group_1__0__Impl33438 = new BitSet(new long[]{0x0000000000000002L});
+    }
+
+    protected static class FollowSets015 {
+        public static final BitSet FOLLOW_rule__UnsignedNumber__Group_1__1__Impl_in_rule__UnsignedNumber__Group_1__133469 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_INT_in_rule__UnsignedNumber__Group_1__1__Impl33496 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SINT__Group__0__Impl_in_rule__SINT__Group__033529 = new BitSet(new long[]{0x0000001000000040L});
+        public static final BitSet FOLLOW_rule__SINT__Group__1_in_rule__SINT__Group__033532 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_36_in_rule__SINT__Group__0__Impl33561 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SINT__Group__1__Impl_in_rule__SINT__Group__133594 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_INT_in_rule__SINT__Group__1__Impl33621 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__QualifiedName__Group__0__Impl_in_rule__QualifiedName__Group__033654 = new BitSet(new long[]{0x0000100000000000L});
+        public static final BitSet FOLLOW_rule__QualifiedName__Group__1_in_rule__QualifiedName__Group__033657 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleValidID_in_rule__QualifiedName__Group__0__Impl33684 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__QualifiedName__Group__1__Impl_in_rule__QualifiedName__Group__133713 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__QualifiedName__Group_1__0_in_rule__QualifiedName__Group__1__Impl33740 = new BitSet(new long[]{0x0000100000000002L});
+        public static final BitSet FOLLOW_rule__QualifiedName__Group_1__0__Impl_in_rule__QualifiedName__Group_1__033775 = new BitSet(new long[]{0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__QualifiedName__Group_1__1_in_rule__QualifiedName__Group_1__033778 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_44_in_rule__QualifiedName__Group_1__0__Impl33807 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__QualifiedName__Group_1__1__Impl_in_rule__QualifiedName__Group_1__133839 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleValidID_in_rule__QualifiedName__Group_1__1__Impl33866 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotation__Group__0__Impl_in_rule__XAnnotation__Group__033899 = new BitSet(new long[]{0x0000000000000000L,0x0800000000000000L});
+        public static final BitSet FOLLOW_rule__XAnnotation__Group__1_in_rule__XAnnotation__Group__033902 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotation__Group__1__Impl_in_rule__XAnnotation__Group__133960 = new BitSet(new long[]{0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__XAnnotation__Group__2_in_rule__XAnnotation__Group__133963 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_123_in_rule__XAnnotation__Group__1__Impl33991 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotation__Group__2__Impl_in_rule__XAnnotation__Group__234022 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L});
+        public static final BitSet FOLLOW_rule__XAnnotation__Group__3_in_rule__XAnnotation__Group__234025 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotation__AnnotationTypeAssignment_2_in_rule__XAnnotation__Group__2__Impl34052 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotation__Group__3__Impl_in_rule__XAnnotation__Group__334082 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotation__Group_3__0_in_rule__XAnnotation__Group__3__Impl34109 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotation__Group_3__0__Impl_in_rule__XAnnotation__Group_3__034148 = new BitSet(new long[]{0x020FC218100001F0L,0x6800000000000018L,0x000000001002FF8AL});
+        public static final BitSet FOLLOW_rule__XAnnotation__Group_3__1_in_rule__XAnnotation__Group_3__034151 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_67_in_rule__XAnnotation__Group_3__0__Impl34180 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotation__Group_3__1__Impl_in_rule__XAnnotation__Group_3__134212 = new BitSet(new long[]{0x020FC218100001F0L,0x6800000000000018L,0x000000001002FF8AL});
+        public static final BitSet FOLLOW_rule__XAnnotation__Group_3__2_in_rule__XAnnotation__Group_3__134215 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotation__Alternatives_3_1_in_rule__XAnnotation__Group_3__1__Impl34242 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotation__Group_3__2__Impl_in_rule__XAnnotation__Group_3__234273 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_68_in_rule__XAnnotation__Group_3__2__Impl34301 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotation__Group_3_1_0__0__Impl_in_rule__XAnnotation__Group_3_1_0__034338 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L});
+        public static final BitSet FOLLOW_rule__XAnnotation__Group_3_1_0__1_in_rule__XAnnotation__Group_3_1_0__034341 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotation__ElementValuePairsAssignment_3_1_0_0_in_rule__XAnnotation__Group_3_1_0__0__Impl34368 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotation__Group_3_1_0__1__Impl_in_rule__XAnnotation__Group_3_1_0__134398 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotation__Group_3_1_0_1__0_in_rule__XAnnotation__Group_3_1_0__1__Impl34425 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000020L});
+        public static final BitSet FOLLOW_rule__XAnnotation__Group_3_1_0_1__0__Impl_in_rule__XAnnotation__Group_3_1_0_1__034460 = new BitSet(new long[]{0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__XAnnotation__Group_3_1_0_1__1_in_rule__XAnnotation__Group_3_1_0_1__034463 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_69_in_rule__XAnnotation__Group_3_1_0_1__0__Impl34491 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotation__Group_3_1_0_1__1__Impl_in_rule__XAnnotation__Group_3_1_0_1__134522 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotation__ElementValuePairsAssignment_3_1_0_1_1_in_rule__XAnnotation__Group_3_1_0_1__1__Impl34549 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValuePair__Group__0__Impl_in_rule__XAnnotationElementValuePair__Group__034583 = new BitSet(new long[]{0x020FC218100001F0L,0x6800000000000008L,0x000000001002FF8AL});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValuePair__Group__1_in_rule__XAnnotationElementValuePair__Group__034586 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValuePair__Group_0__0_in_rule__XAnnotationElementValuePair__Group__0__Impl34613 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValuePair__Group__1__Impl_in_rule__XAnnotationElementValuePair__Group__134643 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValuePair__ValueAssignment_1_in_rule__XAnnotationElementValuePair__Group__1__Impl34670 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValuePair__Group_0__0__Impl_in_rule__XAnnotationElementValuePair__Group_0__034704 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValuePair__Group_0_0__0_in_rule__XAnnotationElementValuePair__Group_0__0__Impl34731 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValuePair__Group_0_0__0__Impl_in_rule__XAnnotationElementValuePair__Group_0_0__034763 = new BitSet(new long[]{0x0000000000002000L});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValuePair__Group_0_0__1_in_rule__XAnnotationElementValuePair__Group_0_0__034766 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValuePair__ElementAssignment_0_0_0_in_rule__XAnnotationElementValuePair__Group_0_0__0__Impl34793 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValuePair__Group_0_0__1__Impl_in_rule__XAnnotationElementValuePair__Group_0_0__134823 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_13_in_rule__XAnnotationElementValuePair__Group_0_0__1__Impl34851 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValueOrCommaList__Group_0__0__Impl_in_rule__XAnnotationElementValueOrCommaList__Group_0__034886 = new BitSet(new long[]{0x020FC218100001F0L,0x7800000000000008L,0x000000001002FF8AL});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValueOrCommaList__Group_0__1_in_rule__XAnnotationElementValueOrCommaList__Group_0__034889 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValueOrCommaList__Group_0_0__0_in_rule__XAnnotationElementValueOrCommaList__Group_0__0__Impl34916 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValueOrCommaList__Group_0__1__Impl_in_rule__XAnnotationElementValueOrCommaList__Group_0__134946 = new BitSet(new long[]{0x020FC218100001F0L,0x7800000000000008L,0x000000001002FF8AL});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValueOrCommaList__Group_0__2_in_rule__XAnnotationElementValueOrCommaList__Group_0__134949 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValueOrCommaList__Group_0_1__0_in_rule__XAnnotationElementValueOrCommaList__Group_0__1__Impl34976 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValueOrCommaList__Group_0__2__Impl_in_rule__XAnnotationElementValueOrCommaList__Group_0__235007 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_124_in_rule__XAnnotationElementValueOrCommaList__Group_0__2__Impl35035 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValueOrCommaList__Group_0_0__0__Impl_in_rule__XAnnotationElementValueOrCommaList__Group_0_0__035072 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0_in_rule__XAnnotationElementValueOrCommaList__Group_0_0__0__Impl35099 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0__Impl_in_rule__XAnnotationElementValueOrCommaList__Group_0_0_0__035131 = new BitSet(new long[]{0x0000000000000000L,0x2000000000000000L});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1_in_rule__XAnnotationElementValueOrCommaList__Group_0_0_0__035134 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1__Impl_in_rule__XAnnotationElementValueOrCommaList__Group_0_0_0__135192 = new BitSet(new long[]{0x0000000000000000L,0x4000000000000000L});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2_in_rule__XAnnotationElementValueOrCommaList__Group_0_0_0__135195 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_125_in_rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1__Impl35223 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2__Impl_in_rule__XAnnotationElementValueOrCommaList__Group_0_0_0__235254 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_126_in_rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2__Impl35282 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValueOrCommaList__Group_0_1__0__Impl_in_rule__XAnnotationElementValueOrCommaList__Group_0_1__035319 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValueOrCommaList__Group_0_1__1_in_rule__XAnnotationElementValueOrCommaList__Group_0_1__035322 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_0_in_rule__XAnnotationElementValueOrCommaList__Group_0_1__0__Impl35349 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValueOrCommaList__Group_0_1__1__Impl_in_rule__XAnnotationElementValueOrCommaList__Group_0_1__135379 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0_in_rule__XAnnotationElementValueOrCommaList__Group_0_1__1__Impl35406 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000020L});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0__Impl_in_rule__XAnnotationElementValueOrCommaList__Group_0_1_1__035441 = new BitSet(new long[]{0x020FC218100001F0L,0x6800000000000008L,0x000000001002FF8AL});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1_in_rule__XAnnotationElementValueOrCommaList__Group_0_1_1__035444 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_69_in_rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0__Impl35472 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1__Impl_in_rule__XAnnotationElementValueOrCommaList__Group_0_1_1__135503 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_1_1_in_rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1__Impl35530 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValueOrCommaList__Group_1__0__Impl_in_rule__XAnnotationElementValueOrCommaList__Group_1__035564 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValueOrCommaList__Group_1__1_in_rule__XAnnotationElementValueOrCommaList__Group_1__035567 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXAnnotationOrExpression_in_rule__XAnnotationElementValueOrCommaList__Group_1__0__Impl35594 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValueOrCommaList__Group_1__1__Impl_in_rule__XAnnotationElementValueOrCommaList__Group_1__135623 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValueOrCommaList__Group_1_1__0_in_rule__XAnnotationElementValueOrCommaList__Group_1__1__Impl35650 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValueOrCommaList__Group_1_1__0__Impl_in_rule__XAnnotationElementValueOrCommaList__Group_1_1__035685 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValueOrCommaList__Group_1_1__1_in_rule__XAnnotationElementValueOrCommaList__Group_1_1__035688 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValueOrCommaList__Group_1_1__1__Impl_in_rule__XAnnotationElementValueOrCommaList__Group_1_1__135746 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0_in_rule__XAnnotationElementValueOrCommaList__Group_1_1__1__Impl35775 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000020L});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0_in_rule__XAnnotationElementValueOrCommaList__Group_1_1__1__Impl35787 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000020L});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0__Impl_in_rule__XAnnotationElementValueOrCommaList__Group_1_1_1__035824 = new BitSet(new long[]{0x020FC218100001F0L,0x6800000000000008L,0x000000001002FF8AL});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1_in_rule__XAnnotationElementValueOrCommaList__Group_1_1_1__035827 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_69_in_rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0__Impl35855 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1__Impl_in_rule__XAnnotationElementValueOrCommaList__Group_1_1_1__135886 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValueOrCommaList__ElementsAssignment_1_1_1_1_in_rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1__Impl35913 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValue__Group_0__0__Impl_in_rule__XAnnotationElementValue__Group_0__035947 = new BitSet(new long[]{0x020FC218100001F0L,0x7800000000000008L,0x000000001002FF8AL});
+    }
+
+    protected static class FollowSets016 {
+        public static final BitSet FOLLOW_rule__XAnnotationElementValue__Group_0__1_in_rule__XAnnotationElementValue__Group_0__035950 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValue__Group_0_0__0_in_rule__XAnnotationElementValue__Group_0__0__Impl35977 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValue__Group_0__1__Impl_in_rule__XAnnotationElementValue__Group_0__136007 = new BitSet(new long[]{0x020FC218100001F0L,0x7800000000000008L,0x000000001002FF8AL});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValue__Group_0__2_in_rule__XAnnotationElementValue__Group_0__136010 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValue__Group_0_1__0_in_rule__XAnnotationElementValue__Group_0__1__Impl36037 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValue__Group_0__2__Impl_in_rule__XAnnotationElementValue__Group_0__236068 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_124_in_rule__XAnnotationElementValue__Group_0__2__Impl36096 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValue__Group_0_0__0__Impl_in_rule__XAnnotationElementValue__Group_0_0__036133 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValue__Group_0_0_0__0_in_rule__XAnnotationElementValue__Group_0_0__0__Impl36160 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValue__Group_0_0_0__0__Impl_in_rule__XAnnotationElementValue__Group_0_0_0__036192 = new BitSet(new long[]{0x0000000000000000L,0x2000000000000000L});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValue__Group_0_0_0__1_in_rule__XAnnotationElementValue__Group_0_0_0__036195 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValue__Group_0_0_0__1__Impl_in_rule__XAnnotationElementValue__Group_0_0_0__136253 = new BitSet(new long[]{0x0000000000000000L,0x4000000000000000L});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValue__Group_0_0_0__2_in_rule__XAnnotationElementValue__Group_0_0_0__136256 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_125_in_rule__XAnnotationElementValue__Group_0_0_0__1__Impl36284 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValue__Group_0_0_0__2__Impl_in_rule__XAnnotationElementValue__Group_0_0_0__236315 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_126_in_rule__XAnnotationElementValue__Group_0_0_0__2__Impl36343 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValue__Group_0_1__0__Impl_in_rule__XAnnotationElementValue__Group_0_1__036380 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValue__Group_0_1__1_in_rule__XAnnotationElementValue__Group_0_1__036383 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValue__ElementsAssignment_0_1_0_in_rule__XAnnotationElementValue__Group_0_1__0__Impl36410 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValue__Group_0_1__1__Impl_in_rule__XAnnotationElementValue__Group_0_1__136440 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValue__Group_0_1_1__0_in_rule__XAnnotationElementValue__Group_0_1__1__Impl36467 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000020L});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValue__Group_0_1_1__0__Impl_in_rule__XAnnotationElementValue__Group_0_1_1__036502 = new BitSet(new long[]{0x020FC218100001F0L,0x6800000000000008L,0x000000001002FF8AL});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValue__Group_0_1_1__1_in_rule__XAnnotationElementValue__Group_0_1_1__036505 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_69_in_rule__XAnnotationElementValue__Group_0_1_1__0__Impl36533 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValue__Group_0_1_1__1__Impl_in_rule__XAnnotationElementValue__Group_0_1_1__136564 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAnnotationElementValue__ElementsAssignment_0_1_1_1_in_rule__XAnnotationElementValue__Group_0_1_1__1__Impl36591 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAssignment__Group_0__0__Impl_in_rule__XAssignment__Group_0__036625 = new BitSet(new long[]{0x0003C00000000010L});
+        public static final BitSet FOLLOW_rule__XAssignment__Group_0__1_in_rule__XAssignment__Group_0__036628 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAssignment__Group_0__1__Impl_in_rule__XAssignment__Group_0__136686 = new BitSet(new long[]{0x0000000000002000L});
+        public static final BitSet FOLLOW_rule__XAssignment__Group_0__2_in_rule__XAssignment__Group_0__136689 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAssignment__FeatureAssignment_0_1_in_rule__XAssignment__Group_0__1__Impl36716 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAssignment__Group_0__2__Impl_in_rule__XAssignment__Group_0__236746 = new BitSet(new long[]{0x020FC218100001F0L,0x6800000000000008L,0x000000001002FF8AL});
+        public static final BitSet FOLLOW_rule__XAssignment__Group_0__3_in_rule__XAssignment__Group_0__236749 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleOpSingleAssign_in_rule__XAssignment__Group_0__2__Impl36776 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAssignment__Group_0__3__Impl_in_rule__XAssignment__Group_0__336805 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAssignment__ValueAssignment_0_3_in_rule__XAssignment__Group_0__3__Impl36832 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAssignment__Group_1__0__Impl_in_rule__XAssignment__Group_1__036870 = new BitSet(new long[]{0x00000000183E0000L});
+        public static final BitSet FOLLOW_rule__XAssignment__Group_1__1_in_rule__XAssignment__Group_1__036873 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXOrExpression_in_rule__XAssignment__Group_1__0__Impl36900 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAssignment__Group_1__1__Impl_in_rule__XAssignment__Group_1__136929 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAssignment__Group_1_1__0_in_rule__XAssignment__Group_1__1__Impl36956 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAssignment__Group_1_1__0__Impl_in_rule__XAssignment__Group_1_1__036991 = new BitSet(new long[]{0x020FC218100001F0L,0x6800000000000008L,0x000000001002FF8AL});
+        public static final BitSet FOLLOW_rule__XAssignment__Group_1_1__1_in_rule__XAssignment__Group_1_1__036994 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAssignment__Group_1_1_0__0_in_rule__XAssignment__Group_1_1__0__Impl37021 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAssignment__Group_1_1__1__Impl_in_rule__XAssignment__Group_1_1__137051 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAssignment__RightOperandAssignment_1_1_1_in_rule__XAssignment__Group_1_1__1__Impl37078 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAssignment__Group_1_1_0__0__Impl_in_rule__XAssignment__Group_1_1_0__037112 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAssignment__Group_1_1_0_0__0_in_rule__XAssignment__Group_1_1_0__0__Impl37139 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAssignment__Group_1_1_0_0__0__Impl_in_rule__XAssignment__Group_1_1_0_0__037171 = new BitSet(new long[]{0x00000000183E0000L});
+        public static final BitSet FOLLOW_rule__XAssignment__Group_1_1_0_0__1_in_rule__XAssignment__Group_1_1_0_0__037174 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAssignment__Group_1_1_0_0__1__Impl_in_rule__XAssignment__Group_1_1_0_0__137232 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAssignment__FeatureAssignment_1_1_0_0_1_in_rule__XAssignment__Group_1_1_0_0__1__Impl37259 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OpMultiAssign__Group_5__0__Impl_in_rule__OpMultiAssign__Group_5__037293 = new BitSet(new long[]{0x0000000010000000L});
+        public static final BitSet FOLLOW_rule__OpMultiAssign__Group_5__1_in_rule__OpMultiAssign__Group_5__037296 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_28_in_rule__OpMultiAssign__Group_5__0__Impl37324 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OpMultiAssign__Group_5__1__Impl_in_rule__OpMultiAssign__Group_5__137355 = new BitSet(new long[]{0x0000000000002000L});
+        public static final BitSet FOLLOW_rule__OpMultiAssign__Group_5__2_in_rule__OpMultiAssign__Group_5__137358 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_28_in_rule__OpMultiAssign__Group_5__1__Impl37386 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OpMultiAssign__Group_5__2__Impl_in_rule__OpMultiAssign__Group_5__237417 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_13_in_rule__OpMultiAssign__Group_5__2__Impl37445 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OpMultiAssign__Group_6__0__Impl_in_rule__OpMultiAssign__Group_6__037482 = new BitSet(new long[]{0x000000000C000000L});
+        public static final BitSet FOLLOW_rule__OpMultiAssign__Group_6__1_in_rule__OpMultiAssign__Group_6__037485 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_27_in_rule__OpMultiAssign__Group_6__0__Impl37513 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OpMultiAssign__Group_6__1__Impl_in_rule__OpMultiAssign__Group_6__137544 = new BitSet(new long[]{0x000000000C000000L});
+        public static final BitSet FOLLOW_rule__OpMultiAssign__Group_6__2_in_rule__OpMultiAssign__Group_6__137547 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_27_in_rule__OpMultiAssign__Group_6__1__Impl37576 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OpMultiAssign__Group_6__2__Impl_in_rule__OpMultiAssign__Group_6__237609 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_26_in_rule__OpMultiAssign__Group_6__2__Impl37637 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XOrExpression__Group__0__Impl_in_rule__XOrExpression__Group__037674 = new BitSet(new long[]{0x0000000000004000L});
+        public static final BitSet FOLLOW_rule__XOrExpression__Group__1_in_rule__XOrExpression__Group__037677 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXAndExpression_in_rule__XOrExpression__Group__0__Impl37704 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XOrExpression__Group__1__Impl_in_rule__XOrExpression__Group__137733 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XOrExpression__Group_1__0_in_rule__XOrExpression__Group__1__Impl37760 = new BitSet(new long[]{0x0000000000004002L});
+        public static final BitSet FOLLOW_rule__XOrExpression__Group_1__0__Impl_in_rule__XOrExpression__Group_1__037795 = new BitSet(new long[]{0x020FC218100001F0L,0x6800000000000008L,0x000000001002FF8AL});
+        public static final BitSet FOLLOW_rule__XOrExpression__Group_1__1_in_rule__XOrExpression__Group_1__037798 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XOrExpression__Group_1_0__0_in_rule__XOrExpression__Group_1__0__Impl37825 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XOrExpression__Group_1__1__Impl_in_rule__XOrExpression__Group_1__137855 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XOrExpression__RightOperandAssignment_1_1_in_rule__XOrExpression__Group_1__1__Impl37882 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XOrExpression__Group_1_0__0__Impl_in_rule__XOrExpression__Group_1_0__037916 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XOrExpression__Group_1_0_0__0_in_rule__XOrExpression__Group_1_0__0__Impl37943 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XOrExpression__Group_1_0_0__0__Impl_in_rule__XOrExpression__Group_1_0_0__037975 = new BitSet(new long[]{0x0000000000004000L});
+        public static final BitSet FOLLOW_rule__XOrExpression__Group_1_0_0__1_in_rule__XOrExpression__Group_1_0_0__037978 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XOrExpression__Group_1_0_0__1__Impl_in_rule__XOrExpression__Group_1_0_0__138036 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XOrExpression__FeatureAssignment_1_0_0_1_in_rule__XOrExpression__Group_1_0_0__1__Impl38063 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAndExpression__Group__0__Impl_in_rule__XAndExpression__Group__038097 = new BitSet(new long[]{0x0000000000008000L});
+        public static final BitSet FOLLOW_rule__XAndExpression__Group__1_in_rule__XAndExpression__Group__038100 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXEqualityExpression_in_rule__XAndExpression__Group__0__Impl38127 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAndExpression__Group__1__Impl_in_rule__XAndExpression__Group__138156 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAndExpression__Group_1__0_in_rule__XAndExpression__Group__1__Impl38183 = new BitSet(new long[]{0x0000000000008002L});
+        public static final BitSet FOLLOW_rule__XAndExpression__Group_1__0__Impl_in_rule__XAndExpression__Group_1__038218 = new BitSet(new long[]{0x020FC218100001F0L,0x6800000000000008L,0x000000001002FF8AL});
+        public static final BitSet FOLLOW_rule__XAndExpression__Group_1__1_in_rule__XAndExpression__Group_1__038221 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAndExpression__Group_1_0__0_in_rule__XAndExpression__Group_1__0__Impl38248 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAndExpression__Group_1__1__Impl_in_rule__XAndExpression__Group_1__138278 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAndExpression__RightOperandAssignment_1_1_in_rule__XAndExpression__Group_1__1__Impl38305 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAndExpression__Group_1_0__0__Impl_in_rule__XAndExpression__Group_1_0__038339 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAndExpression__Group_1_0_0__0_in_rule__XAndExpression__Group_1_0__0__Impl38366 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAndExpression__Group_1_0_0__0__Impl_in_rule__XAndExpression__Group_1_0_0__038398 = new BitSet(new long[]{0x0000000000008000L});
+        public static final BitSet FOLLOW_rule__XAndExpression__Group_1_0_0__1_in_rule__XAndExpression__Group_1_0_0__038401 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAndExpression__Group_1_0_0__1__Impl_in_rule__XAndExpression__Group_1_0_0__138459 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAndExpression__FeatureAssignment_1_0_0_1_in_rule__XAndExpression__Group_1_0_0__1__Impl38486 = new BitSet(new long[]{0x0000000000000002L});
+    }
+
+    protected static class FollowSets017 {
+        public static final BitSet FOLLOW_rule__XEqualityExpression__Group__0__Impl_in_rule__XEqualityExpression__Group__038520 = new BitSet(new long[]{0x0000000003C00000L});
+        public static final BitSet FOLLOW_rule__XEqualityExpression__Group__1_in_rule__XEqualityExpression__Group__038523 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXRelationalExpression_in_rule__XEqualityExpression__Group__0__Impl38550 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XEqualityExpression__Group__1__Impl_in_rule__XEqualityExpression__Group__138579 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XEqualityExpression__Group_1__0_in_rule__XEqualityExpression__Group__1__Impl38606 = new BitSet(new long[]{0x0000000003C00002L});
+        public static final BitSet FOLLOW_rule__XEqualityExpression__Group_1__0__Impl_in_rule__XEqualityExpression__Group_1__038641 = new BitSet(new long[]{0x020FC218100001F0L,0x6800000000000008L,0x000000001002FF8AL});
+        public static final BitSet FOLLOW_rule__XEqualityExpression__Group_1__1_in_rule__XEqualityExpression__Group_1__038644 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XEqualityExpression__Group_1_0__0_in_rule__XEqualityExpression__Group_1__0__Impl38671 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XEqualityExpression__Group_1__1__Impl_in_rule__XEqualityExpression__Group_1__138701 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XEqualityExpression__RightOperandAssignment_1_1_in_rule__XEqualityExpression__Group_1__1__Impl38728 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XEqualityExpression__Group_1_0__0__Impl_in_rule__XEqualityExpression__Group_1_0__038762 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XEqualityExpression__Group_1_0_0__0_in_rule__XEqualityExpression__Group_1_0__0__Impl38789 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XEqualityExpression__Group_1_0_0__0__Impl_in_rule__XEqualityExpression__Group_1_0_0__038821 = new BitSet(new long[]{0x0000000003C00000L});
+        public static final BitSet FOLLOW_rule__XEqualityExpression__Group_1_0_0__1_in_rule__XEqualityExpression__Group_1_0_0__038824 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XEqualityExpression__Group_1_0_0__1__Impl_in_rule__XEqualityExpression__Group_1_0_0__138882 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XEqualityExpression__FeatureAssignment_1_0_0_1_in_rule__XEqualityExpression__Group_1_0_0__1__Impl38909 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XRelationalExpression__Group__0__Impl_in_rule__XRelationalExpression__Group__038943 = new BitSet(new long[]{0x000000001C000000L,0x8000000000000000L});
+        public static final BitSet FOLLOW_rule__XRelationalExpression__Group__1_in_rule__XRelationalExpression__Group__038946 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXOtherOperatorExpression_in_rule__XRelationalExpression__Group__0__Impl38973 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XRelationalExpression__Group__1__Impl_in_rule__XRelationalExpression__Group__139002 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XRelationalExpression__Alternatives_1_in_rule__XRelationalExpression__Group__1__Impl39029 = new BitSet(new long[]{0x000000001C000002L,0x8000000000000000L});
+        public static final BitSet FOLLOW_rule__XRelationalExpression__Group_1_0__0__Impl_in_rule__XRelationalExpression__Group_1_0__039064 = new BitSet(new long[]{0x0000000100000010L,0x0000000000000008L});
+        public static final BitSet FOLLOW_rule__XRelationalExpression__Group_1_0__1_in_rule__XRelationalExpression__Group_1_0__039067 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XRelationalExpression__Group_1_0_0__0_in_rule__XRelationalExpression__Group_1_0__0__Impl39094 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XRelationalExpression__Group_1_0__1__Impl_in_rule__XRelationalExpression__Group_1_0__139124 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XRelationalExpression__TypeAssignment_1_0_1_in_rule__XRelationalExpression__Group_1_0__1__Impl39151 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XRelationalExpression__Group_1_0_0__0__Impl_in_rule__XRelationalExpression__Group_1_0_0__039185 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XRelationalExpression__Group_1_0_0_0__0_in_rule__XRelationalExpression__Group_1_0_0__0__Impl39212 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XRelationalExpression__Group_1_0_0_0__0__Impl_in_rule__XRelationalExpression__Group_1_0_0_0__039244 = new BitSet(new long[]{0x0000000000000000L,0x8000000000000000L});
+        public static final BitSet FOLLOW_rule__XRelationalExpression__Group_1_0_0_0__1_in_rule__XRelationalExpression__Group_1_0_0_0__039247 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XRelationalExpression__Group_1_0_0_0__1__Impl_in_rule__XRelationalExpression__Group_1_0_0_0__139305 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_127_in_rule__XRelationalExpression__Group_1_0_0_0__1__Impl39333 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XRelationalExpression__Group_1_1__0__Impl_in_rule__XRelationalExpression__Group_1_1__039368 = new BitSet(new long[]{0x020FC218100001F0L,0x6800000000000008L,0x000000001002FF8AL});
+        public static final BitSet FOLLOW_rule__XRelationalExpression__Group_1_1__1_in_rule__XRelationalExpression__Group_1_1__039371 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XRelationalExpression__Group_1_1_0__0_in_rule__XRelationalExpression__Group_1_1__0__Impl39398 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XRelationalExpression__Group_1_1__1__Impl_in_rule__XRelationalExpression__Group_1_1__139428 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XRelationalExpression__RightOperandAssignment_1_1_1_in_rule__XRelationalExpression__Group_1_1__1__Impl39455 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XRelationalExpression__Group_1_1_0__0__Impl_in_rule__XRelationalExpression__Group_1_1_0__039489 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XRelationalExpression__Group_1_1_0_0__0_in_rule__XRelationalExpression__Group_1_1_0__0__Impl39516 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XRelationalExpression__Group_1_1_0_0__0__Impl_in_rule__XRelationalExpression__Group_1_1_0_0__039548 = new BitSet(new long[]{0x000000001C000000L,0x8000000000000000L});
+        public static final BitSet FOLLOW_rule__XRelationalExpression__Group_1_1_0_0__1_in_rule__XRelationalExpression__Group_1_1_0_0__039551 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XRelationalExpression__Group_1_1_0_0__1__Impl_in_rule__XRelationalExpression__Group_1_1_0_0__139609 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1_in_rule__XRelationalExpression__Group_1_1_0_0__1__Impl39636 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OpCompare__Group_1__0__Impl_in_rule__OpCompare__Group_1__039670 = new BitSet(new long[]{0x0000000000002000L});
+        public static final BitSet FOLLOW_rule__OpCompare__Group_1__1_in_rule__OpCompare__Group_1__039673 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_28_in_rule__OpCompare__Group_1__0__Impl39701 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OpCompare__Group_1__1__Impl_in_rule__OpCompare__Group_1__139732 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_13_in_rule__OpCompare__Group_1__1__Impl39760 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XOtherOperatorExpression__Group__0__Impl_in_rule__XOtherOperatorExpression__Group__039795 = new BitSet(new long[]{0x00000007F8000000L});
+        public static final BitSet FOLLOW_rule__XOtherOperatorExpression__Group__1_in_rule__XOtherOperatorExpression__Group__039798 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXAdditiveExpression_in_rule__XOtherOperatorExpression__Group__0__Impl39825 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XOtherOperatorExpression__Group__1__Impl_in_rule__XOtherOperatorExpression__Group__139854 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XOtherOperatorExpression__Group_1__0_in_rule__XOtherOperatorExpression__Group__1__Impl39881 = new BitSet(new long[]{0x00000007F8000002L});
+        public static final BitSet FOLLOW_rule__XOtherOperatorExpression__Group_1__0__Impl_in_rule__XOtherOperatorExpression__Group_1__039916 = new BitSet(new long[]{0x020FC218100001F0L,0x6800000000000008L,0x000000001002FF8AL});
+        public static final BitSet FOLLOW_rule__XOtherOperatorExpression__Group_1__1_in_rule__XOtherOperatorExpression__Group_1__039919 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XOtherOperatorExpression__Group_1_0__0_in_rule__XOtherOperatorExpression__Group_1__0__Impl39946 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XOtherOperatorExpression__Group_1__1__Impl_in_rule__XOtherOperatorExpression__Group_1__139976 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XOtherOperatorExpression__RightOperandAssignment_1_1_in_rule__XOtherOperatorExpression__Group_1__1__Impl40003 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XOtherOperatorExpression__Group_1_0__0__Impl_in_rule__XOtherOperatorExpression__Group_1_0__040037 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XOtherOperatorExpression__Group_1_0_0__0_in_rule__XOtherOperatorExpression__Group_1_0__0__Impl40064 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XOtherOperatorExpression__Group_1_0_0__0__Impl_in_rule__XOtherOperatorExpression__Group_1_0_0__040096 = new BitSet(new long[]{0x00000007F8000000L});
+        public static final BitSet FOLLOW_rule__XOtherOperatorExpression__Group_1_0_0__1_in_rule__XOtherOperatorExpression__Group_1_0_0__040099 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XOtherOperatorExpression__Group_1_0_0__1__Impl_in_rule__XOtherOperatorExpression__Group_1_0_0__140157 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1_in_rule__XOtherOperatorExpression__Group_1_0_0__1__Impl40184 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OpOther__Group_2__0__Impl_in_rule__OpOther__Group_2__040218 = new BitSet(new long[]{0x0000000080000000L});
+        public static final BitSet FOLLOW_rule__OpOther__Group_2__1_in_rule__OpOther__Group_2__040221 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_27_in_rule__OpOther__Group_2__0__Impl40249 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OpOther__Group_2__1__Impl_in_rule__OpOther__Group_2__140280 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_31_in_rule__OpOther__Group_2__1__Impl40308 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OpOther__Group_5__0__Impl_in_rule__OpOther__Group_5__040343 = new BitSet(new long[]{0x0000000008000000L});
+        public static final BitSet FOLLOW_rule__OpOther__Group_5__1_in_rule__OpOther__Group_5__040346 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_27_in_rule__OpOther__Group_5__0__Impl40374 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OpOther__Group_5__1__Impl_in_rule__OpOther__Group_5__140405 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OpOther__Alternatives_5_1_in_rule__OpOther__Group_5__1__Impl40432 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OpOther__Group_5_1_0__0__Impl_in_rule__OpOther__Group_5_1_0__040466 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OpOther__Group_5_1_0_0__0_in_rule__OpOther__Group_5_1_0__0__Impl40493 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OpOther__Group_5_1_0_0__0__Impl_in_rule__OpOther__Group_5_1_0_0__040525 = new BitSet(new long[]{0x0000000008000000L});
+        public static final BitSet FOLLOW_rule__OpOther__Group_5_1_0_0__1_in_rule__OpOther__Group_5_1_0_0__040528 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_27_in_rule__OpOther__Group_5_1_0_0__0__Impl40556 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OpOther__Group_5_1_0_0__1__Impl_in_rule__OpOther__Group_5_1_0_0__140587 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_27_in_rule__OpOther__Group_5_1_0_0__1__Impl40615 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OpOther__Group_6__0__Impl_in_rule__OpOther__Group_6__040650 = new BitSet(new long[]{0x0000000110000000L});
+        public static final BitSet FOLLOW_rule__OpOther__Group_6__1_in_rule__OpOther__Group_6__040653 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_28_in_rule__OpOther__Group_6__0__Impl40681 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OpOther__Group_6__1__Impl_in_rule__OpOther__Group_6__140712 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OpOther__Alternatives_6_1_in_rule__OpOther__Group_6__1__Impl40739 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OpOther__Group_6_1_0__0__Impl_in_rule__OpOther__Group_6_1_0__040773 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OpOther__Group_6_1_0_0__0_in_rule__OpOther__Group_6_1_0__0__Impl40800 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OpOther__Group_6_1_0_0__0__Impl_in_rule__OpOther__Group_6_1_0_0__040832 = new BitSet(new long[]{0x0000000010000000L});
+        public static final BitSet FOLLOW_rule__OpOther__Group_6_1_0_0__1_in_rule__OpOther__Group_6_1_0_0__040835 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_28_in_rule__OpOther__Group_6_1_0_0__0__Impl40863 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OpOther__Group_6_1_0_0__1__Impl_in_rule__OpOther__Group_6_1_0_0__140894 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_28_in_rule__OpOther__Group_6_1_0_0__1__Impl40922 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAdditiveExpression__Group__0__Impl_in_rule__XAdditiveExpression__Group__040957 = new BitSet(new long[]{0x0000001800000000L});
+        public static final BitSet FOLLOW_rule__XAdditiveExpression__Group__1_in_rule__XAdditiveExpression__Group__040960 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXMultiplicativeExpression_in_rule__XAdditiveExpression__Group__0__Impl40987 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAdditiveExpression__Group__1__Impl_in_rule__XAdditiveExpression__Group__141016 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAdditiveExpression__Group_1__0_in_rule__XAdditiveExpression__Group__1__Impl41043 = new BitSet(new long[]{0x0000001800000002L});
+        public static final BitSet FOLLOW_rule__XAdditiveExpression__Group_1__0__Impl_in_rule__XAdditiveExpression__Group_1__041078 = new BitSet(new long[]{0x020FC218100001F0L,0x6800000000000008L,0x000000001002FF8AL});
+        public static final BitSet FOLLOW_rule__XAdditiveExpression__Group_1__1_in_rule__XAdditiveExpression__Group_1__041081 = new BitSet(new long[]{0x0000000000000002L});
+    }
+
+    protected static class FollowSets018 {
+        public static final BitSet FOLLOW_rule__XAdditiveExpression__Group_1_0__0_in_rule__XAdditiveExpression__Group_1__0__Impl41108 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAdditiveExpression__Group_1__1__Impl_in_rule__XAdditiveExpression__Group_1__141138 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAdditiveExpression__RightOperandAssignment_1_1_in_rule__XAdditiveExpression__Group_1__1__Impl41165 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAdditiveExpression__Group_1_0__0__Impl_in_rule__XAdditiveExpression__Group_1_0__041199 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAdditiveExpression__Group_1_0_0__0_in_rule__XAdditiveExpression__Group_1_0__0__Impl41226 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAdditiveExpression__Group_1_0_0__0__Impl_in_rule__XAdditiveExpression__Group_1_0_0__041258 = new BitSet(new long[]{0x0000001800000000L});
+        public static final BitSet FOLLOW_rule__XAdditiveExpression__Group_1_0_0__1_in_rule__XAdditiveExpression__Group_1_0_0__041261 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAdditiveExpression__Group_1_0_0__1__Impl_in_rule__XAdditiveExpression__Group_1_0_0__141319 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XAdditiveExpression__FeatureAssignment_1_0_0_1_in_rule__XAdditiveExpression__Group_1_0_0__1__Impl41346 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XMultiplicativeExpression__Group__0__Impl_in_rule__XMultiplicativeExpression__Group__041380 = new BitSet(new long[]{0x000001E000000000L});
+        public static final BitSet FOLLOW_rule__XMultiplicativeExpression__Group__1_in_rule__XMultiplicativeExpression__Group__041383 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXUnaryOperation_in_rule__XMultiplicativeExpression__Group__0__Impl41410 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XMultiplicativeExpression__Group__1__Impl_in_rule__XMultiplicativeExpression__Group__141439 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XMultiplicativeExpression__Group_1__0_in_rule__XMultiplicativeExpression__Group__1__Impl41466 = new BitSet(new long[]{0x000001E000000002L});
+        public static final BitSet FOLLOW_rule__XMultiplicativeExpression__Group_1__0__Impl_in_rule__XMultiplicativeExpression__Group_1__041501 = new BitSet(new long[]{0x020FC218100001F0L,0x6800000000000008L,0x000000001002FF8AL});
+        public static final BitSet FOLLOW_rule__XMultiplicativeExpression__Group_1__1_in_rule__XMultiplicativeExpression__Group_1__041504 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XMultiplicativeExpression__Group_1_0__0_in_rule__XMultiplicativeExpression__Group_1__0__Impl41531 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XMultiplicativeExpression__Group_1__1__Impl_in_rule__XMultiplicativeExpression__Group_1__141561 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XMultiplicativeExpression__RightOperandAssignment_1_1_in_rule__XMultiplicativeExpression__Group_1__1__Impl41588 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XMultiplicativeExpression__Group_1_0__0__Impl_in_rule__XMultiplicativeExpression__Group_1_0__041622 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XMultiplicativeExpression__Group_1_0_0__0_in_rule__XMultiplicativeExpression__Group_1_0__0__Impl41649 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XMultiplicativeExpression__Group_1_0_0__0__Impl_in_rule__XMultiplicativeExpression__Group_1_0_0__041681 = new BitSet(new long[]{0x000001E000000000L});
+        public static final BitSet FOLLOW_rule__XMultiplicativeExpression__Group_1_0_0__1_in_rule__XMultiplicativeExpression__Group_1_0_0__041684 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XMultiplicativeExpression__Group_1_0_0__1__Impl_in_rule__XMultiplicativeExpression__Group_1_0_0__141742 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1_in_rule__XMultiplicativeExpression__Group_1_0_0__1__Impl41769 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XUnaryOperation__Group_0__0__Impl_in_rule__XUnaryOperation__Group_0__041803 = new BitSet(new long[]{0x0000021800000000L});
+        public static final BitSet FOLLOW_rule__XUnaryOperation__Group_0__1_in_rule__XUnaryOperation__Group_0__041806 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XUnaryOperation__Group_0__1__Impl_in_rule__XUnaryOperation__Group_0__141864 = new BitSet(new long[]{0x020FC218100001F0L,0x6800000000000008L,0x000000001002FF8AL});
+        public static final BitSet FOLLOW_rule__XUnaryOperation__Group_0__2_in_rule__XUnaryOperation__Group_0__141867 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XUnaryOperation__FeatureAssignment_0_1_in_rule__XUnaryOperation__Group_0__1__Impl41894 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XUnaryOperation__Group_0__2__Impl_in_rule__XUnaryOperation__Group_0__241924 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XUnaryOperation__OperandAssignment_0_2_in_rule__XUnaryOperation__Group_0__2__Impl41951 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XCastedExpression__Group__0__Impl_in_rule__XCastedExpression__Group__041987 = new BitSet(new long[]{0x0000000000000000L,0x0008000000000000L});
+        public static final BitSet FOLLOW_rule__XCastedExpression__Group__1_in_rule__XCastedExpression__Group__041990 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXPostfixOperation_in_rule__XCastedExpression__Group__0__Impl42017 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XCastedExpression__Group__1__Impl_in_rule__XCastedExpression__Group__142046 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XCastedExpression__Group_1__0_in_rule__XCastedExpression__Group__1__Impl42073 = new BitSet(new long[]{0x0000000000000002L,0x0008000000000000L});
+        public static final BitSet FOLLOW_rule__XCastedExpression__Group_1__0__Impl_in_rule__XCastedExpression__Group_1__042108 = new BitSet(new long[]{0x0000000100000010L,0x0000000000000008L});
+        public static final BitSet FOLLOW_rule__XCastedExpression__Group_1__1_in_rule__XCastedExpression__Group_1__042111 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XCastedExpression__Group_1_0__0_in_rule__XCastedExpression__Group_1__0__Impl42138 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XCastedExpression__Group_1__1__Impl_in_rule__XCastedExpression__Group_1__142168 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XCastedExpression__TypeAssignment_1_1_in_rule__XCastedExpression__Group_1__1__Impl42195 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XCastedExpression__Group_1_0__0__Impl_in_rule__XCastedExpression__Group_1_0__042229 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XCastedExpression__Group_1_0_0__0_in_rule__XCastedExpression__Group_1_0__0__Impl42256 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XCastedExpression__Group_1_0_0__0__Impl_in_rule__XCastedExpression__Group_1_0_0__042288 = new BitSet(new long[]{0x0000000000000000L,0x0008000000000000L});
+        public static final BitSet FOLLOW_rule__XCastedExpression__Group_1_0_0__1_in_rule__XCastedExpression__Group_1_0_0__042291 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XCastedExpression__Group_1_0_0__1__Impl_in_rule__XCastedExpression__Group_1_0_0__142349 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_115_in_rule__XCastedExpression__Group_1_0_0__1__Impl42377 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XPostfixOperation__Group__0__Impl_in_rule__XPostfixOperation__Group__042412 = new BitSet(new long[]{0x00000C0000000000L});
+        public static final BitSet FOLLOW_rule__XPostfixOperation__Group__1_in_rule__XPostfixOperation__Group__042415 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXMemberFeatureCall_in_rule__XPostfixOperation__Group__0__Impl42442 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XPostfixOperation__Group__1__Impl_in_rule__XPostfixOperation__Group__142471 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XPostfixOperation__Group_1__0_in_rule__XPostfixOperation__Group__1__Impl42498 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XPostfixOperation__Group_1__0__Impl_in_rule__XPostfixOperation__Group_1__042533 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XPostfixOperation__Group_1_0__0_in_rule__XPostfixOperation__Group_1__0__Impl42560 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XPostfixOperation__Group_1_0__0__Impl_in_rule__XPostfixOperation__Group_1_0__042592 = new BitSet(new long[]{0x00000C0000000000L});
+        public static final BitSet FOLLOW_rule__XPostfixOperation__Group_1_0__1_in_rule__XPostfixOperation__Group_1_0__042595 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XPostfixOperation__Group_1_0__1__Impl_in_rule__XPostfixOperation__Group_1_0__142653 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XPostfixOperation__FeatureAssignment_1_0_1_in_rule__XPostfixOperation__Group_1_0__1__Impl42680 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__Group__0__Impl_in_rule__XMemberFeatureCall__Group__042714 = new BitSet(new long[]{0x0000100000000000L,0x0000000000000000L,0x0000000006000000L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__Group__1_in_rule__XMemberFeatureCall__Group__042717 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXPrimaryExpression_in_rule__XMemberFeatureCall__Group__0__Impl42744 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__Group__1__Impl_in_rule__XMemberFeatureCall__Group__142773 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__Alternatives_1_in_rule__XMemberFeatureCall__Group__1__Impl42800 = new BitSet(new long[]{0x0000100000000002L,0x0000000000000000L,0x0000000006000000L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__Group_1_0__0__Impl_in_rule__XMemberFeatureCall__Group_1_0__042835 = new BitSet(new long[]{0x020FC218100001F0L,0x6800000000000008L,0x000000001002FF8AL});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__Group_1_0__1_in_rule__XMemberFeatureCall__Group_1_0__042838 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__Group_1_0_0__0_in_rule__XMemberFeatureCall__Group_1_0__0__Impl42865 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__Group_1_0__1__Impl_in_rule__XMemberFeatureCall__Group_1_0__142895 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__ValueAssignment_1_0_1_in_rule__XMemberFeatureCall__Group_1_0__1__Impl42922 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__Group_1_0_0__0__Impl_in_rule__XMemberFeatureCall__Group_1_0_0__042956 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__Group_1_0_0_0__0_in_rule__XMemberFeatureCall__Group_1_0_0__0__Impl42983 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__Group_1_0_0_0__0__Impl_in_rule__XMemberFeatureCall__Group_1_0_0_0__043015 = new BitSet(new long[]{0x0000100000000000L,0x0000000000000000L,0x0000000002000000L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__Group_1_0_0_0__1_in_rule__XMemberFeatureCall__Group_1_0_0_0__043018 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__Group_1_0_0_0__1__Impl_in_rule__XMemberFeatureCall__Group_1_0_0_0__143076 = new BitSet(new long[]{0x0003C00000000010L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__Group_1_0_0_0__2_in_rule__XMemberFeatureCall__Group_1_0_0_0__143079 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__Alternatives_1_0_0_0_1_in_rule__XMemberFeatureCall__Group_1_0_0_0__1__Impl43106 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__Group_1_0_0_0__2__Impl_in_rule__XMemberFeatureCall__Group_1_0_0_0__243136 = new BitSet(new long[]{0x0000000000002000L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__Group_1_0_0_0__3_in_rule__XMemberFeatureCall__Group_1_0_0_0__243139 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2_in_rule__XMemberFeatureCall__Group_1_0_0_0__2__Impl43166 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__Group_1_0_0_0__3__Impl_in_rule__XMemberFeatureCall__Group_1_0_0_0__343196 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleOpSingleAssign_in_rule__XMemberFeatureCall__Group_1_0_0_0__3__Impl43223 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__Group_1_1__0__Impl_in_rule__XMemberFeatureCall__Group_1_1__043260 = new BitSet(new long[]{0x0007C00010000010L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__Group_1_1__1_in_rule__XMemberFeatureCall__Group_1_1__043263 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__Group_1_1_0__0_in_rule__XMemberFeatureCall__Group_1_1__0__Impl43290 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__Group_1_1__1__Impl_in_rule__XMemberFeatureCall__Group_1_1__143320 = new BitSet(new long[]{0x0007C00010000010L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__Group_1_1__2_in_rule__XMemberFeatureCall__Group_1_1__143323 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__Group_1_1_1__0_in_rule__XMemberFeatureCall__Group_1_1__1__Impl43350 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__Group_1_1__2__Impl_in_rule__XMemberFeatureCall__Group_1_1__243381 = new BitSet(new long[]{0x0000000000000000L,0x4000000000000008L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__Group_1_1__3_in_rule__XMemberFeatureCall__Group_1_1__243384 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__FeatureAssignment_1_1_2_in_rule__XMemberFeatureCall__Group_1_1__2__Impl43411 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__Group_1_1__3__Impl_in_rule__XMemberFeatureCall__Group_1_1__343441 = new BitSet(new long[]{0x0000000000000000L,0x4000000000000008L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__Group_1_1__4_in_rule__XMemberFeatureCall__Group_1_1__343444 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__Group_1_1_3__0_in_rule__XMemberFeatureCall__Group_1_1__3__Impl43471 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__Group_1_1__4__Impl_in_rule__XMemberFeatureCall__Group_1_1__443502 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4_in_rule__XMemberFeatureCall__Group_1_1__4__Impl43529 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__Group_1_1_0__0__Impl_in_rule__XMemberFeatureCall__Group_1_1_0__043570 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__Group_1_1_0_0__0_in_rule__XMemberFeatureCall__Group_1_1_0__0__Impl43597 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__Group_1_1_0_0__0__Impl_in_rule__XMemberFeatureCall__Group_1_1_0_0__043629 = new BitSet(new long[]{0x0000100000000000L,0x0000000000000000L,0x0000000006000000L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__Group_1_1_0_0__1_in_rule__XMemberFeatureCall__Group_1_1_0_0__043632 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__Group_1_1_0_0__1__Impl_in_rule__XMemberFeatureCall__Group_1_1_0_0__143690 = new BitSet(new long[]{0x0000000000000002L});
+    }
+
+    protected static class FollowSets019 {
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__Alternatives_1_1_0_0_1_in_rule__XMemberFeatureCall__Group_1_1_0_0__1__Impl43717 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__Group_1_1_1__0__Impl_in_rule__XMemberFeatureCall__Group_1_1_1__043751 = new BitSet(new long[]{0x0000000100000010L,0x0000000000000008L,0x0000000000080000L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__Group_1_1_1__1_in_rule__XMemberFeatureCall__Group_1_1_1__043754 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_28_in_rule__XMemberFeatureCall__Group_1_1_1__0__Impl43782 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__Group_1_1_1__1__Impl_in_rule__XMemberFeatureCall__Group_1_1_1__143813 = new BitSet(new long[]{0x0000000008000000L,0x0000000000000020L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__Group_1_1_1__2_in_rule__XMemberFeatureCall__Group_1_1_1__143816 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1_in_rule__XMemberFeatureCall__Group_1_1_1__1__Impl43843 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__Group_1_1_1__2__Impl_in_rule__XMemberFeatureCall__Group_1_1_1__243873 = new BitSet(new long[]{0x0000000008000000L,0x0000000000000020L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__Group_1_1_1__3_in_rule__XMemberFeatureCall__Group_1_1_1__243876 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__Group_1_1_1_2__0_in_rule__XMemberFeatureCall__Group_1_1_1__2__Impl43903 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000020L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__Group_1_1_1__3__Impl_in_rule__XMemberFeatureCall__Group_1_1_1__343934 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_27_in_rule__XMemberFeatureCall__Group_1_1_1__3__Impl43962 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__Group_1_1_1_2__0__Impl_in_rule__XMemberFeatureCall__Group_1_1_1_2__044001 = new BitSet(new long[]{0x0000000100000010L,0x0000000000000008L,0x0000000000080000L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__Group_1_1_1_2__1_in_rule__XMemberFeatureCall__Group_1_1_1_2__044004 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_69_in_rule__XMemberFeatureCall__Group_1_1_1_2__0__Impl44032 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__Group_1_1_1_2__1__Impl_in_rule__XMemberFeatureCall__Group_1_1_1_2__144063 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1_in_rule__XMemberFeatureCall__Group_1_1_1_2__1__Impl44090 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__Group_1_1_3__0__Impl_in_rule__XMemberFeatureCall__Group_1_1_3__044124 = new BitSet(new long[]{0x020FC219100001F0L,0x6800000000000018L,0x000000001802FF8AL});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__Group_1_1_3__1_in_rule__XMemberFeatureCall__Group_1_1_3__044127 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0_in_rule__XMemberFeatureCall__Group_1_1_3__0__Impl44154 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__Group_1_1_3__1__Impl_in_rule__XMemberFeatureCall__Group_1_1_3__144184 = new BitSet(new long[]{0x020FC219100001F0L,0x6800000000000018L,0x000000001802FF8AL});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__Group_1_1_3__2_in_rule__XMemberFeatureCall__Group_1_1_3__144187 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__Alternatives_1_1_3_1_in_rule__XMemberFeatureCall__Group_1_1_3__1__Impl44214 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__Group_1_1_3__2__Impl_in_rule__XMemberFeatureCall__Group_1_1_3__244245 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_68_in_rule__XMemberFeatureCall__Group_1_1_3__2__Impl44273 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__Group_1_1_3_1_1__0__Impl_in_rule__XMemberFeatureCall__Group_1_1_3_1_1__044310 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__Group_1_1_3_1_1__1_in_rule__XMemberFeatureCall__Group_1_1_3_1_1__044313 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0_in_rule__XMemberFeatureCall__Group_1_1_3_1_1__0__Impl44340 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__Group_1_1_3_1_1__1__Impl_in_rule__XMemberFeatureCall__Group_1_1_3_1_1__144370 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0_in_rule__XMemberFeatureCall__Group_1_1_3_1_1__1__Impl44397 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000020L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0__Impl_in_rule__XMemberFeatureCall__Group_1_1_3_1_1_1__044432 = new BitSet(new long[]{0x020FC218100001F0L,0x6800000000000008L,0x000000001002FF8AL});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1_in_rule__XMemberFeatureCall__Group_1_1_3_1_1_1__044435 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_69_in_rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0__Impl44463 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1__Impl_in_rule__XMemberFeatureCall__Group_1_1_3_1_1_1__144494 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1_in_rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1__Impl44521 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XSetLiteral__Group__0__Impl_in_rule__XSetLiteral__Group__044555 = new BitSet(new long[]{0x0000000000000000L,0x2000000000000000L});
+        public static final BitSet FOLLOW_rule__XSetLiteral__Group__1_in_rule__XSetLiteral__Group__044558 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XSetLiteral__Group__1__Impl_in_rule__XSetLiteral__Group__144616 = new BitSet(new long[]{0x0200000000000000L});
+        public static final BitSet FOLLOW_rule__XSetLiteral__Group__2_in_rule__XSetLiteral__Group__144619 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_125_in_rule__XSetLiteral__Group__1__Impl44647 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XSetLiteral__Group__2__Impl_in_rule__XSetLiteral__Group__244678 = new BitSet(new long[]{0x060FC218100001F0L,0x6800000000000008L,0x000000001002FF8AL});
+        public static final BitSet FOLLOW_rule__XSetLiteral__Group__3_in_rule__XSetLiteral__Group__244681 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_57_in_rule__XSetLiteral__Group__2__Impl44709 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XSetLiteral__Group__3__Impl_in_rule__XSetLiteral__Group__344740 = new BitSet(new long[]{0x060FC218100001F0L,0x6800000000000008L,0x000000001002FF8AL});
+        public static final BitSet FOLLOW_rule__XSetLiteral__Group__4_in_rule__XSetLiteral__Group__344743 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XSetLiteral__Group_3__0_in_rule__XSetLiteral__Group__3__Impl44770 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XSetLiteral__Group__4__Impl_in_rule__XSetLiteral__Group__444801 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_58_in_rule__XSetLiteral__Group__4__Impl44829 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XSetLiteral__Group_3__0__Impl_in_rule__XSetLiteral__Group_3__044870 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L});
+        public static final BitSet FOLLOW_rule__XSetLiteral__Group_3__1_in_rule__XSetLiteral__Group_3__044873 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XSetLiteral__ElementsAssignment_3_0_in_rule__XSetLiteral__Group_3__0__Impl44900 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XSetLiteral__Group_3__1__Impl_in_rule__XSetLiteral__Group_3__144930 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XSetLiteral__Group_3_1__0_in_rule__XSetLiteral__Group_3__1__Impl44957 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000020L});
+        public static final BitSet FOLLOW_rule__XSetLiteral__Group_3_1__0__Impl_in_rule__XSetLiteral__Group_3_1__044992 = new BitSet(new long[]{0x020FC218100001F0L,0x6800000000000008L,0x000000001002FF8AL});
+        public static final BitSet FOLLOW_rule__XSetLiteral__Group_3_1__1_in_rule__XSetLiteral__Group_3_1__044995 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_69_in_rule__XSetLiteral__Group_3_1__0__Impl45023 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XSetLiteral__Group_3_1__1__Impl_in_rule__XSetLiteral__Group_3_1__145054 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XSetLiteral__ElementsAssignment_3_1_1_in_rule__XSetLiteral__Group_3_1__1__Impl45081 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XListLiteral__Group__0__Impl_in_rule__XListLiteral__Group__045115 = new BitSet(new long[]{0x0000000000000000L,0x2000000000000000L});
+        public static final BitSet FOLLOW_rule__XListLiteral__Group__1_in_rule__XListLiteral__Group__045118 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XListLiteral__Group__1__Impl_in_rule__XListLiteral__Group__145176 = new BitSet(new long[]{0x0000000000000000L,0x4000000000000000L});
+        public static final BitSet FOLLOW_rule__XListLiteral__Group__2_in_rule__XListLiteral__Group__145179 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_125_in_rule__XListLiteral__Group__1__Impl45207 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XListLiteral__Group__2__Impl_in_rule__XListLiteral__Group__245238 = new BitSet(new long[]{0x020FC218100001F0L,0x7800000000000008L,0x000000001002FF8AL});
+        public static final BitSet FOLLOW_rule__XListLiteral__Group__3_in_rule__XListLiteral__Group__245241 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_126_in_rule__XListLiteral__Group__2__Impl45269 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XListLiteral__Group__3__Impl_in_rule__XListLiteral__Group__345300 = new BitSet(new long[]{0x020FC218100001F0L,0x7800000000000008L,0x000000001002FF8AL});
+        public static final BitSet FOLLOW_rule__XListLiteral__Group__4_in_rule__XListLiteral__Group__345303 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XListLiteral__Group_3__0_in_rule__XListLiteral__Group__3__Impl45330 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XListLiteral__Group__4__Impl_in_rule__XListLiteral__Group__445361 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_124_in_rule__XListLiteral__Group__4__Impl45389 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XListLiteral__Group_3__0__Impl_in_rule__XListLiteral__Group_3__045430 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L});
+        public static final BitSet FOLLOW_rule__XListLiteral__Group_3__1_in_rule__XListLiteral__Group_3__045433 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XListLiteral__ElementsAssignment_3_0_in_rule__XListLiteral__Group_3__0__Impl45460 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XListLiteral__Group_3__1__Impl_in_rule__XListLiteral__Group_3__145490 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XListLiteral__Group_3_1__0_in_rule__XListLiteral__Group_3__1__Impl45517 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000020L});
+        public static final BitSet FOLLOW_rule__XListLiteral__Group_3_1__0__Impl_in_rule__XListLiteral__Group_3_1__045552 = new BitSet(new long[]{0x020FC218100001F0L,0x6800000000000008L,0x000000001002FF8AL});
+        public static final BitSet FOLLOW_rule__XListLiteral__Group_3_1__1_in_rule__XListLiteral__Group_3_1__045555 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_69_in_rule__XListLiteral__Group_3_1__0__Impl45583 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XListLiteral__Group_3_1__1__Impl_in_rule__XListLiteral__Group_3_1__145614 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XListLiteral__ElementsAssignment_3_1_1_in_rule__XListLiteral__Group_3_1__1__Impl45641 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XClosure__Group__0__Impl_in_rule__XClosure__Group__045675 = new BitSet(new long[]{0x020FE219100001F0L,0x6800000000000108L,0x000000001802FF8AL});
+        public static final BitSet FOLLOW_rule__XClosure__Group__1_in_rule__XClosure__Group__045678 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XClosure__Group_0__0_in_rule__XClosure__Group__0__Impl45705 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XClosure__Group__1__Impl_in_rule__XClosure__Group__145735 = new BitSet(new long[]{0x020FE219100001F0L,0x6800000000000108L,0x000000001802FF8AL});
+        public static final BitSet FOLLOW_rule__XClosure__Group__2_in_rule__XClosure__Group__145738 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XClosure__Group_1__0_in_rule__XClosure__Group__1__Impl45765 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XClosure__Group__2__Impl_in_rule__XClosure__Group__245796 = new BitSet(new long[]{0x0000000000000000L,0x1000000000000000L});
+        public static final BitSet FOLLOW_rule__XClosure__Group__3_in_rule__XClosure__Group__245799 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XClosure__ExpressionAssignment_2_in_rule__XClosure__Group__2__Impl45826 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XClosure__Group__3__Impl_in_rule__XClosure__Group__345856 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_124_in_rule__XClosure__Group__3__Impl45884 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XClosure__Group_0__0__Impl_in_rule__XClosure__Group_0__045923 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XClosure__Group_0_0__0_in_rule__XClosure__Group_0__0__Impl45950 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XClosure__Group_0_0__0__Impl_in_rule__XClosure__Group_0_0__045982 = new BitSet(new long[]{0x0000000000000000L,0x4000000000000000L});
+        public static final BitSet FOLLOW_rule__XClosure__Group_0_0__1_in_rule__XClosure__Group_0_0__045985 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XClosure__Group_0_0__1__Impl_in_rule__XClosure__Group_0_0__146043 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_126_in_rule__XClosure__Group_0_0__1__Impl46071 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XClosure__Group_1__0__Impl_in_rule__XClosure__Group_1__046106 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XClosure__Group_1_0__0_in_rule__XClosure__Group_1__0__Impl46133 = new BitSet(new long[]{0x0000000000000002L});
+    }
+
+    protected static class FollowSets020 {
+        public static final BitSet FOLLOW_rule__XClosure__Group_1_0__0__Impl_in_rule__XClosure__Group_1_0__046165 = new BitSet(new long[]{0x0000000100000010L,0x0000000000000008L,0x0000000008000000L});
+        public static final BitSet FOLLOW_rule__XClosure__Group_1_0__1_in_rule__XClosure__Group_1_0__046168 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XClosure__Group_1_0_0__0_in_rule__XClosure__Group_1_0__0__Impl46195 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XClosure__Group_1_0__1__Impl_in_rule__XClosure__Group_1_0__146226 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XClosure__ExplicitSyntaxAssignment_1_0_1_in_rule__XClosure__Group_1_0__1__Impl46253 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XClosure__Group_1_0_0__0__Impl_in_rule__XClosure__Group_1_0_0__046287 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L});
+        public static final BitSet FOLLOW_rule__XClosure__Group_1_0_0__1_in_rule__XClosure__Group_1_0_0__046290 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0_in_rule__XClosure__Group_1_0_0__0__Impl46317 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XClosure__Group_1_0_0__1__Impl_in_rule__XClosure__Group_1_0_0__146347 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XClosure__Group_1_0_0_1__0_in_rule__XClosure__Group_1_0_0__1__Impl46374 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000020L});
+        public static final BitSet FOLLOW_rule__XClosure__Group_1_0_0_1__0__Impl_in_rule__XClosure__Group_1_0_0_1__046409 = new BitSet(new long[]{0x0000000100000010L,0x0000000000000008L});
+        public static final BitSet FOLLOW_rule__XClosure__Group_1_0_0_1__1_in_rule__XClosure__Group_1_0_0_1__046412 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_69_in_rule__XClosure__Group_1_0_0_1__0__Impl46440 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XClosure__Group_1_0_0_1__1__Impl_in_rule__XClosure__Group_1_0_0_1__146471 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1_in_rule__XClosure__Group_1_0_0_1__1__Impl46498 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XExpressionInClosure__Group__0__Impl_in_rule__XExpressionInClosure__Group__046532 = new BitSet(new long[]{0x020FE219100001F0L,0x6800000000000108L,0x000000001802FF8AL});
+        public static final BitSet FOLLOW_rule__XExpressionInClosure__Group__1_in_rule__XExpressionInClosure__Group__046535 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XExpressionInClosure__Group__1__Impl_in_rule__XExpressionInClosure__Group__146593 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XExpressionInClosure__Group_1__0_in_rule__XExpressionInClosure__Group__1__Impl46620 = new BitSet(new long[]{0x020FE218100001F2L,0x6800000000000108L,0x000000001002FF8AL});
+        public static final BitSet FOLLOW_rule__XExpressionInClosure__Group_1__0__Impl_in_rule__XExpressionInClosure__Group_1__046655 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000001L});
+        public static final BitSet FOLLOW_rule__XExpressionInClosure__Group_1__1_in_rule__XExpressionInClosure__Group_1__046658 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XExpressionInClosure__ExpressionsAssignment_1_0_in_rule__XExpressionInClosure__Group_1__0__Impl46685 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XExpressionInClosure__Group_1__1__Impl_in_rule__XExpressionInClosure__Group_1__146715 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_128_in_rule__XExpressionInClosure__Group_1__1__Impl46744 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XShortClosure__Group__0__Impl_in_rule__XShortClosure__Group__046781 = new BitSet(new long[]{0x020FC218100001F0L,0x6800000000000008L,0x000000001002FF8AL});
+        public static final BitSet FOLLOW_rule__XShortClosure__Group__1_in_rule__XShortClosure__Group__046784 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XShortClosure__Group_0__0_in_rule__XShortClosure__Group__0__Impl46811 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XShortClosure__Group__1__Impl_in_rule__XShortClosure__Group__146841 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XShortClosure__ExpressionAssignment_1_in_rule__XShortClosure__Group__1__Impl46868 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XShortClosure__Group_0__0__Impl_in_rule__XShortClosure__Group_0__046902 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XShortClosure__Group_0_0__0_in_rule__XShortClosure__Group_0__0__Impl46929 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XShortClosure__Group_0_0__0__Impl_in_rule__XShortClosure__Group_0_0__046961 = new BitSet(new long[]{0x0000000100000010L,0x0000000000000008L,0x0000000008000000L});
+        public static final BitSet FOLLOW_rule__XShortClosure__Group_0_0__1_in_rule__XShortClosure__Group_0_0__046964 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XShortClosure__Group_0_0__1__Impl_in_rule__XShortClosure__Group_0_0__147022 = new BitSet(new long[]{0x0000000100000010L,0x0000000000000008L,0x0000000008000000L});
+        public static final BitSet FOLLOW_rule__XShortClosure__Group_0_0__2_in_rule__XShortClosure__Group_0_0__147025 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XShortClosure__Group_0_0_1__0_in_rule__XShortClosure__Group_0_0__1__Impl47052 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XShortClosure__Group_0_0__2__Impl_in_rule__XShortClosure__Group_0_0__247083 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2_in_rule__XShortClosure__Group_0_0__2__Impl47110 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XShortClosure__Group_0_0_1__0__Impl_in_rule__XShortClosure__Group_0_0_1__047146 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L});
+        public static final BitSet FOLLOW_rule__XShortClosure__Group_0_0_1__1_in_rule__XShortClosure__Group_0_0_1__047149 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0_in_rule__XShortClosure__Group_0_0_1__0__Impl47176 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XShortClosure__Group_0_0_1__1__Impl_in_rule__XShortClosure__Group_0_0_1__147206 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XShortClosure__Group_0_0_1_1__0_in_rule__XShortClosure__Group_0_0_1__1__Impl47233 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000020L});
+        public static final BitSet FOLLOW_rule__XShortClosure__Group_0_0_1_1__0__Impl_in_rule__XShortClosure__Group_0_0_1_1__047268 = new BitSet(new long[]{0x0000000100000010L,0x0000000000000008L});
+        public static final BitSet FOLLOW_rule__XShortClosure__Group_0_0_1_1__1_in_rule__XShortClosure__Group_0_0_1_1__047271 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_69_in_rule__XShortClosure__Group_0_0_1_1__0__Impl47299 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XShortClosure__Group_0_0_1_1__1__Impl_in_rule__XShortClosure__Group_0_0_1_1__147330 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1_in_rule__XShortClosure__Group_0_0_1_1__1__Impl47357 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XParenthesizedExpression__Group__0__Impl_in_rule__XParenthesizedExpression__Group__047391 = new BitSet(new long[]{0x020FC218100001F0L,0x6800000000000008L,0x000000001002FF8AL});
+        public static final BitSet FOLLOW_rule__XParenthesizedExpression__Group__1_in_rule__XParenthesizedExpression__Group__047394 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_67_in_rule__XParenthesizedExpression__Group__0__Impl47422 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XParenthesizedExpression__Group__1__Impl_in_rule__XParenthesizedExpression__Group__147453 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__XParenthesizedExpression__Group__2_in_rule__XParenthesizedExpression__Group__147456 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXExpression_in_rule__XParenthesizedExpression__Group__1__Impl47483 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XParenthesizedExpression__Group__2__Impl_in_rule__XParenthesizedExpression__Group__247512 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_68_in_rule__XParenthesizedExpression__Group__2__Impl47540 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XIfExpression__Group__0__Impl_in_rule__XIfExpression__Group__047577 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XIfExpression__Group__1_in_rule__XIfExpression__Group__047580 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XIfExpression__Group__1__Impl_in_rule__XIfExpression__Group__147638 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L});
+        public static final BitSet FOLLOW_rule__XIfExpression__Group__2_in_rule__XIfExpression__Group__147641 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_129_in_rule__XIfExpression__Group__1__Impl47669 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XIfExpression__Group__2__Impl_in_rule__XIfExpression__Group__247700 = new BitSet(new long[]{0x020FC218100001F0L,0x6800000000000008L,0x000000001002FF8AL});
+        public static final BitSet FOLLOW_rule__XIfExpression__Group__3_in_rule__XIfExpression__Group__247703 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_67_in_rule__XIfExpression__Group__2__Impl47731 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XIfExpression__Group__3__Impl_in_rule__XIfExpression__Group__347762 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__XIfExpression__Group__4_in_rule__XIfExpression__Group__347765 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XIfExpression__IfAssignment_3_in_rule__XIfExpression__Group__3__Impl47792 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XIfExpression__Group__4__Impl_in_rule__XIfExpression__Group__447822 = new BitSet(new long[]{0x020FC218100001F0L,0x6800000000000008L,0x000000001002FF8AL});
+        public static final BitSet FOLLOW_rule__XIfExpression__Group__5_in_rule__XIfExpression__Group__447825 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_68_in_rule__XIfExpression__Group__4__Impl47853 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XIfExpression__Group__5__Impl_in_rule__XIfExpression__Group__547884 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000004L});
+        public static final BitSet FOLLOW_rule__XIfExpression__Group__6_in_rule__XIfExpression__Group__547887 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XIfExpression__ThenAssignment_5_in_rule__XIfExpression__Group__5__Impl47914 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XIfExpression__Group__6__Impl_in_rule__XIfExpression__Group__647944 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XIfExpression__Group_6__0_in_rule__XIfExpression__Group__6__Impl47971 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XIfExpression__Group_6__0__Impl_in_rule__XIfExpression__Group_6__048016 = new BitSet(new long[]{0x020FC218100001F0L,0x6800000000000008L,0x000000001002FF8AL});
+        public static final BitSet FOLLOW_rule__XIfExpression__Group_6__1_in_rule__XIfExpression__Group_6__048019 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_130_in_rule__XIfExpression__Group_6__0__Impl48048 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XIfExpression__Group_6__1__Impl_in_rule__XIfExpression__Group_6__148080 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XIfExpression__ElseAssignment_6_1_in_rule__XIfExpression__Group_6__1__Impl48107 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XSwitchExpression__Group__0__Impl_in_rule__XSwitchExpression__Group__048141 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000008L});
+        public static final BitSet FOLLOW_rule__XSwitchExpression__Group__1_in_rule__XSwitchExpression__Group__048144 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XSwitchExpression__Group__1__Impl_in_rule__XSwitchExpression__Group__148202 = new BitSet(new long[]{0x020FC219100001F0L,0x6800000000000008L,0x000000001002FF8AL});
+        public static final BitSet FOLLOW_rule__XSwitchExpression__Group__2_in_rule__XSwitchExpression__Group__148205 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_131_in_rule__XSwitchExpression__Group__1__Impl48233 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XSwitchExpression__Group__2__Impl_in_rule__XSwitchExpression__Group__248264 = new BitSet(new long[]{0x0200000000000000L});
+        public static final BitSet FOLLOW_rule__XSwitchExpression__Group__3_in_rule__XSwitchExpression__Group__248267 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XSwitchExpression__Alternatives_2_in_rule__XSwitchExpression__Group__2__Impl48294 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XSwitchExpression__Group__3__Impl_in_rule__XSwitchExpression__Group__348324 = new BitSet(new long[]{0x0400000100000010L,0x0000000000000028L,0x0000000000000070L});
+        public static final BitSet FOLLOW_rule__XSwitchExpression__Group__4_in_rule__XSwitchExpression__Group__348327 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_57_in_rule__XSwitchExpression__Group__3__Impl48355 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XSwitchExpression__Group__4__Impl_in_rule__XSwitchExpression__Group__448386 = new BitSet(new long[]{0x0400000100000010L,0x0000000000000028L,0x0000000000000070L});
+        public static final BitSet FOLLOW_rule__XSwitchExpression__Group__5_in_rule__XSwitchExpression__Group__448389 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XSwitchExpression__CasesAssignment_4_in_rule__XSwitchExpression__Group__4__Impl48416 = new BitSet(new long[]{0x0000000100000012L,0x0000000000000028L,0x0000000000000050L});
+        public static final BitSet FOLLOW_rule__XSwitchExpression__Group__5__Impl_in_rule__XSwitchExpression__Group__548447 = new BitSet(new long[]{0x0400000100000010L,0x0000000000000028L,0x0000000000000070L});
+        public static final BitSet FOLLOW_rule__XSwitchExpression__Group__6_in_rule__XSwitchExpression__Group__548450 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XSwitchExpression__Group_5__0_in_rule__XSwitchExpression__Group__5__Impl48477 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XSwitchExpression__Group__6__Impl_in_rule__XSwitchExpression__Group__648508 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_58_in_rule__XSwitchExpression__Group__6__Impl48536 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XSwitchExpression__Group_2_0__0__Impl_in_rule__XSwitchExpression__Group_2_0__048581 = new BitSet(new long[]{0x020FC218100001F0L,0x6800000000000008L,0x000000001002FF8AL});
+    }
+
+    protected static class FollowSets021 {
+        public static final BitSet FOLLOW_rule__XSwitchExpression__Group_2_0__1_in_rule__XSwitchExpression__Group_2_0__048584 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XSwitchExpression__Group_2_0_0__0_in_rule__XSwitchExpression__Group_2_0__0__Impl48611 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XSwitchExpression__Group_2_0__1__Impl_in_rule__XSwitchExpression__Group_2_0__148641 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__XSwitchExpression__Group_2_0__2_in_rule__XSwitchExpression__Group_2_0__148644 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XSwitchExpression__SwitchAssignment_2_0_1_in_rule__XSwitchExpression__Group_2_0__1__Impl48671 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XSwitchExpression__Group_2_0__2__Impl_in_rule__XSwitchExpression__Group_2_0__248701 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_68_in_rule__XSwitchExpression__Group_2_0__2__Impl48729 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XSwitchExpression__Group_2_0_0__0__Impl_in_rule__XSwitchExpression__Group_2_0_0__048766 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XSwitchExpression__Group_2_0_0_0__0_in_rule__XSwitchExpression__Group_2_0_0__0__Impl48793 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XSwitchExpression__Group_2_0_0_0__0__Impl_in_rule__XSwitchExpression__Group_2_0_0_0__048825 = new BitSet(new long[]{0x0000000100000010L,0x0000000000000008L});
+        public static final BitSet FOLLOW_rule__XSwitchExpression__Group_2_0_0_0__1_in_rule__XSwitchExpression__Group_2_0_0_0__048828 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_67_in_rule__XSwitchExpression__Group_2_0_0_0__0__Impl48856 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XSwitchExpression__Group_2_0_0_0__1__Impl_in_rule__XSwitchExpression__Group_2_0_0_0__148887 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__XSwitchExpression__Group_2_0_0_0__2_in_rule__XSwitchExpression__Group_2_0_0_0__148890 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1_in_rule__XSwitchExpression__Group_2_0_0_0__1__Impl48917 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XSwitchExpression__Group_2_0_0_0__2__Impl_in_rule__XSwitchExpression__Group_2_0_0_0__248947 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_132_in_rule__XSwitchExpression__Group_2_0_0_0__2__Impl48975 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XSwitchExpression__Group_2_1__0__Impl_in_rule__XSwitchExpression__Group_2_1__049012 = new BitSet(new long[]{0x020FC219100001F0L,0x6800000000000008L,0x000000001002FF8AL});
+        public static final BitSet FOLLOW_rule__XSwitchExpression__Group_2_1__1_in_rule__XSwitchExpression__Group_2_1__049015 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XSwitchExpression__Group_2_1_0__0_in_rule__XSwitchExpression__Group_2_1__0__Impl49042 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XSwitchExpression__Group_2_1__1__Impl_in_rule__XSwitchExpression__Group_2_1__149073 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XSwitchExpression__SwitchAssignment_2_1_1_in_rule__XSwitchExpression__Group_2_1__1__Impl49100 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XSwitchExpression__Group_2_1_0__0__Impl_in_rule__XSwitchExpression__Group_2_1_0__049134 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XSwitchExpression__Group_2_1_0_0__0_in_rule__XSwitchExpression__Group_2_1_0__0__Impl49161 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XSwitchExpression__Group_2_1_0_0__0__Impl_in_rule__XSwitchExpression__Group_2_1_0_0__049193 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__XSwitchExpression__Group_2_1_0_0__1_in_rule__XSwitchExpression__Group_2_1_0_0__049196 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0_in_rule__XSwitchExpression__Group_2_1_0_0__0__Impl49223 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XSwitchExpression__Group_2_1_0_0__1__Impl_in_rule__XSwitchExpression__Group_2_1_0_0__149253 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_132_in_rule__XSwitchExpression__Group_2_1_0_0__1__Impl49281 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XSwitchExpression__Group_5__0__Impl_in_rule__XSwitchExpression__Group_5__049316 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__XSwitchExpression__Group_5__1_in_rule__XSwitchExpression__Group_5__049319 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_133_in_rule__XSwitchExpression__Group_5__0__Impl49347 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XSwitchExpression__Group_5__1__Impl_in_rule__XSwitchExpression__Group_5__149378 = new BitSet(new long[]{0x020FC218100001F0L,0x6800000000000008L,0x000000001002FF8AL});
+        public static final BitSet FOLLOW_rule__XSwitchExpression__Group_5__2_in_rule__XSwitchExpression__Group_5__149381 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_132_in_rule__XSwitchExpression__Group_5__1__Impl49409 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XSwitchExpression__Group_5__2__Impl_in_rule__XSwitchExpression__Group_5__249440 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XSwitchExpression__DefaultAssignment_5_2_in_rule__XSwitchExpression__Group_5__2__Impl49467 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XCasePart__Group__0__Impl_in_rule__XCasePart__Group__049503 = new BitSet(new long[]{0x0000000100000010L,0x0000000000000028L,0x0000000000000050L});
+        public static final BitSet FOLLOW_rule__XCasePart__Group__1_in_rule__XCasePart__Group__049506 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XCasePart__Group__1__Impl_in_rule__XCasePart__Group__149564 = new BitSet(new long[]{0x0000000100000010L,0x0000000000000028L,0x0000000000000050L});
+        public static final BitSet FOLLOW_rule__XCasePart__Group__2_in_rule__XCasePart__Group__149567 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XCasePart__TypeGuardAssignment_1_in_rule__XCasePart__Group__1__Impl49594 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XCasePart__Group__2__Impl_in_rule__XCasePart__Group__249625 = new BitSet(new long[]{0x0000000100000010L,0x0000000000000028L,0x0000000000000050L});
+        public static final BitSet FOLLOW_rule__XCasePart__Group__3_in_rule__XCasePart__Group__249628 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XCasePart__Group_2__0_in_rule__XCasePart__Group__2__Impl49655 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XCasePart__Group__3__Impl_in_rule__XCasePart__Group__349686 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XCasePart__Alternatives_3_in_rule__XCasePart__Group__3__Impl49713 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XCasePart__Group_2__0__Impl_in_rule__XCasePart__Group_2__049751 = new BitSet(new long[]{0x020FC218100001F0L,0x6800000000000008L,0x000000001002FF8AL});
+        public static final BitSet FOLLOW_rule__XCasePart__Group_2__1_in_rule__XCasePart__Group_2__049754 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_134_in_rule__XCasePart__Group_2__0__Impl49782 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XCasePart__Group_2__1__Impl_in_rule__XCasePart__Group_2__149813 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XCasePart__CaseAssignment_2_1_in_rule__XCasePart__Group_2__1__Impl49840 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XCasePart__Group_3_0__0__Impl_in_rule__XCasePart__Group_3_0__049874 = new BitSet(new long[]{0x020FC218100001F0L,0x6800000000000008L,0x000000001002FF8AL});
+        public static final BitSet FOLLOW_rule__XCasePart__Group_3_0__1_in_rule__XCasePart__Group_3_0__049877 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_132_in_rule__XCasePart__Group_3_0__0__Impl49905 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XCasePart__Group_3_0__1__Impl_in_rule__XCasePart__Group_3_0__149936 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XCasePart__ThenAssignment_3_0_1_in_rule__XCasePart__Group_3_0__1__Impl49963 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XForLoopExpression__Group__0__Impl_in_rule__XForLoopExpression__Group__049997 = new BitSet(new long[]{0x020FC218100001F0L,0x6800000000000008L,0x000000001002FF8AL});
+        public static final BitSet FOLLOW_rule__XForLoopExpression__Group__1_in_rule__XForLoopExpression__Group__050000 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XForLoopExpression__Group_0__0_in_rule__XForLoopExpression__Group__0__Impl50027 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XForLoopExpression__Group__1__Impl_in_rule__XForLoopExpression__Group__150057 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__XForLoopExpression__Group__2_in_rule__XForLoopExpression__Group__150060 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XForLoopExpression__ForExpressionAssignment_1_in_rule__XForLoopExpression__Group__1__Impl50087 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XForLoopExpression__Group__2__Impl_in_rule__XForLoopExpression__Group__250117 = new BitSet(new long[]{0x020FC218100001F0L,0x6800000000000008L,0x000000001002FF8AL});
+        public static final BitSet FOLLOW_rule__XForLoopExpression__Group__3_in_rule__XForLoopExpression__Group__250120 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_68_in_rule__XForLoopExpression__Group__2__Impl50148 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XForLoopExpression__Group__3__Impl_in_rule__XForLoopExpression__Group__350179 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XForLoopExpression__EachExpressionAssignment_3_in_rule__XForLoopExpression__Group__3__Impl50206 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XForLoopExpression__Group_0__0__Impl_in_rule__XForLoopExpression__Group_0__050244 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XForLoopExpression__Group_0_0__0_in_rule__XForLoopExpression__Group_0__0__Impl50271 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XForLoopExpression__Group_0_0__0__Impl_in_rule__XForLoopExpression__Group_0_0__050303 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000080L});
+        public static final BitSet FOLLOW_rule__XForLoopExpression__Group_0_0__1_in_rule__XForLoopExpression__Group_0_0__050306 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XForLoopExpression__Group_0_0__1__Impl_in_rule__XForLoopExpression__Group_0_0__150364 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L});
+        public static final BitSet FOLLOW_rule__XForLoopExpression__Group_0_0__2_in_rule__XForLoopExpression__Group_0_0__150367 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_135_in_rule__XForLoopExpression__Group_0_0__1__Impl50395 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XForLoopExpression__Group_0_0__2__Impl_in_rule__XForLoopExpression__Group_0_0__250426 = new BitSet(new long[]{0x0000000100000010L,0x0000000000000008L});
+        public static final BitSet FOLLOW_rule__XForLoopExpression__Group_0_0__3_in_rule__XForLoopExpression__Group_0_0__250429 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_67_in_rule__XForLoopExpression__Group_0_0__2__Impl50457 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XForLoopExpression__Group_0_0__3__Impl_in_rule__XForLoopExpression__Group_0_0__350488 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__XForLoopExpression__Group_0_0__4_in_rule__XForLoopExpression__Group_0_0__350491 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XForLoopExpression__DeclaredParamAssignment_0_0_3_in_rule__XForLoopExpression__Group_0_0__3__Impl50518 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XForLoopExpression__Group_0_0__4__Impl_in_rule__XForLoopExpression__Group_0_0__450548 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_132_in_rule__XForLoopExpression__Group_0_0__4__Impl50576 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XBasicForLoopExpression__Group__0__Impl_in_rule__XBasicForLoopExpression__Group__050617 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000080L});
+        public static final BitSet FOLLOW_rule__XBasicForLoopExpression__Group__1_in_rule__XBasicForLoopExpression__Group__050620 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XBasicForLoopExpression__Group__1__Impl_in_rule__XBasicForLoopExpression__Group__150678 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L});
+        public static final BitSet FOLLOW_rule__XBasicForLoopExpression__Group__2_in_rule__XBasicForLoopExpression__Group__150681 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_135_in_rule__XBasicForLoopExpression__Group__1__Impl50709 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XBasicForLoopExpression__Group__2__Impl_in_rule__XBasicForLoopExpression__Group__250740 = new BitSet(new long[]{0x020FE218100001F0L,0x6800000000000108L,0x000000001002FF8BL});
+        public static final BitSet FOLLOW_rule__XBasicForLoopExpression__Group__3_in_rule__XBasicForLoopExpression__Group__250743 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_67_in_rule__XBasicForLoopExpression__Group__2__Impl50771 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XBasicForLoopExpression__Group__3__Impl_in_rule__XBasicForLoopExpression__Group__350802 = new BitSet(new long[]{0x020FE218100001F0L,0x6800000000000108L,0x000000001002FF8BL});
+        public static final BitSet FOLLOW_rule__XBasicForLoopExpression__Group__4_in_rule__XBasicForLoopExpression__Group__350805 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XBasicForLoopExpression__Group_3__0_in_rule__XBasicForLoopExpression__Group__3__Impl50832 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XBasicForLoopExpression__Group__4__Impl_in_rule__XBasicForLoopExpression__Group__450863 = new BitSet(new long[]{0x020FC218100001F0L,0x6800000000000008L,0x000000001002FF8BL});
+        public static final BitSet FOLLOW_rule__XBasicForLoopExpression__Group__5_in_rule__XBasicForLoopExpression__Group__450866 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_128_in_rule__XBasicForLoopExpression__Group__4__Impl50894 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XBasicForLoopExpression__Group__5__Impl_in_rule__XBasicForLoopExpression__Group__550925 = new BitSet(new long[]{0x020FC218100001F0L,0x6800000000000008L,0x000000001002FF8BL});
+        public static final BitSet FOLLOW_rule__XBasicForLoopExpression__Group__6_in_rule__XBasicForLoopExpression__Group__550928 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XBasicForLoopExpression__ExpressionAssignment_5_in_rule__XBasicForLoopExpression__Group__5__Impl50955 = new BitSet(new long[]{0x0000000000000002L});
+    }
+
+    protected static class FollowSets022 {
+        public static final BitSet FOLLOW_rule__XBasicForLoopExpression__Group__6__Impl_in_rule__XBasicForLoopExpression__Group__650986 = new BitSet(new long[]{0x020FC218100001F0L,0x6800000000000018L,0x000000001002FF8AL});
+        public static final BitSet FOLLOW_rule__XBasicForLoopExpression__Group__7_in_rule__XBasicForLoopExpression__Group__650989 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_128_in_rule__XBasicForLoopExpression__Group__6__Impl51017 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XBasicForLoopExpression__Group__7__Impl_in_rule__XBasicForLoopExpression__Group__751048 = new BitSet(new long[]{0x020FC218100001F0L,0x6800000000000018L,0x000000001002FF8AL});
+        public static final BitSet FOLLOW_rule__XBasicForLoopExpression__Group__8_in_rule__XBasicForLoopExpression__Group__751051 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XBasicForLoopExpression__Group_7__0_in_rule__XBasicForLoopExpression__Group__7__Impl51078 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XBasicForLoopExpression__Group__8__Impl_in_rule__XBasicForLoopExpression__Group__851109 = new BitSet(new long[]{0x020FC218100001F0L,0x6800000000000008L,0x000000001002FF8AL});
+        public static final BitSet FOLLOW_rule__XBasicForLoopExpression__Group__9_in_rule__XBasicForLoopExpression__Group__851112 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_68_in_rule__XBasicForLoopExpression__Group__8__Impl51140 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XBasicForLoopExpression__Group__9__Impl_in_rule__XBasicForLoopExpression__Group__951171 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XBasicForLoopExpression__EachExpressionAssignment_9_in_rule__XBasicForLoopExpression__Group__9__Impl51198 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XBasicForLoopExpression__Group_3__0__Impl_in_rule__XBasicForLoopExpression__Group_3__051248 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L});
+        public static final BitSet FOLLOW_rule__XBasicForLoopExpression__Group_3__1_in_rule__XBasicForLoopExpression__Group_3__051251 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0_in_rule__XBasicForLoopExpression__Group_3__0__Impl51278 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XBasicForLoopExpression__Group_3__1__Impl_in_rule__XBasicForLoopExpression__Group_3__151308 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XBasicForLoopExpression__Group_3_1__0_in_rule__XBasicForLoopExpression__Group_3__1__Impl51335 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000020L});
+        public static final BitSet FOLLOW_rule__XBasicForLoopExpression__Group_3_1__0__Impl_in_rule__XBasicForLoopExpression__Group_3_1__051370 = new BitSet(new long[]{0x020FE218100001F0L,0x6800000000000108L,0x000000001002FF8AL});
+        public static final BitSet FOLLOW_rule__XBasicForLoopExpression__Group_3_1__1_in_rule__XBasicForLoopExpression__Group_3_1__051373 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_69_in_rule__XBasicForLoopExpression__Group_3_1__0__Impl51401 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XBasicForLoopExpression__Group_3_1__1__Impl_in_rule__XBasicForLoopExpression__Group_3_1__151432 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1_in_rule__XBasicForLoopExpression__Group_3_1__1__Impl51459 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XBasicForLoopExpression__Group_7__0__Impl_in_rule__XBasicForLoopExpression__Group_7__051493 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L});
+        public static final BitSet FOLLOW_rule__XBasicForLoopExpression__Group_7__1_in_rule__XBasicForLoopExpression__Group_7__051496 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0_in_rule__XBasicForLoopExpression__Group_7__0__Impl51523 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XBasicForLoopExpression__Group_7__1__Impl_in_rule__XBasicForLoopExpression__Group_7__151553 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XBasicForLoopExpression__Group_7_1__0_in_rule__XBasicForLoopExpression__Group_7__1__Impl51580 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000020L});
+        public static final BitSet FOLLOW_rule__XBasicForLoopExpression__Group_7_1__0__Impl_in_rule__XBasicForLoopExpression__Group_7_1__051615 = new BitSet(new long[]{0x020FC218100001F0L,0x6800000000000008L,0x000000001002FF8AL});
+        public static final BitSet FOLLOW_rule__XBasicForLoopExpression__Group_7_1__1_in_rule__XBasicForLoopExpression__Group_7_1__051618 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_69_in_rule__XBasicForLoopExpression__Group_7_1__0__Impl51646 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XBasicForLoopExpression__Group_7_1__1__Impl_in_rule__XBasicForLoopExpression__Group_7_1__151677 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1_in_rule__XBasicForLoopExpression__Group_7_1__1__Impl51704 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XWhileExpression__Group__0__Impl_in_rule__XWhileExpression__Group__051738 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000100L});
+        public static final BitSet FOLLOW_rule__XWhileExpression__Group__1_in_rule__XWhileExpression__Group__051741 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XWhileExpression__Group__1__Impl_in_rule__XWhileExpression__Group__151799 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L});
+        public static final BitSet FOLLOW_rule__XWhileExpression__Group__2_in_rule__XWhileExpression__Group__151802 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_136_in_rule__XWhileExpression__Group__1__Impl51830 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XWhileExpression__Group__2__Impl_in_rule__XWhileExpression__Group__251861 = new BitSet(new long[]{0x020FC218100001F0L,0x6800000000000008L,0x000000001002FF8AL});
+        public static final BitSet FOLLOW_rule__XWhileExpression__Group__3_in_rule__XWhileExpression__Group__251864 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_67_in_rule__XWhileExpression__Group__2__Impl51892 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XWhileExpression__Group__3__Impl_in_rule__XWhileExpression__Group__351923 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__XWhileExpression__Group__4_in_rule__XWhileExpression__Group__351926 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XWhileExpression__PredicateAssignment_3_in_rule__XWhileExpression__Group__3__Impl51953 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XWhileExpression__Group__4__Impl_in_rule__XWhileExpression__Group__451983 = new BitSet(new long[]{0x020FC218100001F0L,0x6800000000000008L,0x000000001002FF8AL});
+        public static final BitSet FOLLOW_rule__XWhileExpression__Group__5_in_rule__XWhileExpression__Group__451986 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_68_in_rule__XWhileExpression__Group__4__Impl52014 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XWhileExpression__Group__5__Impl_in_rule__XWhileExpression__Group__552045 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XWhileExpression__BodyAssignment_5_in_rule__XWhileExpression__Group__5__Impl52072 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XDoWhileExpression__Group__0__Impl_in_rule__XDoWhileExpression__Group__052114 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
+        public static final BitSet FOLLOW_rule__XDoWhileExpression__Group__1_in_rule__XDoWhileExpression__Group__052117 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XDoWhileExpression__Group__1__Impl_in_rule__XDoWhileExpression__Group__152175 = new BitSet(new long[]{0x020FC218100001F0L,0x6800000000000008L,0x000000001002FF8AL});
+        public static final BitSet FOLLOW_rule__XDoWhileExpression__Group__2_in_rule__XDoWhileExpression__Group__152178 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_137_in_rule__XDoWhileExpression__Group__1__Impl52206 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XDoWhileExpression__Group__2__Impl_in_rule__XDoWhileExpression__Group__252237 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000100L});
+        public static final BitSet FOLLOW_rule__XDoWhileExpression__Group__3_in_rule__XDoWhileExpression__Group__252240 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XDoWhileExpression__BodyAssignment_2_in_rule__XDoWhileExpression__Group__2__Impl52267 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XDoWhileExpression__Group__3__Impl_in_rule__XDoWhileExpression__Group__352297 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L});
+        public static final BitSet FOLLOW_rule__XDoWhileExpression__Group__4_in_rule__XDoWhileExpression__Group__352300 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_136_in_rule__XDoWhileExpression__Group__3__Impl52328 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XDoWhileExpression__Group__4__Impl_in_rule__XDoWhileExpression__Group__452359 = new BitSet(new long[]{0x020FC218100001F0L,0x6800000000000008L,0x000000001002FF8AL});
+        public static final BitSet FOLLOW_rule__XDoWhileExpression__Group__5_in_rule__XDoWhileExpression__Group__452362 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_67_in_rule__XDoWhileExpression__Group__4__Impl52390 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XDoWhileExpression__Group__5__Impl_in_rule__XDoWhileExpression__Group__552421 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__XDoWhileExpression__Group__6_in_rule__XDoWhileExpression__Group__552424 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XDoWhileExpression__PredicateAssignment_5_in_rule__XDoWhileExpression__Group__5__Impl52451 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XDoWhileExpression__Group__6__Impl_in_rule__XDoWhileExpression__Group__652481 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_68_in_rule__XDoWhileExpression__Group__6__Impl52509 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XBlockExpression__Group__0__Impl_in_rule__XBlockExpression__Group__052554 = new BitSet(new long[]{0x0200000000000000L});
+        public static final BitSet FOLLOW_rule__XBlockExpression__Group__1_in_rule__XBlockExpression__Group__052557 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XBlockExpression__Group__1__Impl_in_rule__XBlockExpression__Group__152615 = new BitSet(new long[]{0x060FE218100001F0L,0x6800000000000108L,0x000000001002FF8AL});
+        public static final BitSet FOLLOW_rule__XBlockExpression__Group__2_in_rule__XBlockExpression__Group__152618 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_57_in_rule__XBlockExpression__Group__1__Impl52646 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XBlockExpression__Group__2__Impl_in_rule__XBlockExpression__Group__252677 = new BitSet(new long[]{0x060FE218100001F0L,0x6800000000000108L,0x000000001002FF8AL});
+        public static final BitSet FOLLOW_rule__XBlockExpression__Group__3_in_rule__XBlockExpression__Group__252680 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XBlockExpression__Group_2__0_in_rule__XBlockExpression__Group__2__Impl52707 = new BitSet(new long[]{0x020FE218100001F2L,0x6800000000000108L,0x000000001002FF8AL});
+        public static final BitSet FOLLOW_rule__XBlockExpression__Group__3__Impl_in_rule__XBlockExpression__Group__352738 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_58_in_rule__XBlockExpression__Group__3__Impl52766 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XBlockExpression__Group_2__0__Impl_in_rule__XBlockExpression__Group_2__052805 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000001L});
+        public static final BitSet FOLLOW_rule__XBlockExpression__Group_2__1_in_rule__XBlockExpression__Group_2__052808 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XBlockExpression__ExpressionsAssignment_2_0_in_rule__XBlockExpression__Group_2__0__Impl52835 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XBlockExpression__Group_2__1__Impl_in_rule__XBlockExpression__Group_2__152865 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_128_in_rule__XBlockExpression__Group_2__1__Impl52894 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XVariableDeclaration__Group__0__Impl_in_rule__XVariableDeclaration__Group__052931 = new BitSet(new long[]{0x0000200000000000L,0x0000000000000100L});
+        public static final BitSet FOLLOW_rule__XVariableDeclaration__Group__1_in_rule__XVariableDeclaration__Group__052934 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XVariableDeclaration__Group__1__Impl_in_rule__XVariableDeclaration__Group__152992 = new BitSet(new long[]{0x0000000100000010L,0x0000000000000008L});
+        public static final BitSet FOLLOW_rule__XVariableDeclaration__Group__2_in_rule__XVariableDeclaration__Group__152995 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XVariableDeclaration__Alternatives_1_in_rule__XVariableDeclaration__Group__1__Impl53022 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XVariableDeclaration__Group__2__Impl_in_rule__XVariableDeclaration__Group__253052 = new BitSet(new long[]{0x0000000000002000L});
+        public static final BitSet FOLLOW_rule__XVariableDeclaration__Group__3_in_rule__XVariableDeclaration__Group__253055 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XVariableDeclaration__Alternatives_2_in_rule__XVariableDeclaration__Group__2__Impl53082 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XVariableDeclaration__Group__3__Impl_in_rule__XVariableDeclaration__Group__353112 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XVariableDeclaration__Group_3__0_in_rule__XVariableDeclaration__Group__3__Impl53139 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XVariableDeclaration__Group_2_0__0__Impl_in_rule__XVariableDeclaration__Group_2_0__053178 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XVariableDeclaration__Group_2_0_0__0_in_rule__XVariableDeclaration__Group_2_0__0__Impl53205 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XVariableDeclaration__Group_2_0_0__0__Impl_in_rule__XVariableDeclaration__Group_2_0_0__053237 = new BitSet(new long[]{0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__XVariableDeclaration__Group_2_0_0__1_in_rule__XVariableDeclaration__Group_2_0_0__053240 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XVariableDeclaration__TypeAssignment_2_0_0_0_in_rule__XVariableDeclaration__Group_2_0_0__0__Impl53267 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XVariableDeclaration__Group_2_0_0__1__Impl_in_rule__XVariableDeclaration__Group_2_0_0__153297 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XVariableDeclaration__NameAssignment_2_0_0_1_in_rule__XVariableDeclaration__Group_2_0_0__1__Impl53324 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XVariableDeclaration__Group_3__0__Impl_in_rule__XVariableDeclaration__Group_3__053358 = new BitSet(new long[]{0x020FC218100001F0L,0x6800000000000008L,0x000000001002FF8AL});
+        public static final BitSet FOLLOW_rule__XVariableDeclaration__Group_3__1_in_rule__XVariableDeclaration__Group_3__053361 = new BitSet(new long[]{0x0000000000000002L});
+    }
+
+    protected static class FollowSets023 {
+        public static final BitSet FOLLOW_13_in_rule__XVariableDeclaration__Group_3__0__Impl53389 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XVariableDeclaration__Group_3__1__Impl_in_rule__XVariableDeclaration__Group_3__153420 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XVariableDeclaration__RightAssignment_3_1_in_rule__XVariableDeclaration__Group_3__1__Impl53447 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmFormalParameter__Group__0__Impl_in_rule__JvmFormalParameter__Group__053481 = new BitSet(new long[]{0x0000000100000010L,0x0000000000000008L});
+        public static final BitSet FOLLOW_rule__JvmFormalParameter__Group__1_in_rule__JvmFormalParameter__Group__053484 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmFormalParameter__ParameterTypeAssignment_0_in_rule__JvmFormalParameter__Group__0__Impl53511 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmFormalParameter__Group__1__Impl_in_rule__JvmFormalParameter__Group__153542 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmFormalParameter__NameAssignment_1_in_rule__JvmFormalParameter__Group__1__Impl53569 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__FullJvmFormalParameter__Group__0__Impl_in_rule__FullJvmFormalParameter__Group__053603 = new BitSet(new long[]{0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__FullJvmFormalParameter__Group__1_in_rule__FullJvmFormalParameter__Group__053606 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__FullJvmFormalParameter__ParameterTypeAssignment_0_in_rule__FullJvmFormalParameter__Group__0__Impl53633 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__FullJvmFormalParameter__Group__1__Impl_in_rule__FullJvmFormalParameter__Group__153663 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__FullJvmFormalParameter__NameAssignment_1_in_rule__FullJvmFormalParameter__Group__1__Impl53690 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XFeatureCall__Group__0__Impl_in_rule__XFeatureCall__Group__053724 = new BitSet(new long[]{0x0007C00010000010L});
+        public static final BitSet FOLLOW_rule__XFeatureCall__Group__1_in_rule__XFeatureCall__Group__053727 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XFeatureCall__Group__1__Impl_in_rule__XFeatureCall__Group__153785 = new BitSet(new long[]{0x0007C00010000010L});
+        public static final BitSet FOLLOW_rule__XFeatureCall__Group__2_in_rule__XFeatureCall__Group__153788 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XFeatureCall__Group_1__0_in_rule__XFeatureCall__Group__1__Impl53815 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XFeatureCall__Group__2__Impl_in_rule__XFeatureCall__Group__253846 = new BitSet(new long[]{0x0000000000000000L,0x4000000000000008L});
+        public static final BitSet FOLLOW_rule__XFeatureCall__Group__3_in_rule__XFeatureCall__Group__253849 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XFeatureCall__FeatureAssignment_2_in_rule__XFeatureCall__Group__2__Impl53876 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XFeatureCall__Group__3__Impl_in_rule__XFeatureCall__Group__353906 = new BitSet(new long[]{0x0000000000000000L,0x4000000000000008L});
+        public static final BitSet FOLLOW_rule__XFeatureCall__Group__4_in_rule__XFeatureCall__Group__353909 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XFeatureCall__Group_3__0_in_rule__XFeatureCall__Group__3__Impl53936 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XFeatureCall__Group__4__Impl_in_rule__XFeatureCall__Group__453967 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XFeatureCall__FeatureCallArgumentsAssignment_4_in_rule__XFeatureCall__Group__4__Impl53994 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XFeatureCall__Group_1__0__Impl_in_rule__XFeatureCall__Group_1__054035 = new BitSet(new long[]{0x0000000100000010L,0x0000000000000008L,0x0000000000080000L});
+        public static final BitSet FOLLOW_rule__XFeatureCall__Group_1__1_in_rule__XFeatureCall__Group_1__054038 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_28_in_rule__XFeatureCall__Group_1__0__Impl54066 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XFeatureCall__Group_1__1__Impl_in_rule__XFeatureCall__Group_1__154097 = new BitSet(new long[]{0x0000000008000000L,0x0000000000000020L});
+        public static final BitSet FOLLOW_rule__XFeatureCall__Group_1__2_in_rule__XFeatureCall__Group_1__154100 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XFeatureCall__TypeArgumentsAssignment_1_1_in_rule__XFeatureCall__Group_1__1__Impl54127 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XFeatureCall__Group_1__2__Impl_in_rule__XFeatureCall__Group_1__254157 = new BitSet(new long[]{0x0000000008000000L,0x0000000000000020L});
+        public static final BitSet FOLLOW_rule__XFeatureCall__Group_1__3_in_rule__XFeatureCall__Group_1__254160 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XFeatureCall__Group_1_2__0_in_rule__XFeatureCall__Group_1__2__Impl54187 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000020L});
+        public static final BitSet FOLLOW_rule__XFeatureCall__Group_1__3__Impl_in_rule__XFeatureCall__Group_1__354218 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_27_in_rule__XFeatureCall__Group_1__3__Impl54246 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XFeatureCall__Group_1_2__0__Impl_in_rule__XFeatureCall__Group_1_2__054285 = new BitSet(new long[]{0x0000000100000010L,0x0000000000000008L,0x0000000000080000L});
+        public static final BitSet FOLLOW_rule__XFeatureCall__Group_1_2__1_in_rule__XFeatureCall__Group_1_2__054288 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_69_in_rule__XFeatureCall__Group_1_2__0__Impl54316 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XFeatureCall__Group_1_2__1__Impl_in_rule__XFeatureCall__Group_1_2__154347 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XFeatureCall__TypeArgumentsAssignment_1_2_1_in_rule__XFeatureCall__Group_1_2__1__Impl54374 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XFeatureCall__Group_3__0__Impl_in_rule__XFeatureCall__Group_3__054408 = new BitSet(new long[]{0x020FC219100001F0L,0x6800000000000018L,0x000000001802FF8AL});
+        public static final BitSet FOLLOW_rule__XFeatureCall__Group_3__1_in_rule__XFeatureCall__Group_3__054411 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XFeatureCall__ExplicitOperationCallAssignment_3_0_in_rule__XFeatureCall__Group_3__0__Impl54438 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XFeatureCall__Group_3__1__Impl_in_rule__XFeatureCall__Group_3__154468 = new BitSet(new long[]{0x020FC219100001F0L,0x6800000000000018L,0x000000001802FF8AL});
+        public static final BitSet FOLLOW_rule__XFeatureCall__Group_3__2_in_rule__XFeatureCall__Group_3__154471 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XFeatureCall__Alternatives_3_1_in_rule__XFeatureCall__Group_3__1__Impl54498 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XFeatureCall__Group_3__2__Impl_in_rule__XFeatureCall__Group_3__254529 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_68_in_rule__XFeatureCall__Group_3__2__Impl54557 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XFeatureCall__Group_3_1_1__0__Impl_in_rule__XFeatureCall__Group_3_1_1__054594 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L});
+        public static final BitSet FOLLOW_rule__XFeatureCall__Group_3_1_1__1_in_rule__XFeatureCall__Group_3_1_1__054597 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0_in_rule__XFeatureCall__Group_3_1_1__0__Impl54624 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XFeatureCall__Group_3_1_1__1__Impl_in_rule__XFeatureCall__Group_3_1_1__154654 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XFeatureCall__Group_3_1_1_1__0_in_rule__XFeatureCall__Group_3_1_1__1__Impl54681 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000020L});
+        public static final BitSet FOLLOW_rule__XFeatureCall__Group_3_1_1_1__0__Impl_in_rule__XFeatureCall__Group_3_1_1_1__054716 = new BitSet(new long[]{0x020FC218100001F0L,0x6800000000000008L,0x000000001002FF8AL});
+        public static final BitSet FOLLOW_rule__XFeatureCall__Group_3_1_1_1__1_in_rule__XFeatureCall__Group_3_1_1_1__054719 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_69_in_rule__XFeatureCall__Group_3_1_1_1__0__Impl54747 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XFeatureCall__Group_3_1_1_1__1__Impl_in_rule__XFeatureCall__Group_3_1_1_1__154778 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1_in_rule__XFeatureCall__Group_3_1_1_1__1__Impl54805 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XConstructorCall__Group__0__Impl_in_rule__XConstructorCall__Group__054839 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000400L});
+        public static final BitSet FOLLOW_rule__XConstructorCall__Group__1_in_rule__XConstructorCall__Group__054842 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XConstructorCall__Group__1__Impl_in_rule__XConstructorCall__Group__154900 = new BitSet(new long[]{0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__XConstructorCall__Group__2_in_rule__XConstructorCall__Group__154903 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_138_in_rule__XConstructorCall__Group__1__Impl54931 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XConstructorCall__Group__2__Impl_in_rule__XConstructorCall__Group__254962 = new BitSet(new long[]{0x0000000010000000L,0x4000000000000008L});
+        public static final BitSet FOLLOW_rule__XConstructorCall__Group__3_in_rule__XConstructorCall__Group__254965 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XConstructorCall__ConstructorAssignment_2_in_rule__XConstructorCall__Group__2__Impl54992 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XConstructorCall__Group__3__Impl_in_rule__XConstructorCall__Group__355022 = new BitSet(new long[]{0x0000000010000000L,0x4000000000000008L});
+        public static final BitSet FOLLOW_rule__XConstructorCall__Group__4_in_rule__XConstructorCall__Group__355025 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XConstructorCall__Group_3__0_in_rule__XConstructorCall__Group__3__Impl55052 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XConstructorCall__Group__4__Impl_in_rule__XConstructorCall__Group__455083 = new BitSet(new long[]{0x0000000010000000L,0x4000000000000008L});
+        public static final BitSet FOLLOW_rule__XConstructorCall__Group__5_in_rule__XConstructorCall__Group__455086 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XConstructorCall__Group_4__0_in_rule__XConstructorCall__Group__4__Impl55113 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XConstructorCall__Group__5__Impl_in_rule__XConstructorCall__Group__555144 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XConstructorCall__ArgumentsAssignment_5_in_rule__XConstructorCall__Group__5__Impl55171 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XConstructorCall__Group_3__0__Impl_in_rule__XConstructorCall__Group_3__055214 = new BitSet(new long[]{0x0000000100000010L,0x0000000000000008L,0x0000000000080000L});
+        public static final BitSet FOLLOW_rule__XConstructorCall__Group_3__1_in_rule__XConstructorCall__Group_3__055217 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_28_in_rule__XConstructorCall__Group_3__0__Impl55246 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XConstructorCall__Group_3__1__Impl_in_rule__XConstructorCall__Group_3__155278 = new BitSet(new long[]{0x0000000008000000L,0x0000000000000020L});
+        public static final BitSet FOLLOW_rule__XConstructorCall__Group_3__2_in_rule__XConstructorCall__Group_3__155281 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XConstructorCall__TypeArgumentsAssignment_3_1_in_rule__XConstructorCall__Group_3__1__Impl55308 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XConstructorCall__Group_3__2__Impl_in_rule__XConstructorCall__Group_3__255338 = new BitSet(new long[]{0x0000000008000000L,0x0000000000000020L});
+        public static final BitSet FOLLOW_rule__XConstructorCall__Group_3__3_in_rule__XConstructorCall__Group_3__255341 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XConstructorCall__Group_3_2__0_in_rule__XConstructorCall__Group_3__2__Impl55368 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000020L});
+        public static final BitSet FOLLOW_rule__XConstructorCall__Group_3__3__Impl_in_rule__XConstructorCall__Group_3__355399 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_27_in_rule__XConstructorCall__Group_3__3__Impl55427 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XConstructorCall__Group_3_2__0__Impl_in_rule__XConstructorCall__Group_3_2__055466 = new BitSet(new long[]{0x0000000100000010L,0x0000000000000008L,0x0000000000080000L});
+        public static final BitSet FOLLOW_rule__XConstructorCall__Group_3_2__1_in_rule__XConstructorCall__Group_3_2__055469 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_69_in_rule__XConstructorCall__Group_3_2__0__Impl55497 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XConstructorCall__Group_3_2__1__Impl_in_rule__XConstructorCall__Group_3_2__155528 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XConstructorCall__TypeArgumentsAssignment_3_2_1_in_rule__XConstructorCall__Group_3_2__1__Impl55555 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XConstructorCall__Group_4__0__Impl_in_rule__XConstructorCall__Group_4__055589 = new BitSet(new long[]{0x020FC219100001F0L,0x6800000000000018L,0x000000001802FF8AL});
+        public static final BitSet FOLLOW_rule__XConstructorCall__Group_4__1_in_rule__XConstructorCall__Group_4__055592 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0_in_rule__XConstructorCall__Group_4__0__Impl55619 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XConstructorCall__Group_4__1__Impl_in_rule__XConstructorCall__Group_4__155649 = new BitSet(new long[]{0x020FC219100001F0L,0x6800000000000018L,0x000000001802FF8AL});
+        public static final BitSet FOLLOW_rule__XConstructorCall__Group_4__2_in_rule__XConstructorCall__Group_4__155652 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XConstructorCall__Alternatives_4_1_in_rule__XConstructorCall__Group_4__1__Impl55679 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XConstructorCall__Group_4__2__Impl_in_rule__XConstructorCall__Group_4__255710 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_68_in_rule__XConstructorCall__Group_4__2__Impl55738 = new BitSet(new long[]{0x0000000000000002L});
+    }
+
+    protected static class FollowSets024 {
+        public static final BitSet FOLLOW_rule__XConstructorCall__Group_4_1_1__0__Impl_in_rule__XConstructorCall__Group_4_1_1__055775 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L});
+        public static final BitSet FOLLOW_rule__XConstructorCall__Group_4_1_1__1_in_rule__XConstructorCall__Group_4_1_1__055778 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XConstructorCall__ArgumentsAssignment_4_1_1_0_in_rule__XConstructorCall__Group_4_1_1__0__Impl55805 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XConstructorCall__Group_4_1_1__1__Impl_in_rule__XConstructorCall__Group_4_1_1__155835 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XConstructorCall__Group_4_1_1_1__0_in_rule__XConstructorCall__Group_4_1_1__1__Impl55862 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000020L});
+        public static final BitSet FOLLOW_rule__XConstructorCall__Group_4_1_1_1__0__Impl_in_rule__XConstructorCall__Group_4_1_1_1__055897 = new BitSet(new long[]{0x020FC218100001F0L,0x6800000000000008L,0x000000001002FF8AL});
+        public static final BitSet FOLLOW_rule__XConstructorCall__Group_4_1_1_1__1_in_rule__XConstructorCall__Group_4_1_1_1__055900 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_69_in_rule__XConstructorCall__Group_4_1_1_1__0__Impl55928 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XConstructorCall__Group_4_1_1_1__1__Impl_in_rule__XConstructorCall__Group_4_1_1_1__155959 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1_in_rule__XConstructorCall__Group_4_1_1_1__1__Impl55986 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XBooleanLiteral__Group__0__Impl_in_rule__XBooleanLiteral__Group__056020 = new BitSet(new long[]{0x0008000000000000L,0x0000000000000000L,0x0000000010000000L});
+        public static final BitSet FOLLOW_rule__XBooleanLiteral__Group__1_in_rule__XBooleanLiteral__Group__056023 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XBooleanLiteral__Group__1__Impl_in_rule__XBooleanLiteral__Group__156081 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XBooleanLiteral__Alternatives_1_in_rule__XBooleanLiteral__Group__1__Impl56108 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XNullLiteral__Group__0__Impl_in_rule__XNullLiteral__Group__056142 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000800L});
+        public static final BitSet FOLLOW_rule__XNullLiteral__Group__1_in_rule__XNullLiteral__Group__056145 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XNullLiteral__Group__1__Impl_in_rule__XNullLiteral__Group__156203 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_139_in_rule__XNullLiteral__Group__1__Impl56231 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XNumberLiteral__Group__0__Impl_in_rule__XNumberLiteral__Group__056266 = new BitSet(new long[]{0x00000000000000E0L});
+        public static final BitSet FOLLOW_rule__XNumberLiteral__Group__1_in_rule__XNumberLiteral__Group__056269 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XNumberLiteral__Group__1__Impl_in_rule__XNumberLiteral__Group__156327 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XNumberLiteral__ValueAssignment_1_in_rule__XNumberLiteral__Group__1__Impl56354 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XStringLiteral__Group__0__Impl_in_rule__XStringLiteral__Group__056388 = new BitSet(new long[]{0x0000000000000100L});
+        public static final BitSet FOLLOW_rule__XStringLiteral__Group__1_in_rule__XStringLiteral__Group__056391 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XStringLiteral__Group__1__Impl_in_rule__XStringLiteral__Group__156449 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XStringLiteral__ValueAssignment_1_in_rule__XStringLiteral__Group__1__Impl56476 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XTypeLiteral__Group__0__Impl_in_rule__XTypeLiteral__Group__056510 = new BitSet(new long[]{0x00080000000001E0L,0x6000000000000000L,0x0000000010001800L});
+        public static final BitSet FOLLOW_rule__XTypeLiteral__Group__1_in_rule__XTypeLiteral__Group__056513 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XTypeLiteral__Group__1__Impl_in_rule__XTypeLiteral__Group__156571 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L});
+        public static final BitSet FOLLOW_rule__XTypeLiteral__Group__2_in_rule__XTypeLiteral__Group__156574 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_140_in_rule__XTypeLiteral__Group__1__Impl56602 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XTypeLiteral__Group__2__Impl_in_rule__XTypeLiteral__Group__256633 = new BitSet(new long[]{0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__XTypeLiteral__Group__3_in_rule__XTypeLiteral__Group__256636 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_67_in_rule__XTypeLiteral__Group__2__Impl56664 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XTypeLiteral__Group__3__Impl_in_rule__XTypeLiteral__Group__356695 = new BitSet(new long[]{0x0000000000000000L,0x4000000000000010L});
+        public static final BitSet FOLLOW_rule__XTypeLiteral__Group__4_in_rule__XTypeLiteral__Group__356698 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XTypeLiteral__TypeAssignment_3_in_rule__XTypeLiteral__Group__3__Impl56725 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XTypeLiteral__Group__4__Impl_in_rule__XTypeLiteral__Group__456755 = new BitSet(new long[]{0x0000000000000000L,0x4000000000000010L});
+        public static final BitSet FOLLOW_rule__XTypeLiteral__Group__5_in_rule__XTypeLiteral__Group__456758 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XTypeLiteral__ArrayDimensionsAssignment_4_in_rule__XTypeLiteral__Group__4__Impl56785 = new BitSet(new long[]{0x0000000000000002L,0x4000000000000000L});
+        public static final BitSet FOLLOW_rule__XTypeLiteral__Group__5__Impl_in_rule__XTypeLiteral__Group__556816 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_68_in_rule__XTypeLiteral__Group__5__Impl56844 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XThrowExpression__Group__0__Impl_in_rule__XThrowExpression__Group__056887 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L});
+        public static final BitSet FOLLOW_rule__XThrowExpression__Group__1_in_rule__XThrowExpression__Group__056890 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XThrowExpression__Group__1__Impl_in_rule__XThrowExpression__Group__156948 = new BitSet(new long[]{0x020FC218100001F0L,0x6800000000000008L,0x000000001002FF8AL});
+        public static final BitSet FOLLOW_rule__XThrowExpression__Group__2_in_rule__XThrowExpression__Group__156951 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_141_in_rule__XThrowExpression__Group__1__Impl56979 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XThrowExpression__Group__2__Impl_in_rule__XThrowExpression__Group__257010 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XThrowExpression__ExpressionAssignment_2_in_rule__XThrowExpression__Group__2__Impl57037 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XReturnExpression__Group__0__Impl_in_rule__XReturnExpression__Group__057073 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000004000L});
+        public static final BitSet FOLLOW_rule__XReturnExpression__Group__1_in_rule__XReturnExpression__Group__057076 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XReturnExpression__Group__1__Impl_in_rule__XReturnExpression__Group__157134 = new BitSet(new long[]{0x020FC218100001F0L,0x6800000000000008L,0x000000001002FF8AL});
+        public static final BitSet FOLLOW_rule__XReturnExpression__Group__2_in_rule__XReturnExpression__Group__157137 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_142_in_rule__XReturnExpression__Group__1__Impl57165 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XReturnExpression__Group__2__Impl_in_rule__XReturnExpression__Group__257196 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XReturnExpression__ExpressionAssignment_2_in_rule__XReturnExpression__Group__2__Impl57223 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XTryCatchFinallyExpression__Group__0__Impl_in_rule__XTryCatchFinallyExpression__Group__057260 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000008000L});
+        public static final BitSet FOLLOW_rule__XTryCatchFinallyExpression__Group__1_in_rule__XTryCatchFinallyExpression__Group__057263 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XTryCatchFinallyExpression__Group__1__Impl_in_rule__XTryCatchFinallyExpression__Group__157321 = new BitSet(new long[]{0x020FC218100001F0L,0x6800000000000008L,0x000000001002FF8AL});
+        public static final BitSet FOLLOW_rule__XTryCatchFinallyExpression__Group__2_in_rule__XTryCatchFinallyExpression__Group__157324 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_143_in_rule__XTryCatchFinallyExpression__Group__1__Impl57352 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XTryCatchFinallyExpression__Group__2__Impl_in_rule__XTryCatchFinallyExpression__Group__257383 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000050000L});
+        public static final BitSet FOLLOW_rule__XTryCatchFinallyExpression__Group__3_in_rule__XTryCatchFinallyExpression__Group__257386 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XTryCatchFinallyExpression__ExpressionAssignment_2_in_rule__XTryCatchFinallyExpression__Group__2__Impl57413 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XTryCatchFinallyExpression__Group__3__Impl_in_rule__XTryCatchFinallyExpression__Group__357443 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XTryCatchFinallyExpression__Alternatives_3_in_rule__XTryCatchFinallyExpression__Group__3__Impl57470 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XTryCatchFinallyExpression__Group_3_0__0__Impl_in_rule__XTryCatchFinallyExpression__Group_3_0__057508 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000010000L});
+        public static final BitSet FOLLOW_rule__XTryCatchFinallyExpression__Group_3_0__1_in_rule__XTryCatchFinallyExpression__Group_3_0__057511 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0_in_rule__XTryCatchFinallyExpression__Group_3_0__0__Impl57540 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000040000L});
+        public static final BitSet FOLLOW_rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0_in_rule__XTryCatchFinallyExpression__Group_3_0__0__Impl57552 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000040000L});
+        public static final BitSet FOLLOW_rule__XTryCatchFinallyExpression__Group_3_0__1__Impl_in_rule__XTryCatchFinallyExpression__Group_3_0__157585 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XTryCatchFinallyExpression__Group_3_0_1__0_in_rule__XTryCatchFinallyExpression__Group_3_0__1__Impl57612 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XTryCatchFinallyExpression__Group_3_0_1__0__Impl_in_rule__XTryCatchFinallyExpression__Group_3_0_1__057647 = new BitSet(new long[]{0x020FC218100001F0L,0x6800000000000008L,0x000000001002FF8AL});
+        public static final BitSet FOLLOW_rule__XTryCatchFinallyExpression__Group_3_0_1__1_in_rule__XTryCatchFinallyExpression__Group_3_0_1__057650 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_144_in_rule__XTryCatchFinallyExpression__Group_3_0_1__0__Impl57679 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XTryCatchFinallyExpression__Group_3_0_1__1__Impl_in_rule__XTryCatchFinallyExpression__Group_3_0_1__157711 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1_in_rule__XTryCatchFinallyExpression__Group_3_0_1__1__Impl57738 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XTryCatchFinallyExpression__Group_3_1__0__Impl_in_rule__XTryCatchFinallyExpression__Group_3_1__057772 = new BitSet(new long[]{0x020FC218100001F0L,0x6800000000000008L,0x000000001002FF8AL});
+        public static final BitSet FOLLOW_rule__XTryCatchFinallyExpression__Group_3_1__1_in_rule__XTryCatchFinallyExpression__Group_3_1__057775 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_144_in_rule__XTryCatchFinallyExpression__Group_3_1__0__Impl57803 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XTryCatchFinallyExpression__Group_3_1__1__Impl_in_rule__XTryCatchFinallyExpression__Group_3_1__157834 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1_in_rule__XTryCatchFinallyExpression__Group_3_1__1__Impl57861 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XSynchronizedExpression__Group__0__Impl_in_rule__XSynchronizedExpression__Group__057895 = new BitSet(new long[]{0x020FC218100001F0L,0x6800000000000008L,0x000000001002FF8AL});
+        public static final BitSet FOLLOW_rule__XSynchronizedExpression__Group__1_in_rule__XSynchronizedExpression__Group__057898 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XSynchronizedExpression__Group_0__0_in_rule__XSynchronizedExpression__Group__0__Impl57925 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XSynchronizedExpression__Group__1__Impl_in_rule__XSynchronizedExpression__Group__157955 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__XSynchronizedExpression__Group__2_in_rule__XSynchronizedExpression__Group__157958 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XSynchronizedExpression__ParamAssignment_1_in_rule__XSynchronizedExpression__Group__1__Impl57985 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XSynchronizedExpression__Group__2__Impl_in_rule__XSynchronizedExpression__Group__258015 = new BitSet(new long[]{0x020FC218100001F0L,0x6800000000000008L,0x000000001002FF8AL});
+        public static final BitSet FOLLOW_rule__XSynchronizedExpression__Group__3_in_rule__XSynchronizedExpression__Group__258018 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_68_in_rule__XSynchronizedExpression__Group__2__Impl58046 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XSynchronizedExpression__Group__3__Impl_in_rule__XSynchronizedExpression__Group__358077 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XSynchronizedExpression__ExpressionAssignment_3_in_rule__XSynchronizedExpression__Group__3__Impl58104 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XSynchronizedExpression__Group_0__0__Impl_in_rule__XSynchronizedExpression__Group_0__058142 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XSynchronizedExpression__Group_0_0__0_in_rule__XSynchronizedExpression__Group_0__0__Impl58169 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XSynchronizedExpression__Group_0_0__0__Impl_in_rule__XSynchronizedExpression__Group_0_0__058201 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000020000L});
+        public static final BitSet FOLLOW_rule__XSynchronizedExpression__Group_0_0__1_in_rule__XSynchronizedExpression__Group_0_0__058204 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XSynchronizedExpression__Group_0_0__1__Impl_in_rule__XSynchronizedExpression__Group_0_0__158262 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L});
+        public static final BitSet FOLLOW_rule__XSynchronizedExpression__Group_0_0__2_in_rule__XSynchronizedExpression__Group_0_0__158265 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_145_in_rule__XSynchronizedExpression__Group_0_0__1__Impl58293 = new BitSet(new long[]{0x0000000000000002L});
+    }
+
+    protected static class FollowSets025 {
+        public static final BitSet FOLLOW_rule__XSynchronizedExpression__Group_0_0__2__Impl_in_rule__XSynchronizedExpression__Group_0_0__258324 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_67_in_rule__XSynchronizedExpression__Group_0_0__2__Impl58352 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XCatchClause__Group__0__Impl_in_rule__XCatchClause__Group__058389 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L});
+        public static final BitSet FOLLOW_rule__XCatchClause__Group__1_in_rule__XCatchClause__Group__058392 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_146_in_rule__XCatchClause__Group__0__Impl58421 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XCatchClause__Group__1__Impl_in_rule__XCatchClause__Group__158453 = new BitSet(new long[]{0x0000000100000010L,0x0000000000000008L});
+        public static final BitSet FOLLOW_rule__XCatchClause__Group__2_in_rule__XCatchClause__Group__158456 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_67_in_rule__XCatchClause__Group__1__Impl58484 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XCatchClause__Group__2__Impl_in_rule__XCatchClause__Group__258515 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__XCatchClause__Group__3_in_rule__XCatchClause__Group__258518 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XCatchClause__DeclaredParamAssignment_2_in_rule__XCatchClause__Group__2__Impl58545 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XCatchClause__Group__3__Impl_in_rule__XCatchClause__Group__358575 = new BitSet(new long[]{0x020FC218100001F0L,0x6800000000000008L,0x000000001002FF8AL});
+        public static final BitSet FOLLOW_rule__XCatchClause__Group__4_in_rule__XCatchClause__Group__358578 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_68_in_rule__XCatchClause__Group__3__Impl58606 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XCatchClause__Group__4__Impl_in_rule__XCatchClause__Group__458637 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XCatchClause__ExpressionAssignment_4_in_rule__XCatchClause__Group__4__Impl58664 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Number__Group_1__0__Impl_in_rule__Number__Group_1__058704 = new BitSet(new long[]{0x0000100000000000L});
+        public static final BitSet FOLLOW_rule__Number__Group_1__1_in_rule__Number__Group_1__058707 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Number__Alternatives_1_0_in_rule__Number__Group_1__0__Impl58734 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Number__Group_1__1__Impl_in_rule__Number__Group_1__158764 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Number__Group_1_1__0_in_rule__Number__Group_1__1__Impl58791 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Number__Group_1_1__0__Impl_in_rule__Number__Group_1_1__058826 = new BitSet(new long[]{0x00000000000000C0L});
+        public static final BitSet FOLLOW_rule__Number__Group_1_1__1_in_rule__Number__Group_1_1__058829 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_44_in_rule__Number__Group_1_1__0__Impl58857 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Number__Group_1_1__1__Impl_in_rule__Number__Group_1_1__158888 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Number__Alternatives_1_1_1_in_rule__Number__Group_1_1__1__Impl58915 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmTypeReference__Group_0__0__Impl_in_rule__JvmTypeReference__Group_0__058950 = new BitSet(new long[]{0x0000000000000000L,0x4000000000000000L});
+        public static final BitSet FOLLOW_rule__JvmTypeReference__Group_0__1_in_rule__JvmTypeReference__Group_0__058953 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleJvmParameterizedTypeReference_in_rule__JvmTypeReference__Group_0__0__Impl58980 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmTypeReference__Group_0__1__Impl_in_rule__JvmTypeReference__Group_0__159009 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmTypeReference__Group_0_1__0_in_rule__JvmTypeReference__Group_0__1__Impl59036 = new BitSet(new long[]{0x0000000000000002L,0x4000000000000000L});
+        public static final BitSet FOLLOW_rule__JvmTypeReference__Group_0_1__0__Impl_in_rule__JvmTypeReference__Group_0_1__059071 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmTypeReference__Group_0_1_0__0_in_rule__JvmTypeReference__Group_0_1__0__Impl59098 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmTypeReference__Group_0_1_0__0__Impl_in_rule__JvmTypeReference__Group_0_1_0__059130 = new BitSet(new long[]{0x0000000000000000L,0x4000000000000000L});
+        public static final BitSet FOLLOW_rule__JvmTypeReference__Group_0_1_0__1_in_rule__JvmTypeReference__Group_0_1_0__059133 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmTypeReference__Group_0_1_0__1__Impl_in_rule__JvmTypeReference__Group_0_1_0__159191 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleArrayBrackets_in_rule__JvmTypeReference__Group_0_1_0__1__Impl59218 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ArrayBrackets__Group__0__Impl_in_rule__ArrayBrackets__Group__059251 = new BitSet(new long[]{0x0000000000000000L,0x1000000000000000L});
+        public static final BitSet FOLLOW_rule__ArrayBrackets__Group__1_in_rule__ArrayBrackets__Group__059254 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_126_in_rule__ArrayBrackets__Group__0__Impl59282 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ArrayBrackets__Group__1__Impl_in_rule__ArrayBrackets__Group__159313 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_124_in_rule__ArrayBrackets__Group__1__Impl59341 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XFunctionTypeRef__Group__0__Impl_in_rule__XFunctionTypeRef__Group__059376 = new BitSet(new long[]{0x0000000100000010L,0x0000000000000008L});
+        public static final BitSet FOLLOW_rule__XFunctionTypeRef__Group__1_in_rule__XFunctionTypeRef__Group__059379 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XFunctionTypeRef__Group_0__0_in_rule__XFunctionTypeRef__Group__0__Impl59406 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XFunctionTypeRef__Group__1__Impl_in_rule__XFunctionTypeRef__Group__159437 = new BitSet(new long[]{0x0000000100000010L,0x0000000000000008L});
+        public static final BitSet FOLLOW_rule__XFunctionTypeRef__Group__2_in_rule__XFunctionTypeRef__Group__159440 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_32_in_rule__XFunctionTypeRef__Group__1__Impl59468 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XFunctionTypeRef__Group__2__Impl_in_rule__XFunctionTypeRef__Group__259499 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XFunctionTypeRef__ReturnTypeAssignment_2_in_rule__XFunctionTypeRef__Group__2__Impl59526 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XFunctionTypeRef__Group_0__0__Impl_in_rule__XFunctionTypeRef__Group_0__059562 = new BitSet(new long[]{0x0000000100000010L,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__XFunctionTypeRef__Group_0__1_in_rule__XFunctionTypeRef__Group_0__059565 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_67_in_rule__XFunctionTypeRef__Group_0__0__Impl59593 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XFunctionTypeRef__Group_0__1__Impl_in_rule__XFunctionTypeRef__Group_0__159624 = new BitSet(new long[]{0x0000000100000010L,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__XFunctionTypeRef__Group_0__2_in_rule__XFunctionTypeRef__Group_0__159627 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XFunctionTypeRef__Group_0_1__0_in_rule__XFunctionTypeRef__Group_0__1__Impl59654 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XFunctionTypeRef__Group_0__2__Impl_in_rule__XFunctionTypeRef__Group_0__259685 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_68_in_rule__XFunctionTypeRef__Group_0__2__Impl59713 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XFunctionTypeRef__Group_0_1__0__Impl_in_rule__XFunctionTypeRef__Group_0_1__059750 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L});
+        public static final BitSet FOLLOW_rule__XFunctionTypeRef__Group_0_1__1_in_rule__XFunctionTypeRef__Group_0_1__059753 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0_in_rule__XFunctionTypeRef__Group_0_1__0__Impl59780 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XFunctionTypeRef__Group_0_1__1__Impl_in_rule__XFunctionTypeRef__Group_0_1__159810 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XFunctionTypeRef__Group_0_1_1__0_in_rule__XFunctionTypeRef__Group_0_1__1__Impl59837 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000020L});
+        public static final BitSet FOLLOW_rule__XFunctionTypeRef__Group_0_1_1__0__Impl_in_rule__XFunctionTypeRef__Group_0_1_1__059872 = new BitSet(new long[]{0x0000000100000010L,0x0000000000000008L});
+        public static final BitSet FOLLOW_rule__XFunctionTypeRef__Group_0_1_1__1_in_rule__XFunctionTypeRef__Group_0_1_1__059875 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_69_in_rule__XFunctionTypeRef__Group_0_1_1__0__Impl59903 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XFunctionTypeRef__Group_0_1_1__1__Impl_in_rule__XFunctionTypeRef__Group_0_1_1__159934 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1_in_rule__XFunctionTypeRef__Group_0_1_1__1__Impl59961 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmParameterizedTypeReference__Group__0__Impl_in_rule__JvmParameterizedTypeReference__Group__059995 = new BitSet(new long[]{0x0000000010000000L});
+        public static final BitSet FOLLOW_rule__JvmParameterizedTypeReference__Group__1_in_rule__JvmParameterizedTypeReference__Group__059998 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmParameterizedTypeReference__TypeAssignment_0_in_rule__JvmParameterizedTypeReference__Group__0__Impl60025 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmParameterizedTypeReference__Group__1__Impl_in_rule__JvmParameterizedTypeReference__Group__160055 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmParameterizedTypeReference__Group_1__0_in_rule__JvmParameterizedTypeReference__Group__1__Impl60082 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmParameterizedTypeReference__Group_1__0__Impl_in_rule__JvmParameterizedTypeReference__Group_1__060117 = new BitSet(new long[]{0x0000000100000010L,0x0000000000000008L,0x0000000000080000L});
+        public static final BitSet FOLLOW_rule__JvmParameterizedTypeReference__Group_1__1_in_rule__JvmParameterizedTypeReference__Group_1__060120 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_28_in_rule__JvmParameterizedTypeReference__Group_1__0__Impl60149 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmParameterizedTypeReference__Group_1__1__Impl_in_rule__JvmParameterizedTypeReference__Group_1__160181 = new BitSet(new long[]{0x0000000008000000L,0x0000000000000020L});
+        public static final BitSet FOLLOW_rule__JvmParameterizedTypeReference__Group_1__2_in_rule__JvmParameterizedTypeReference__Group_1__160184 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1_in_rule__JvmParameterizedTypeReference__Group_1__1__Impl60211 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmParameterizedTypeReference__Group_1__2__Impl_in_rule__JvmParameterizedTypeReference__Group_1__260241 = new BitSet(new long[]{0x0000000008000000L,0x0000000000000020L});
+        public static final BitSet FOLLOW_rule__JvmParameterizedTypeReference__Group_1__3_in_rule__JvmParameterizedTypeReference__Group_1__260244 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmParameterizedTypeReference__Group_1_2__0_in_rule__JvmParameterizedTypeReference__Group_1__2__Impl60271 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000020L});
+        public static final BitSet FOLLOW_rule__JvmParameterizedTypeReference__Group_1__3__Impl_in_rule__JvmParameterizedTypeReference__Group_1__360302 = new BitSet(new long[]{0x0000100000000000L});
+        public static final BitSet FOLLOW_rule__JvmParameterizedTypeReference__Group_1__4_in_rule__JvmParameterizedTypeReference__Group_1__360305 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_27_in_rule__JvmParameterizedTypeReference__Group_1__3__Impl60333 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmParameterizedTypeReference__Group_1__4__Impl_in_rule__JvmParameterizedTypeReference__Group_1__460364 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmParameterizedTypeReference__Group_1_4__0_in_rule__JvmParameterizedTypeReference__Group_1__4__Impl60391 = new BitSet(new long[]{0x0000100000000002L});
+        public static final BitSet FOLLOW_rule__JvmParameterizedTypeReference__Group_1_2__0__Impl_in_rule__JvmParameterizedTypeReference__Group_1_2__060432 = new BitSet(new long[]{0x0000000100000010L,0x0000000000000008L,0x0000000000080000L});
+        public static final BitSet FOLLOW_rule__JvmParameterizedTypeReference__Group_1_2__1_in_rule__JvmParameterizedTypeReference__Group_1_2__060435 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_69_in_rule__JvmParameterizedTypeReference__Group_1_2__0__Impl60463 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmParameterizedTypeReference__Group_1_2__1__Impl_in_rule__JvmParameterizedTypeReference__Group_1_2__160494 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1_in_rule__JvmParameterizedTypeReference__Group_1_2__1__Impl60521 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmParameterizedTypeReference__Group_1_4__0__Impl_in_rule__JvmParameterizedTypeReference__Group_1_4__060555 = new BitSet(new long[]{0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__JvmParameterizedTypeReference__Group_1_4__1_in_rule__JvmParameterizedTypeReference__Group_1_4__060558 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmParameterizedTypeReference__Group_1_4_0__0_in_rule__JvmParameterizedTypeReference__Group_1_4__0__Impl60585 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmParameterizedTypeReference__Group_1_4__1__Impl_in_rule__JvmParameterizedTypeReference__Group_1_4__160615 = new BitSet(new long[]{0x0000000010000000L});
+        public static final BitSet FOLLOW_rule__JvmParameterizedTypeReference__Group_1_4__2_in_rule__JvmParameterizedTypeReference__Group_1_4__160618 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1_in_rule__JvmParameterizedTypeReference__Group_1_4__1__Impl60645 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmParameterizedTypeReference__Group_1_4__2__Impl_in_rule__JvmParameterizedTypeReference__Group_1_4__260675 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmParameterizedTypeReference__Group_1_4_2__0_in_rule__JvmParameterizedTypeReference__Group_1_4__2__Impl60702 = new BitSet(new long[]{0x0000000000000002L});
+    }
+
+    protected static class FollowSets026 {
+        public static final BitSet FOLLOW_rule__JvmParameterizedTypeReference__Group_1_4_0__0__Impl_in_rule__JvmParameterizedTypeReference__Group_1_4_0__060739 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmParameterizedTypeReference__Group_1_4_0_0__0_in_rule__JvmParameterizedTypeReference__Group_1_4_0__0__Impl60766 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmParameterizedTypeReference__Group_1_4_0_0__0__Impl_in_rule__JvmParameterizedTypeReference__Group_1_4_0_0__060798 = new BitSet(new long[]{0x0000100000000000L});
+        public static final BitSet FOLLOW_rule__JvmParameterizedTypeReference__Group_1_4_0_0__1_in_rule__JvmParameterizedTypeReference__Group_1_4_0_0__060801 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmParameterizedTypeReference__Group_1_4_0_0__1__Impl_in_rule__JvmParameterizedTypeReference__Group_1_4_0_0__160859 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_44_in_rule__JvmParameterizedTypeReference__Group_1_4_0_0__1__Impl60887 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmParameterizedTypeReference__Group_1_4_2__0__Impl_in_rule__JvmParameterizedTypeReference__Group_1_4_2__060922 = new BitSet(new long[]{0x0000000100000010L,0x0000000000000008L,0x0000000000080000L});
+        public static final BitSet FOLLOW_rule__JvmParameterizedTypeReference__Group_1_4_2__1_in_rule__JvmParameterizedTypeReference__Group_1_4_2__060925 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_28_in_rule__JvmParameterizedTypeReference__Group_1_4_2__0__Impl60954 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmParameterizedTypeReference__Group_1_4_2__1__Impl_in_rule__JvmParameterizedTypeReference__Group_1_4_2__160986 = new BitSet(new long[]{0x0000000008000000L,0x0000000000000020L});
+        public static final BitSet FOLLOW_rule__JvmParameterizedTypeReference__Group_1_4_2__2_in_rule__JvmParameterizedTypeReference__Group_1_4_2__160989 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1_in_rule__JvmParameterizedTypeReference__Group_1_4_2__1__Impl61016 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmParameterizedTypeReference__Group_1_4_2__2__Impl_in_rule__JvmParameterizedTypeReference__Group_1_4_2__261046 = new BitSet(new long[]{0x0000000008000000L,0x0000000000000020L});
+        public static final BitSet FOLLOW_rule__JvmParameterizedTypeReference__Group_1_4_2__3_in_rule__JvmParameterizedTypeReference__Group_1_4_2__261049 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmParameterizedTypeReference__Group_1_4_2_2__0_in_rule__JvmParameterizedTypeReference__Group_1_4_2__2__Impl61076 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000020L});
+        public static final BitSet FOLLOW_rule__JvmParameterizedTypeReference__Group_1_4_2__3__Impl_in_rule__JvmParameterizedTypeReference__Group_1_4_2__361107 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_27_in_rule__JvmParameterizedTypeReference__Group_1_4_2__3__Impl61135 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmParameterizedTypeReference__Group_1_4_2_2__0__Impl_in_rule__JvmParameterizedTypeReference__Group_1_4_2_2__061174 = new BitSet(new long[]{0x0000000100000010L,0x0000000000000008L,0x0000000000080000L});
+        public static final BitSet FOLLOW_rule__JvmParameterizedTypeReference__Group_1_4_2_2__1_in_rule__JvmParameterizedTypeReference__Group_1_4_2_2__061177 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_69_in_rule__JvmParameterizedTypeReference__Group_1_4_2_2__0__Impl61205 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmParameterizedTypeReference__Group_1_4_2_2__1__Impl_in_rule__JvmParameterizedTypeReference__Group_1_4_2_2__161236 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1_in_rule__JvmParameterizedTypeReference__Group_1_4_2_2__1__Impl61263 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmWildcardTypeReference__Group__0__Impl_in_rule__JvmWildcardTypeReference__Group__061297 = new BitSet(new long[]{0x0000000100000010L,0x0000000000000008L,0x0000000000080000L});
+        public static final BitSet FOLLOW_rule__JvmWildcardTypeReference__Group__1_in_rule__JvmWildcardTypeReference__Group__061300 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmWildcardTypeReference__Group__1__Impl_in_rule__JvmWildcardTypeReference__Group__161358 = new BitSet(new long[]{0x0004400000000000L});
+        public static final BitSet FOLLOW_rule__JvmWildcardTypeReference__Group__2_in_rule__JvmWildcardTypeReference__Group__161361 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_147_in_rule__JvmWildcardTypeReference__Group__1__Impl61389 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmWildcardTypeReference__Group__2__Impl_in_rule__JvmWildcardTypeReference__Group__261420 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmWildcardTypeReference__Alternatives_2_in_rule__JvmWildcardTypeReference__Group__2__Impl61447 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmWildcardTypeReference__Group_2_0__0__Impl_in_rule__JvmWildcardTypeReference__Group_2_0__061484 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000100000L});
+        public static final BitSet FOLLOW_rule__JvmWildcardTypeReference__Group_2_0__1_in_rule__JvmWildcardTypeReference__Group_2_0__061487 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0_in_rule__JvmWildcardTypeReference__Group_2_0__0__Impl61514 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmWildcardTypeReference__Group_2_0__1__Impl_in_rule__JvmWildcardTypeReference__Group_2_0__161544 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1_in_rule__JvmWildcardTypeReference__Group_2_0__1__Impl61571 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000100000L});
+        public static final BitSet FOLLOW_rule__JvmWildcardTypeReference__Group_2_1__0__Impl_in_rule__JvmWildcardTypeReference__Group_2_1__061606 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000100000L});
+        public static final BitSet FOLLOW_rule__JvmWildcardTypeReference__Group_2_1__1_in_rule__JvmWildcardTypeReference__Group_2_1__061609 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0_in_rule__JvmWildcardTypeReference__Group_2_1__0__Impl61636 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmWildcardTypeReference__Group_2_1__1__Impl_in_rule__JvmWildcardTypeReference__Group_2_1__161666 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1_in_rule__JvmWildcardTypeReference__Group_2_1__1__Impl61693 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000100000L});
+        public static final BitSet FOLLOW_rule__JvmUpperBound__Group__0__Impl_in_rule__JvmUpperBound__Group__061728 = new BitSet(new long[]{0x0000000100000010L,0x0000000000000008L});
+        public static final BitSet FOLLOW_rule__JvmUpperBound__Group__1_in_rule__JvmUpperBound__Group__061731 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_46_in_rule__JvmUpperBound__Group__0__Impl61759 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmUpperBound__Group__1__Impl_in_rule__JvmUpperBound__Group__161790 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmUpperBound__TypeReferenceAssignment_1_in_rule__JvmUpperBound__Group__1__Impl61817 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmUpperBoundAnded__Group__0__Impl_in_rule__JvmUpperBoundAnded__Group__061851 = new BitSet(new long[]{0x0000000100000010L,0x0000000000000008L});
+        public static final BitSet FOLLOW_rule__JvmUpperBoundAnded__Group__1_in_rule__JvmUpperBoundAnded__Group__061854 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_148_in_rule__JvmUpperBoundAnded__Group__0__Impl61882 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmUpperBoundAnded__Group__1__Impl_in_rule__JvmUpperBoundAnded__Group__161913 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmUpperBoundAnded__TypeReferenceAssignment_1_in_rule__JvmUpperBoundAnded__Group__1__Impl61940 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmLowerBound__Group__0__Impl_in_rule__JvmLowerBound__Group__061974 = new BitSet(new long[]{0x0000000100000010L,0x0000000000000008L});
+        public static final BitSet FOLLOW_rule__JvmLowerBound__Group__1_in_rule__JvmLowerBound__Group__061977 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_50_in_rule__JvmLowerBound__Group__0__Impl62005 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmLowerBound__Group__1__Impl_in_rule__JvmLowerBound__Group__162036 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmLowerBound__TypeReferenceAssignment_1_in_rule__JvmLowerBound__Group__1__Impl62063 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmLowerBoundAnded__Group__0__Impl_in_rule__JvmLowerBoundAnded__Group__062097 = new BitSet(new long[]{0x0000000100000010L,0x0000000000000008L});
+        public static final BitSet FOLLOW_rule__JvmLowerBoundAnded__Group__1_in_rule__JvmLowerBoundAnded__Group__062100 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_148_in_rule__JvmLowerBoundAnded__Group__0__Impl62128 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmLowerBoundAnded__Group__1__Impl_in_rule__JvmLowerBoundAnded__Group__162159 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__JvmLowerBoundAnded__TypeReferenceAssignment_1_in_rule__JvmLowerBoundAnded__Group__1__Impl62186 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__QualifiedNameWithWildcard__Group__0__Impl_in_rule__QualifiedNameWithWildcard__Group__062222 = new BitSet(new long[]{0x0000100000000000L});
+        public static final BitSet FOLLOW_rule__QualifiedNameWithWildcard__Group__1_in_rule__QualifiedNameWithWildcard__Group__062225 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleQualifiedName_in_rule__QualifiedNameWithWildcard__Group__0__Impl62252 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__QualifiedNameWithWildcard__Group__1__Impl_in_rule__QualifiedNameWithWildcard__Group__162281 = new BitSet(new long[]{0x0000002000000000L});
+        public static final BitSet FOLLOW_rule__QualifiedNameWithWildcard__Group__2_in_rule__QualifiedNameWithWildcard__Group__162284 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_44_in_rule__QualifiedNameWithWildcard__Group__1__Impl62312 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__QualifiedNameWithWildcard__Group__2__Impl_in_rule__QualifiedNameWithWildcard__Group__262343 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_37_in_rule__QualifiedNameWithWildcard__Group__2__Impl62371 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XImportDeclaration__Group__0__Impl_in_rule__XImportDeclaration__Group__062408 = new BitSet(new long[]{0x0000800000000010L});
+        public static final BitSet FOLLOW_rule__XImportDeclaration__Group__1_in_rule__XImportDeclaration__Group__062411 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_48_in_rule__XImportDeclaration__Group__0__Impl62439 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XImportDeclaration__Group__1__Impl_in_rule__XImportDeclaration__Group__162470 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000001L});
+        public static final BitSet FOLLOW_rule__XImportDeclaration__Group__2_in_rule__XImportDeclaration__Group__162473 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XImportDeclaration__Alternatives_1_in_rule__XImportDeclaration__Group__1__Impl62500 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XImportDeclaration__Group__2__Impl_in_rule__XImportDeclaration__Group__262530 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_128_in_rule__XImportDeclaration__Group__2__Impl62559 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XImportDeclaration__Group_1_0__0__Impl_in_rule__XImportDeclaration__Group_1_0__062598 = new BitSet(new long[]{0x0002000000000010L});
+        public static final BitSet FOLLOW_rule__XImportDeclaration__Group_1_0__1_in_rule__XImportDeclaration__Group_1_0__062601 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XImportDeclaration__StaticAssignment_1_0_0_in_rule__XImportDeclaration__Group_1_0__0__Impl62628 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XImportDeclaration__Group_1_0__1__Impl_in_rule__XImportDeclaration__Group_1_0__162658 = new BitSet(new long[]{0x0002000000000010L});
+        public static final BitSet FOLLOW_rule__XImportDeclaration__Group_1_0__2_in_rule__XImportDeclaration__Group_1_0__162661 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XImportDeclaration__ExtensionAssignment_1_0_1_in_rule__XImportDeclaration__Group_1_0__1__Impl62688 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XImportDeclaration__Group_1_0__2__Impl_in_rule__XImportDeclaration__Group_1_0__262719 = new BitSet(new long[]{0x0000002000000010L});
+        public static final BitSet FOLLOW_rule__XImportDeclaration__Group_1_0__3_in_rule__XImportDeclaration__Group_1_0__262722 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XImportDeclaration__ImportedTypeAssignment_1_0_2_in_rule__XImportDeclaration__Group_1_0__2__Impl62749 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XImportDeclaration__Group_1_0__3__Impl_in_rule__XImportDeclaration__Group_1_0__362779 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__XImportDeclaration__Alternatives_1_0_3_in_rule__XImportDeclaration__Group_1_0__3__Impl62806 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__QualifiedNameInStaticImport__Group__0__Impl_in_rule__QualifiedNameInStaticImport__Group__062844 = new BitSet(new long[]{0x0000100000000000L});
+        public static final BitSet FOLLOW_rule__QualifiedNameInStaticImport__Group__1_in_rule__QualifiedNameInStaticImport__Group__062847 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleValidID_in_rule__QualifiedNameInStaticImport__Group__0__Impl62874 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__QualifiedNameInStaticImport__Group__1__Impl_in_rule__QualifiedNameInStaticImport__Group__162903 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_44_in_rule__QualifiedNameInStaticImport__Group__1__Impl62931 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEntityMockPackage_in_rule__EntityMockModel__PackagesAssignment62971 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEntityModelImport_in_rule__EntityMockPackage__ImportsAssignment_163002 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_INT_in_rule__EntityMockPackage__RunPriorityAssignment_3_163033 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEntityModelImport_in_rule__EntityMockPackage__ImportsAssignment_4_163064 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleRunningDataInterchanges_in_rule__EntityMockPackage__DatainterchangesAssignment_563095 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEntityMockResources_in_rule__EntityMockPackage__ResourcesAssignment_663126 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEntityMockObjects_in_rule__EntityMockPackage__ObjectsAssignment_763157 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEntityMockDataTypes_in_rule__EntityMockPackage__DatatypesAssignment_863188 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEntityMockEntities_in_rule__EntityMockPackage__EntitiesAssignment_963219 = new BitSet(new long[]{0x0000000000000002L});
+    }
+
+    protected static class FollowSets027 {
+        public static final BitSet FOLLOW_ruleEntityMockQualifiedNameWithWildCard_in_rule__EntityModelImport__ImportedNamespaceAssignment63250 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleRunningDataInterchange_in_rule__RunningDataInterchanges__DatainterchangesAssignment_363281 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_ID_in_rule__RunningDataInterchange__DatainterchangeRefAssignment_263316 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_STRING_in_rule__RunningDataInterchange__FileURLAssignment_463351 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEntityMockResource_in_rule__EntityMockResources__ResourcesAssignment_363382 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleQualifiedName_in_rule__EntityMockResource__NameAssignment_163413 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEntityMockResourceAttribute_in_rule__EntityMockResource__AttributesAssignment_3_2_063444 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEntityMockResourceDataRow_in_rule__EntityMockResource__DatarowsAssignment_663475 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleQualifiedName_in_rule__EntityMockResourceAttribute__NameAssignment_163506 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleQualifiedName_in_rule__EntityMockResourceDataRow__NameAssignment_163537 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_STRING_in_rule__EntityMockResourceDataRow__ValuesAssignment_2_1_063568 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEntityMockObject_in_rule__EntityMockObjects__ObjectsAssignment_363599 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleQualifiedName_in_rule__EntityMockObject__NameAssignment_163630 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEntityMockObjectEnum_in_rule__EntityMockObject__EnumerationsAssignment_363661 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleIEntityMockObjectAttribute_in_rule__EntityMockObject__AttributesAssignment_463692 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEntityMockObjectFunction_in_rule__EntityMockObject__CalculationsAssignment_563723 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleQualifiedName_in_rule__EntityMockObjectEnum__NameAssignment_163754 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_ID_in_rule__EntityMockObjectEnum__UsingResourceAssignment_363789 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEntityMockDataType_in_rule__EntityMockDataTypes__DatatypesAssignment_363824 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleQualifiedName_in_rule__EntityMockObjectPlainValue__NameAssignment_163855 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_STRING_in_rule__EntityMockObjectPlainValue__ValuesAssignment_3_063886 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleQualifiedName_in_rule__EntityMockObjectResourceValue__NameAssignment_163917 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_ID_in_rule__EntityMockObjectResourceValue__ResourceEnumAssignment_363952 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_ID_in_rule__EntityMockObjectResourceValue__ResourceAttributeAssignment_4_163991 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleQualifiedName_in_rule__EntityMockObjectArrayValue__NameAssignment_164026 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_ID_in_rule__EntityMockObjectArrayValue__EnumerationAssignment_364061 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEntityMockObjectItemValue_in_rule__EntityMockObjectArrayValue__ItemsAssignment_564096 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_ID_in_rule__EntityMockObjectItemValue__DatarowAssignment_164131 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_STRING_in_rule__EntityMockObjectItemValue__ValuesAssignment_3_064166 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleQualifiedName_in_rule__EntityMockObjectEmbed__NameAssignment_264197 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_ID_in_rule__EntityMockObjectEmbed__ObjectAssignment_464232 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleQualifiedName_in_rule__EntityMockObjectFunction__NameAssignment_164267 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleJvmParameterizedTypeReference_in_rule__EntityMockObjectFunction__OftypeAssignment_364298 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEntityMockObjectFunctionParameter_in_rule__EntityMockObjectFunction__ParamsAssignment_6_064329 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEntityMockObjectFunctionParameter_in_rule__EntityMockObjectFunction__ParamsAssignment_6_1_164360 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXBlockExpression_in_rule__EntityMockObjectFunction__BodyAssignment_864391 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleJvmTypeReference_in_rule__EntityMockObjectFunctionParameter__ParameterTypeAssignment_064422 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_ID_in_rule__EntityMockObjectFunctionParameter__NameAssignment_164457 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleQualifiedName_in_rule__EntityMockObjectFill__NameAssignment_164492 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePropertyFillerType_in_rule__EntityMockObjectFill__FillerTypeAssignment_364523 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_INT_in_rule__PropertyFillerDateFuture__DateFutureYearsAssignment_164554 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_INT_in_rule__PropertyFillerDatePast__DatePastYearsAssignment_164585 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleSINT_in_rule__PropertyFillerDateRange__DateBeginYearsAssignment_164616 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleSINT_in_rule__PropertyFillerDateRange__DateEndYearsAssignment_364647 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleSignedNumber_in_rule__PropertyFillerSignedDoubleRange__BeginRangeAssignment_1_0_064678 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_ID_in_rule__PropertyFillerSignedDoubleRange__BeginRangeRefAssignment_1_0_164713 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleSignedNumber_in_rule__PropertyFillerSignedDoubleRange__EndRangeAssignment_1_2_064748 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_ID_in_rule__PropertyFillerSignedDoubleRange__EndRangeRefAssignment_1_2_164783 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_INT_in_rule__PropertyFillerSignedDoubleRange__DecimalsAssignment_364818 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleUnsignedNumber_in_rule__PropertyFillerSignedDoubleRange__RoundedAssignment_5_164849 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleSignedNumber_in_rule__PropertyFillerSignedDoubleRandom__ItemsAssignment_264880 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleSINT_in_rule__PropertyFillerSignedIntegerRange__BeginRangeAssignment_2_0_064911 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_ID_in_rule__PropertyFillerSignedIntegerRange__BeginRangeRefAssignment_2_0_164946 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleSINT_in_rule__PropertyFillerSignedIntegerRange__EndRangeAssignment_2_2_064981 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_ID_in_rule__PropertyFillerSignedIntegerRange__EndRangeRefAssignment_2_2_165016 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_INT_in_rule__PropertyFillerSignedIntegerRange__RoundedAssignment_3_165051 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleSINT_in_rule__PropertyFillerSignedIntegerRandom__ItemsAssignment_265082 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_STRING_in_rule__PropertyFillerTextRandom__ItemsAssignment_265113 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_INT_in_rule__PropertyFillerTextParagraphs__CountAssignment_265144 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_INT_in_rule__PropertyFillerTextSentences__CountAssignment_265175 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_INT_in_rule__PropertyFillerTextWords__CountAssignment_265206 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleUnsignedNumber_in_rule__PropertyFillerUnsignedDoubleRange__BeginRangeAssignment_1_0_065237 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_ID_in_rule__PropertyFillerUnsignedDoubleRange__BeginRangeRefAssignment_1_0_165272 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleUnsignedNumber_in_rule__PropertyFillerUnsignedDoubleRange__EndRangeAssignment_1_2_065307 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_ID_in_rule__PropertyFillerUnsignedDoubleRange__EndRangeRefAssignment_1_2_165342 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_INT_in_rule__PropertyFillerUnsignedDoubleRange__DecimalsAssignment_365377 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleUnsignedNumber_in_rule__PropertyFillerUnsignedDoubleRange__RoundedAssignment_5_165408 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleUnsignedNumber_in_rule__PropertyFillerUnsignedDoubleRandom__ItemsAssignment_265439 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_INT_in_rule__PropertyFillerUnsignedIntegerRange__BeginRangeAssignment_2_0_065470 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_ID_in_rule__PropertyFillerUnsignedIntegerRange__BeginRangeRefAssignment_2_0_165505 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_INT_in_rule__PropertyFillerUnsignedIntegerRange__EndRangeAssignment_2_2_065540 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_ID_in_rule__PropertyFillerUnsignedIntegerRange__EndRangeRefAssignment_2_2_165575 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_INT_in_rule__PropertyFillerUnsignedIntegerRange__RoundedAssignment_3_165610 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_INT_in_rule__PropertyFillerUnsignedIntegerRandom__ItemsAssignment_265641 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleQualifiedName_in_rule__EntityMockDataType__NameAssignment_165672 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEntityMockEntity_in_rule__EntityMockEntities__EntitiesAssignment_365703 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleQualifiedName_in_rule__EntityMockEntity__NameAssignment_165734 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_ID_in_rule__EntityMockEntity__EntityRefAssignment_365769 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_INT_in_rule__EntityMockEntity__MinRowsAssignment_4_0_165804 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_INT_in_rule__EntityMockEntity__MaxRowsAssignment_4_0_365835 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEntityMockTemporary_in_rule__EntityMockEntity__TemporariesAssignment_4_0_565866 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleIEntityMockAttribute_in_rule__EntityMockEntity__AttributesAssignment_4_0_665897 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEntityMockEntityFunction_in_rule__EntityMockEntity__CalculationsAssignment_4_0_765928 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_ID_in_rule__EntityMockEntity__ByResourceAssignment_4_1_165963 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEntityMockByResourceAttribute_in_rule__EntityMockEntity__ByResourceAttributesAssignment_4_1_365998 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_149_in_rule__EntityMockEntity__CreateBlobMappingAssignment_4_1_466034 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_ID_in_rule__EntityMockEntity__IteratorAssignment_4_2_166077 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleIIterate_in_rule__EntityMockEntity__IterateAssignment_4_2_366112 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEntityMockTemporary_in_rule__EntityMockEntity__TemporariesAssignment_4_2_566143 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleIEntityMockAttribute_in_rule__EntityMockEntity__AttributesAssignment_4_2_666174 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEntityMockEntityFunction_in_rule__EntityMockEntity__CalculationsAssignment_4_2_766205 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleSINT_in_rule__IntegerIterate__FromAssignment_166236 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleSINT_in_rule__IntegerIterate__UntilAssignment_366267 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_INT_in_rule__IntegerIterate__StepAssignment_566298 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleDate_in_rule__DateIterate__FromAssignment_166329 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleDate_in_rule__DateIterate__UntilAssignment_366360 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_INT_in_rule__DateIterate__StepCountAssignment_566391 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEDateStepType_in_rule__DateIterate__StepTypeAssignment_666422 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_150_in_rule__Date__YesterdayAssignment_066458 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_151_in_rule__Date__TodayAssignment_166502 = new BitSet(new long[]{0x0000000000000002L});
+    }
+
+    protected static class FollowSets028 {
+        public static final BitSet FOLLOW_152_in_rule__Date__TomorrowAssignment_266546 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_INT_in_rule__Date__YearAssignment_3_066585 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_INT_in_rule__Date__MonthAssignment_3_266616 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_INT_in_rule__Date__DayAssignment_3_466647 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_ID_in_rule__EntityMockByResourceAttribute__AttributeRefAssignment_266682 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_ID_in_rule__EntityMockByResourceAttribute__ResourceAttributeAssignment_466721 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleQualifiedName_in_rule__EntityMockTemporary__NameAssignment_166756 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_ID_in_rule__EntityMockTemporary__ObjectAssignment_366791 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_ID_in_rule__EntityMockEntityFunction__AttributeRefAssignment_166830 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEntityMockEntityFunctionParameter_in_rule__EntityMockEntityFunction__ParamsAssignment_4_066865 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEntityMockEntityFunctionParameter_in_rule__EntityMockEntityFunction__ParamsAssignment_4_1_166896 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXBlockExpression_in_rule__EntityMockEntityFunction__BodyAssignment_666927 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_ID_in_rule__EntityMockEntityFunctionParameter__AttributeRefAssignment_066962 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_ID_in_rule__EntityMockEntityFunctionParameter__ReferencePathsAssignment_1_067001 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_ID_in_rule__EntityMockEntityFunctionParameter__ReferencePathsAssignment_1_1_167040 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_ID_in_rule__EntityMockEntityFunctionParameter__ReferenceRefAssignment_1_367079 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_ID_in_rule__EntityMockReferencedObjectAttribute__TemporaryAssignment_167118 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_ID_in_rule__EntityMockReferencedObjectAttribute__EmbeddedAssignment_2_167157 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_ID_in_rule__EntityMockReferencedObjectAttribute__AttributeAssignment_467196 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_ID_in_rule__EntityMockAttributeByObject__AttributeRefAssignment_0_167235 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEntityMockReferencedObjectAttribute_in_rule__EntityMockAttributeByObject__ReferenceAssignment_0_2_167270 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_ID_in_rule__EntityMockAttributeByObject__ResourceEnumAssignment_1_167305 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_ID_in_rule__EntityMockAttributeByObject__ResourceAttributeAssignment_1_367344 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_ID_in_rule__EntityMockAttributeFiller__AttributeRefAssignment_167383 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePropertyFillerType_in_rule__EntityMockAttributeFiller__FillerTypeAssignment_367418 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_ID_in_rule__EntityMockAttributeByReference__AttributeRefAssignment_167453 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_ID_in_rule__EntityMockAttributeByReference__MockedEntityAssignment_3_167492 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_INT_in_rule__EntityMockAttributeByReference__OptionalForAssignment_4_167527 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleQualifiedName_in_rule__XAnnotation__AnnotationTypeAssignment_267562 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXAnnotationElementValuePair_in_rule__XAnnotation__ElementValuePairsAssignment_3_1_0_067597 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXAnnotationElementValuePair_in_rule__XAnnotation__ElementValuePairsAssignment_3_1_0_1_167628 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXAnnotationElementValueOrCommaList_in_rule__XAnnotation__ValueAssignment_3_1_167659 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleValidID_in_rule__XAnnotationElementValuePair__ElementAssignment_0_0_067694 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXAnnotationElementValue_in_rule__XAnnotationElementValuePair__ValueAssignment_167729 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXAnnotationOrExpression_in_rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_067760 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXAnnotationOrExpression_in_rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_1_167791 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXAnnotationOrExpression_in_rule__XAnnotationElementValueOrCommaList__ElementsAssignment_1_1_1_167822 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXAnnotationOrExpression_in_rule__XAnnotationElementValue__ElementsAssignment_0_1_067853 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXAnnotationOrExpression_in_rule__XAnnotationElementValue__ElementsAssignment_0_1_1_167884 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleFeatureCallID_in_rule__XAssignment__FeatureAssignment_0_167919 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXAssignment_in_rule__XAssignment__ValueAssignment_0_367954 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleOpMultiAssign_in_rule__XAssignment__FeatureAssignment_1_1_0_0_167989 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXAssignment_in_rule__XAssignment__RightOperandAssignment_1_1_168024 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleOpOr_in_rule__XOrExpression__FeatureAssignment_1_0_0_168059 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXAndExpression_in_rule__XOrExpression__RightOperandAssignment_1_168094 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleOpAnd_in_rule__XAndExpression__FeatureAssignment_1_0_0_168129 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXEqualityExpression_in_rule__XAndExpression__RightOperandAssignment_1_168164 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleOpEquality_in_rule__XEqualityExpression__FeatureAssignment_1_0_0_168199 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXRelationalExpression_in_rule__XEqualityExpression__RightOperandAssignment_1_168234 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleJvmTypeReference_in_rule__XRelationalExpression__TypeAssignment_1_0_168265 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleOpCompare_in_rule__XRelationalExpression__FeatureAssignment_1_1_0_0_168300 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXOtherOperatorExpression_in_rule__XRelationalExpression__RightOperandAssignment_1_1_168335 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleOpOther_in_rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_168370 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXAdditiveExpression_in_rule__XOtherOperatorExpression__RightOperandAssignment_1_168405 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleOpAdd_in_rule__XAdditiveExpression__FeatureAssignment_1_0_0_168440 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXMultiplicativeExpression_in_rule__XAdditiveExpression__RightOperandAssignment_1_168475 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleOpMulti_in_rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_168510 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXUnaryOperation_in_rule__XMultiplicativeExpression__RightOperandAssignment_1_168545 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleOpUnary_in_rule__XUnaryOperation__FeatureAssignment_0_168580 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXUnaryOperation_in_rule__XUnaryOperation__OperandAssignment_0_268615 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleJvmTypeReference_in_rule__XCastedExpression__TypeAssignment_1_168646 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleOpPostfix_in_rule__XPostfixOperation__FeatureAssignment_1_0_168681 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_153_in_rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_168721 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleFeatureCallID_in_rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_268764 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXAssignment_in_rule__XMemberFeatureCall__ValueAssignment_1_0_168799 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_154_in_rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_168835 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_153_in_rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_268879 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleJvmArgumentTypeReference_in_rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_168918 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleJvmArgumentTypeReference_in_rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_168949 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleIdOrSuper_in_rule__XMemberFeatureCall__FeatureAssignment_1_1_268984 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_67_in_rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_069024 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXShortClosure_in_rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_069063 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXExpression_in_rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_069094 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXExpression_in_rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_169125 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXClosure_in_rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_469156 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXExpression_in_rule__XSetLiteral__ElementsAssignment_3_069187 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXExpression_in_rule__XSetLiteral__ElementsAssignment_3_1_169218 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXExpression_in_rule__XListLiteral__ElementsAssignment_3_069249 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXExpression_in_rule__XListLiteral__ElementsAssignment_3_1_169280 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleJvmFormalParameter_in_rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_069311 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleJvmFormalParameter_in_rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_169342 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_155_in_rule__XClosure__ExplicitSyntaxAssignment_1_0_169378 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleXExpressionInClosure_in_rule__XClosure__ExpressionAssignment_269417 = new BitSet(new long[]{0x0000000000000002L});
diff --git a/org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/internal/EntityMockDSLActivator.java b/org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/internal/EntityMockDSLActivator.java
new file mode 100644
index 0000000..5c13e58
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.ui/src-gen/org/eclipse/osbp/xtext/entitymock/ui/internal/EntityMockDSLActivator.java
@@ -0,0 +1,106 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  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:                                                      
+ * 	   Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ * 
+ */
+
+package org.eclipse.osbp.xtext.entitymock.ui.internal;
+
+import java.util.Collections;
+import java.util.Map;
+
+import org.apache.log4j.Logger;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.eclipse.xtext.ui.shared.SharedStateModule;
+import org.eclipse.xtext.util.Modules2;
+import org.osgi.framework.BundleContext;
+
+import com.google.common.collect.Maps;
+import com.google.inject.Guice;
+import com.google.inject.Injector;
+import com.google.inject.Module;
+
+/**
+ * This class was generated. Customizations should only happen in a newly
+ * introduced subclass. 
+ */
+public class EntityMockDSLActivator extends AbstractUIPlugin {
+	
+	public static final String ORG_ECLIPSE_OSBP_XTEXT_ENTITYMOCK_ENTITYMOCKDSL = "org.eclipse.osbp.xtext.entitymock.EntityMockDSL";
+	
+	private static final Logger logger = Logger.getLogger(EntityMockDSLActivator.class);
+	
+	private static EntityMockDSLActivator INSTANCE;
+	
+	private Map<String, Injector> injectors = Collections.synchronizedMap(Maps.<String, Injector> newHashMapWithExpectedSize(1));
+	
+	@Override
+	public void start(BundleContext context) throws Exception {
+		super.start(context);
+		INSTANCE = this;
+	}
+	
+	@Override
+	public void stop(BundleContext context) throws Exception {
+		injectors.clear();
+		INSTANCE = null;
+		super.stop(context);
+	}
+	
+	public static EntityMockDSLActivator getInstance() {
+		return INSTANCE;
+	}
+	
+	public Injector getInjector(String language) {
+		synchronized (injectors) {
+			Injector injector = injectors.get(language);
+			if (injector == null) {
+				injectors.put(language, injector = createInjector(language));
+			}
+			return injector;
+		}
+	}
+	
+	protected Injector createInjector(String language) {
+		try {
+			Module runtimeModule = getRuntimeModule(language);
+			Module sharedStateModule = getSharedStateModule();
+			Module uiModule = getUiModule(language);
+			Module mergedModule = Modules2.mixin(runtimeModule, sharedStateModule, uiModule);
+			return Guice.createInjector(mergedModule);
+		} catch (Exception e) {
+			logger.error("Failed to create injector for " + language);
+			logger.error(e.getMessage(), e);
+			throw new RuntimeException("Failed to create injector for " + language, e);
+		}
+	}
+
+	protected Module getRuntimeModule(String grammar) {
+		if (ORG_ECLIPSE_OSBP_XTEXT_ENTITYMOCK_ENTITYMOCKDSL.equals(grammar)) {
+			return new org.eclipse.osbp.xtext.entitymock.EntityMockDSLRuntimeModule();
+		}
+		
+		throw new IllegalArgumentException(grammar);
+	}
+	
+	protected Module getUiModule(String grammar) {
+		if (ORG_ECLIPSE_OSBP_XTEXT_ENTITYMOCK_ENTITYMOCKDSL.equals(grammar)) {
+			return new org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLUiModule(this);
+		}
+		
+		throw new IllegalArgumentException(grammar);
+	}
+	
+	protected Module getSharedStateModule() {
+		return new SharedStateModule();
+	}
+	
+}
diff --git a/org.eclipse.osbp.xtext.entitymock.ui/src/org/eclipse/osbp/xtext/entitymock/ui/EntityMockDSLEObjectHover.java b/org.eclipse.osbp.xtext.entitymock.ui/src/org/eclipse/osbp/xtext/entitymock/ui/EntityMockDSLEObjectHover.java
new file mode 100644
index 0000000..52fd326
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.ui/src/org/eclipse/osbp/xtext/entitymock/ui/EntityMockDSLEObjectHover.java
@@ -0,0 +1,26 @@
+/**
+ *                                                                            
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *                                                                            
+ * 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:   
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation 
+ */
+package org.eclipse.osbp.xtext.entitymock.ui;
+
+import org.eclipse.xtext.ui.editor.hover.IEObjectHoverProvider;
+
+import org.eclipse.osbp.xtext.basic.ui.BasicDSLEObjectHover;
+
+
+public class EntityMockDSLEObjectHover extends BasicDSLEObjectHover {
+
+    @Override
+    public IEObjectHoverProvider getHoverProvider() {
+        return EntityMockDSLEObjectHoverProvider.instance();
+    }
+}
diff --git a/org.eclipse.osbp.xtext.entitymock.ui/src/org/eclipse/osbp/xtext/entitymock/ui/EntityMockDSLEObjectHoverDocumentationProvider.java b/org.eclipse.osbp.xtext.entitymock.ui/src/org/eclipse/osbp/xtext/entitymock/ui/EntityMockDSLEObjectHoverDocumentationProvider.java
new file mode 100644
index 0000000..2990c19
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.ui/src/org/eclipse/osbp/xtext/entitymock/ui/EntityMockDSLEObjectHoverDocumentationProvider.java
@@ -0,0 +1,35 @@
+/**
+ *                                                                            
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *                                                                            
+ * 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:   
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation 
+ */
+package org.eclipse.osbp.xtext.entitymock.ui;
+
+import org.eclipse.osbp.xtext.basic.ui.BasicDSLDocumentationTranslator;
+import org.eclipse.osbp.xtext.basic.ui.BasicDSLEObjectHoverDocumentationProvider;
+
+public class EntityMockDSLEObjectHoverDocumentationProvider extends BasicDSLEObjectHoverDocumentationProvider {
+
+    private static EntityMockDSLEObjectHoverDocumentationProvider INSTANCE;
+
+    public static EntityMockDSLEObjectHoverDocumentationProvider instance() {
+        return INSTANCE;
+    }
+    
+    public EntityMockDSLEObjectHoverDocumentationProvider() {
+        super();
+        INSTANCE = this;
+    }
+
+    @Override
+    protected BasicDSLDocumentationTranslator getTranslator() {
+        return EntityMockDSLUiDocumentationTranslator.instance();
+    }
+}
diff --git a/org.eclipse.osbp.xtext.entitymock.ui/src/org/eclipse/osbp/xtext/entitymock/ui/EntityMockDSLEObjectHoverProvider.java b/org.eclipse.osbp.xtext.entitymock.ui/src/org/eclipse/osbp/xtext/entitymock/ui/EntityMockDSLEObjectHoverProvider.java
new file mode 100644
index 0000000..60ee6a2
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.ui/src/org/eclipse/osbp/xtext/entitymock/ui/EntityMockDSLEObjectHoverProvider.java
@@ -0,0 +1,37 @@
+/**
+ *                                                                            
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *                                                                            
+ * 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:   
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation 
+ */
+package org.eclipse.osbp.xtext.entitymock.ui;
+
+import org.eclipse.xtext.ui.editor.hover.html.IEObjectHoverDocumentationProvider;
+
+import org.eclipse.osbp.xtext.basic.ui.BasicDSLEObjectHoverProvider;
+
+
+public class EntityMockDSLEObjectHoverProvider extends BasicDSLEObjectHoverProvider {
+
+    private static EntityMockDSLEObjectHoverProvider INSTANCE;
+    
+    public static EntityMockDSLEObjectHoverProvider instance() {
+        return INSTANCE;
+    }
+    
+    public EntityMockDSLEObjectHoverProvider() {
+        super();
+        INSTANCE = this;
+    }
+
+    @Override
+    public IEObjectHoverDocumentationProvider getDocumentationHoverProvider() {
+        return EntityMockDSLEObjectHoverDocumentationProvider.instance();
+    }
+}
diff --git a/org.eclipse.osbp.xtext.entitymock.ui/src/org/eclipse/osbp/xtext/entitymock/ui/EntityMockDSLUiDocumentationTranslator.java b/org.eclipse.osbp.xtext.entitymock.ui/src/org/eclipse/osbp/xtext/entitymock/ui/EntityMockDSLUiDocumentationTranslator.java
new file mode 100644
index 0000000..97bf858
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.ui/src/org/eclipse/osbp/xtext/entitymock/ui/EntityMockDSLUiDocumentationTranslator.java
@@ -0,0 +1,40 @@
+/**
+ *                                                                            
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *                                                                            
+ * 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:   
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation 
+ */
+package org.eclipse.osbp.xtext.entitymock.ui;
+
+import java.util.ResourceBundle;
+
+import org.eclipse.osbp.utils.constants.GeneratorConstants;
+import org.eclipse.osbp.xtext.basic.ui.BasicDSLDocumentationTranslator;
+
+
+
+/**
+ * Documentation Translator for ReportDSL
+ */
+public class EntityMockDSLUiDocumentationTranslator extends BasicDSLDocumentationTranslator {
+    
+    private static EntityMockDSLUiDocumentationTranslator INSTANCE = new EntityMockDSLUiDocumentationTranslator();
+
+    /**
+     * @return the one and only translator instance
+     */
+    public static BasicDSLDocumentationTranslator instance() {
+        return INSTANCE;
+    }
+    
+    @Override
+    protected ResourceBundle getResourceBundle() {
+        return java.util.ResourceBundle.getBundle(GeneratorConstants.I18N_RESOURCE_FULL_BUNDLE_NAME, getLocale(), getClass().getClassLoader());
+    }
+}
diff --git a/org.eclipse.osbp.xtext.entitymock.ui/src/org/eclipse/osbp/xtext/entitymock/ui/EntityMockDSLUiModule.java b/org.eclipse.osbp.xtext.entitymock.ui/src/org/eclipse/osbp/xtext/entitymock/ui/EntityMockDSLUiModule.java
new file mode 100644
index 0000000..ffe10c7
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.ui/src/org/eclipse/osbp/xtext/entitymock/ui/EntityMockDSLUiModule.java
@@ -0,0 +1,50 @@
+/**
+ *                                                                            
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *                                                                            
+ * 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:   
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation 
+ */
+package org.eclipse.osbp.xtext.entitymock.ui;
+
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.eclipse.xtext.ui.editor.hover.IEObjectHover;
+import org.eclipse.xtext.ui.editor.hover.IEObjectHoverProvider;
+import org.eclipse.xtext.ui.editor.hover.html.IEObjectHoverDocumentationProvider;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import org.eclipse.osbp.xtext.basic.ui.BasicDSLUiModuleHelper;
+
+/**
+ * Use this class to register components to be used within the IDE.
+ */
+public class EntityMockDSLUiModule extends org.eclipse.osbp.xtext.entitymock.ui.AbstractEntityMockDSLUiModule {
+	
+    private static Logger LOGGER = LoggerFactory.getLogger(EntityMockDSLUiModule.class);
+	
+	public EntityMockDSLUiModule(AbstractUIPlugin plugin) {
+		super(plugin);
+		BasicDSLUiModuleHelper.unitTestTemplates(plugin, LOGGER);
+	}
+
+    @Override
+    public Class<? extends IEObjectHover> bindIEObjectHover() {
+        return EntityMockDSLEObjectHover.class;
+    }
+
+    @Override
+    public Class<? extends IEObjectHoverProvider> bindIEObjectHoverProvider() {
+        return EntityMockDSLEObjectHoverProvider.class;
+    }
+     
+    @Override
+    public Class<? extends IEObjectHoverDocumentationProvider> bindIEObjectHoverDocumentationProvider() {
+        return EntityMockDSLEObjectHoverDocumentationProvider.class;
+    }
+}
diff --git a/org.eclipse.osbp.xtext.entitymock.ui/src/org/eclipse/osbp/xtext/entitymock/ui/contentassist/EntityMockDSLProposalProvider.xtend b/org.eclipse.osbp.xtext.entitymock.ui/src/org/eclipse/osbp/xtext/entitymock/ui/contentassist/EntityMockDSLProposalProvider.xtend
new file mode 100644
index 0000000..d811ab4
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.ui/src/org/eclipse/osbp/xtext/entitymock/ui/contentassist/EntityMockDSLProposalProvider.xtend
@@ -0,0 +1,279 @@
+/**
+ *                                                                            
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *                                                                            
+ * 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:   
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation 
+ * 
+ * 
+ *  This copyright notice shows up in the generated Java code
+ *
+ */
+ 
+package org.eclipse.osbp.xtext.entitymock.ui.contentassist
+
+import com.google.inject.Inject
+import org.eclipse.emf.ecore.EObject
+import org.eclipse.jface.viewers.StyledString
+import org.eclipse.osbp.xtext.basic.ui.contentassist.BasicDSLProposalProviderHelper
+import org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByObject
+import org.eclipse.osbp.xtext.entitymock.EntityMockAttributeFiller
+import org.eclipse.osbp.xtext.entitymock.EntityMockEntity
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectArrayValue
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectEmbed
+import org.eclipse.osbp.xtext.entitymock.EntityMockReferencedObjectAttribute
+import org.eclipse.osbp.xtext.entitymock.EntityMockResource
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerDateFuture
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerDatePast
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerDateRange
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedDoubleRandom
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedDoubleRange
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedIntegerRandom
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedIntegerRange
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerTextParagraphs
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerTextRandom
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerTextSentences
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerTextWords
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedDoubleRandom
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedDoubleRange
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedIntegerRandom
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedIntegerRange
+import org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLUiDocumentationTranslator
+import org.eclipse.xtext.Assignment
+import org.eclipse.xtext.Keyword
+import org.eclipse.xtext.ParserRule
+import org.eclipse.xtext.RuleCall
+import org.eclipse.xtext.common.ui.contentassist.TerminalsProposalProvider
+import org.eclipse.xtext.ui.editor.contentassist.ContentAssistContext
+import org.eclipse.xtext.ui.editor.contentassist.ICompletionProposalAcceptor
+import org.eclipse.osbp.utils.entityhelper.DataType
+import org.eclipse.osbp.ui.api.datamart.IDataMart
+
+/**
+ * see http://www.eclipse.org/Xtext/documentation.html#contentAssist on how to customize content assistant
+ */
+class EntityMockDSLProposalProvider extends AbstractEntityMockDSLProposalProvider {
+	
+	@Inject DataType dtType
+	@Inject TerminalsProposalProvider provider
+
+    /**
+     * @see BasicDSLProposalProviderHelper#getKeywordDisplayString(Keyword, BasicDSLUiTranslator)
+     * @param keyword the keyword to get the displayed string for
+     * @return the displayed string
+     */
+    override protected StyledString getKeywordDisplayString(Keyword keyword) {
+        return BasicDSLProposalProviderHelper.getKeywordDisplayString(keyword, EntityMockDSLUiDocumentationTranslator.instance())
+    }
+    
+    /**
+     * This override will enable 1 length non letter characters as keyword.
+     */
+    override protected boolean isKeywordWorthyToPropose(Keyword keyword) {
+        true
+    }
+    
+    /**
+     * propose all available enumeration values for the referenced enumeration
+     */
+    override public void completeEntityMockObjectItemValue_Datarow(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+        var mockValueItem = model
+        while (!(mockValueItem instanceof EntityMockObjectArrayValue) && (mockValueItem != null)) {
+            mockValueItem = mockValueItem.eContainer
+        }
+        if  (mockValueItem instanceof EntityMockObjectArrayValue) {
+        	if 	(mockValueItem.enumeration.usingResource instanceof EntityMockResource) {
+    			val resource = mockValueItem.enumeration.usingResource as EntityMockResource
+        		for (datarow : resource.datarows) {
+            		acceptor.accept(
+                		createCompletionProposal(datarow.name, datarow.name, null, context)
+            		)
+    			}
+			}
+			else {
+    			val lenum = mockValueItem.enumeration.usingResource
+        		for (datarow : lenum.literals) {
+            		acceptor.accept(
+
+	            		createCompletionProposal(datarow.name, datarow.name, null, context)
+            		)
+        		}
+            }
+        }
+    }
+
+    /**
+     * propose all temporary mock object variables defined previously in this mock entity
+     */
+    override public void completeEntityMockReferencedObjectAttribute_Temporary(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+        for (temporary : ((model as EntityMockAttributeByObject).eContainer as EntityMockEntity).temporaries) {
+            acceptor.accept(
+                createCompletionProposal(temporary.name, temporary.name, null, context)
+            )
+        }
+    }
+
+    /**
+     * propose all embedded mock objects inside the referenced temporary mock object
+     */    
+    override public void completeEntityMockReferencedObjectAttribute_Embedded(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+        var emroa = null as EntityMockReferencedObjectAttribute
+        if  (model instanceof EntityMockReferencedObjectAttribute) {
+            emroa = model
+        }
+        if  (model instanceof EntityMockAttributeByObject) {
+            emroa = model.reference
+        }
+        var mockObject = emroa.temporary.object
+        if  (!emroa.embedded.isEmpty) {
+            mockObject = emroa.embedded.last.object
+        }
+        for (attribute : mockObject.attributes) {
+            if  (attribute instanceof EntityMockObjectEmbed) {
+                acceptor.accept(
+                    createCompletionProposal(attribute.name, attribute.name, null, context)
+                )
+            }
+        }
+    }
+    
+    override public void completeEntityMockEntityFunction_AttributeRef(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+    	if	(model.eContainer instanceof EntityMockEntity) {
+    		for	(attribute : (model.eContainer as EntityMockEntity).entityRef.allAttributes) {
+                acceptor.accept(
+                    createCompletionProposal(attribute.name, attribute.name, null, context)
+                )
+    		}
+    	}
+    	else {
+	        super.completeEntityMockEntityFunction_AttributeRef(model, assignment, context, acceptor)
+    	}
+	}
+    
+    
+    /**
+     * propose all enumerations and attributes of the referenced (may be embedded) mock object
+     */    
+    override public void completeEntityMockReferencedObjectAttribute_Attribute(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+        var emroa = null as EntityMockReferencedObjectAttribute
+        if  (model instanceof EntityMockReferencedObjectAttribute) {
+            emroa = model
+        }
+        if  (model instanceof EntityMockAttributeByObject) {
+            emroa = model.reference
+        }
+        var mockObject = emroa.temporary.object
+        if  (!emroa.embedded.isEmpty) {
+            mockObject = emroa.embedded.last.object
+        }
+        for (enumeration : mockObject.enumerations) {
+            acceptor.accept(
+                createCompletionProposal(enumeration.name, enumeration.name, null, context)
+            )
+        }
+        for (attribute : mockObject.attributes) {
+            if  (!(attribute instanceof EntityMockObjectEmbed)) {
+                acceptor.accept(
+                    createCompletionProposal(attribute.name, attribute.name, null, context)
+                )
+            }
+        }
+        for (calculation : mockObject.calculations) {
+            acceptor.accept(
+                createCompletionProposal(calculation.name, calculation.name, null, context)
+            )
+        }
+    }
+    
+    /**
+     * get the parser rule name for the given EObject
+     */
+    def protected String getParserRuleName(EObject object) {
+        var retcode = null as String
+        var parserRule = object
+        while ((parserRule != null) && !(parserRule instanceof ParserRule)) {
+            parserRule = parserRule.eContainer
+        }
+        if  (parserRule instanceof ParserRule) {
+            retcode = parserRule.name
+        }
+        return retcode
+    }
+
+    /**
+     * checks if the keywords parser rule is contained in the given Class
+     */
+    def protected boolean isKeywordInsideParserRule(Keyword keyword, Class<?> eClass) {
+        var className = eClass.getCanonicalName
+        return className.endsWith(keyword.parserRuleName)
+    }
+
+    /**
+     * returns the allowed data type for the given Keyword
+     */    
+    def protected IDataMart.EType getPropertyFillerType(Keyword keyword) {
+        if  (keyword.isKeywordInsideParserRule(PropertyFillerDateFuture)) return IDataMart.EType.DATE
+        if  (keyword.isKeywordInsideParserRule(PropertyFillerDatePast)) return IDataMart.EType.DATE
+        if  (keyword.isKeywordInsideParserRule(PropertyFillerDateRange)) return IDataMart.EType.DATE
+        
+        if  (keyword.isKeywordInsideParserRule(PropertyFillerSignedDoubleRandom)) return IDataMart.EType.DOUBLE
+        if  (keyword.isKeywordInsideParserRule(PropertyFillerSignedDoubleRange)) return IDataMart.EType.DOUBLE
+        if  (keyword.isKeywordInsideParserRule(PropertyFillerUnsignedDoubleRandom)) return IDataMart.EType.DOUBLE
+        if  (keyword.isKeywordInsideParserRule(PropertyFillerUnsignedDoubleRange)) return IDataMart.EType.DOUBLE
+
+        if  (keyword.isKeywordInsideParserRule(PropertyFillerSignedIntegerRandom)) return IDataMart.EType.INTEGER
+        if  (keyword.isKeywordInsideParserRule(PropertyFillerSignedIntegerRange)) return IDataMart.EType.INTEGER
+        if  (keyword.isKeywordInsideParserRule(PropertyFillerUnsignedIntegerRandom)) return IDataMart.EType.INTEGER
+        if  (keyword.isKeywordInsideParserRule(PropertyFillerUnsignedIntegerRange)) return IDataMart.EType.INTEGER
+
+        if  (keyword.isKeywordInsideParserRule(PropertyFillerTextParagraphs)) return IDataMart.EType.STRING
+        if  (keyword.isKeywordInsideParserRule(PropertyFillerTextRandom)) return IDataMart.EType.STRING
+        if  (keyword.isKeywordInsideParserRule(PropertyFillerTextSentences)) return IDataMart.EType.STRING
+        if  (keyword.isKeywordInsideParserRule(PropertyFillerTextWords)) return IDataMart.EType.STRING
+        
+        return IDataMart.EType.none
+    }
+
+    /**
+     * checks if the given Keyword is allowed for the given entity attribute type 
+     */
+    override protected boolean isKeywordWorthyToPropose(Keyword keyword, ContentAssistContext context) {
+        if  (!super.isKeywordWorthyToPropose(keyword, context)) {
+            return false
+        }
+        var currentModel = context.getCurrentModel();
+        if  (currentModel instanceof EntityMockAttributeFiller) {
+            var attributeByObject = currentModel as EntityMockAttributeFiller
+            var attributeRef = attributeByObject.attributeRef
+            return dtType.canBeCastFrom(attributeRef, keyword.propertyFillerType)
+        }
+        return true
+    }
+        
+    override protected boolean isValidProposal(String proposal, String prefix, ContentAssistContext context) {
+        if  (!super.isValidProposal(proposal, prefix, context)) {
+            return false
+        }
+        else {
+            var currentModel = context.getCurrentModel();
+            switch (currentModel) {
+                EntityMockObjectArrayValue:    {
+                    return true;
+                }
+                default:
+                    return true //super.isValidProposal(proposal, prefix, context)
+            }
+        }
+    }
+    	// ------------------------ delegates to TerminalsProposalProvider -----------------
+	override public void complete_STRING(EObject model, RuleCall ruleCall, ContentAssistContext context,
+		ICompletionProposalAcceptor acceptor) {
+		provider.complete_STRING(model, ruleCall, context, acceptor)
+	}
+    
+}
diff --git a/org.eclipse.osbp.xtext.entitymock.ui/src/org/eclipse/osbp/xtext/entitymock/ui/labeling/EntityMockDSLDescriptionLabelProvider.xtend b/org.eclipse.osbp.xtext.entitymock.ui/src/org/eclipse/osbp/xtext/entitymock/ui/labeling/EntityMockDSLDescriptionLabelProvider.xtend
new file mode 100644
index 0000000..f31e5f4
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.ui/src/org/eclipse/osbp/xtext/entitymock/ui/labeling/EntityMockDSLDescriptionLabelProvider.xtend
@@ -0,0 +1,41 @@
+/**
+ *                                                                            
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *                                                                            
+ * 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:   
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation 
+ * 
+ * 
+ *  This copyright notice shows up in the generated Java code
+ *
+ */
+ 
+package org.eclipse.osbp.xtext.entitymock.ui.labeling
+
+import org.eclipse.osbp.xtext.basic.ui.labeling.BasicDSLLabelProvider
+import com.google.inject.Inject
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider
+
+//import org.eclipse.xtext.resource.IEObjectDescription
+
+/**
+ * Provides labels for a IEObjectDescriptions and IResourceDescriptions.
+ * 
+ * see http://www.eclipse.org/Xtext/documentation.html#labelProvider
+ */
+class EntityMockDSLDescriptionLabelProvider extends BasicDSLLabelProvider {
+
+    /**
+     * Constructor needed 
+     * @param provider
+     */
+    @Inject
+    protected new(AdapterFactoryLabelProvider provider) {
+        super(provider);
+    }
+}
diff --git a/org.eclipse.osbp.xtext.entitymock.ui/src/org/eclipse/osbp/xtext/entitymock/ui/labeling/EntityMockDSLLabelProvider.xtend b/org.eclipse.osbp.xtext.entitymock.ui/src/org/eclipse/osbp/xtext/entitymock/ui/labeling/EntityMockDSLLabelProvider.xtend
new file mode 100644
index 0000000..accf85d
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.ui/src/org/eclipse/osbp/xtext/entitymock/ui/labeling/EntityMockDSLLabelProvider.xtend
@@ -0,0 +1,197 @@
+/**
+ *                                                                            
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *                                                                            
+ * 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:   
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation 
+ * 
+ * 
+ *  This copyright notice shows up in the generated Java code
+ *
+ */
+ 
+package org.eclipse.osbp.xtext.entitymock.ui.labeling
+
+import com.google.inject.Inject
+import org.eclipse.osbp.xtext.basic.ui.labeling.BasicDSLLabelProvider
+import org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByObject
+import org.eclipse.osbp.xtext.entitymock.EntityMockAttributeFiller
+import org.eclipse.osbp.xtext.entitymock.EntityMockEntities
+import org.eclipse.osbp.xtext.entitymock.EntityMockEntity
+import org.eclipse.osbp.xtext.entitymock.EntityMockModel
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectArrayValue
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectEmbed
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectEnum
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectFill
+import org.eclipse.osbp.xtext.entitymock.EntityMockObject
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectPlainValue
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjects
+import org.eclipse.osbp.xtext.entitymock.EntityMockPackage
+import org.eclipse.osbp.xtext.entitymock.EntityMockTemporary
+import org.eclipse.osbp.dsl.semantic.common.types.LImport
+import org.eclipse.xtext.Keyword
+import org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByReference
+import org.eclipse.osbp.xtext.entitymock.EntityMockReferencedObjectAttribute
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerTextSentences
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedDoubleRange
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectItemValue
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerDateFuture
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerDatePast
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerDateRange
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedDoubleRandom
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedDoubleRange
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedIntegerRandom
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedIntegerRange
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerTextParagraphs
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerTextRandom
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerTextWords
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedDoubleRandom
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedIntegerRandom
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedIntegerRange
+import org.eclipse.osbp.xtext.entitymock.EntityMockResourceDataRow
+import org.eclipse.osbp.xtext.entitymock.EntityMockResources
+import org.eclipse.osbp.xtext.entitymock.EntityMockResource
+import org.eclipse.osbp.xtext.entitymock.RunningDataInterchanges
+import org.eclipse.osbp.xtext.entitymock.RunningDataInterchange
+import org.eclipse.osbp.xtext.entitymock.DateIterate
+import org.eclipse.osbp.xtext.entitymock.EntityMockEntityFunction
+import org.eclipse.osbp.xtext.datainterchange.DataInterchangeFileCSV
+import org.eclipse.osbp.xtext.datainterchange.DataInterchangeFileEDI
+import org.eclipse.osbp.xtext.datainterchange.DataInterchangeFileXML
+
+/**
+ * Provides labels for a EObjects.
+ *
+ * see http://www.eclipse.org/Xtext/documentation.html#labelProvider
+ */
+class EntityMockDSLLabelProvider extends BasicDSLLabelProvider {
+
+	@Inject
+	new(org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider delegate) {
+		super(delegate);
+	}
+
+	override text (Object o) {
+		switch o {
+			EntityMockAttributeByObject			: generateText( o, 'attribute by object'   , o.attributeRef.name  )
+			EntityMockAttributeByReference		: generateText( o, 'attribute by reference', o.attributeRef.name  )
+			EntityMockAttributeFiller			: generateText( o, 'attribute filler'      , o.attributeRef.name  )
+			EntityMockEntities					: 'mocked entity model'
+			EntityMockEntity					: generateText( o, 'entity'                , o.entityRef.name     )
+			EntityMockEntityFunction			: generateText( o, 'entity function'       , o.attributeRef?.name )
+			EntityMockObject					: generateText( o, 'object'                , o.name               )
+			EntityMockObjectArrayValue			: generateText( o, 'array value'           , o.name               )
+			EntityMockObjectEmbed				: generateText( o, 'object embed'          , o.name               )
+			EntityMockObjectEnum				: generateText( o, 'object enum'           , o.name               )
+			EntityMockObjectFill				: generateText( o, 'object fill'           , o.name               )
+			EntityMockObjectItemValue			: generateText( o, 'item value'            , o.datarow.name       )
+			EntityMockObjectPlainValue			: generateText( o, 'plain value'           , o.name               )
+			EntityMockObjects					: 'mock objects'
+			EntityMockPackage					: 'mocked	entity model'
+			EntityMockReferencedObjectAttribute : {
+				var r = o.temporary.name
+				for (e : o.embedded) {
+					r = '''«r».«e.name»'''
+				}
+				'''«r».«getText(o.attribute)»'''.toString
+			}
+			EntityMockResource					: generateText( o, 'resource'              , o.name               )
+			EntityMockResources					: 'mock resources'
+			EntityMockResourceDataRow			: generateText( o, 'data row'              , o.name               )
+			EntityMockTemporary					: generateText( o, 'temporary'             , o.name               )
+			DateIterate							: generateText( o, 'date iterate'          , (o.eContainer as EntityMockEntity)?.iterator?.name )
+			LImport								: generateText( o, 'import'                , o.importedNamespace  )
+			PropertyFillerDateFuture			: '''between now and «o.dateFutureYears» years into the future'''
+			PropertyFillerDatePast				: '''between «o.datePastYears» years in the past and now'''
+			PropertyFillerDateRange				: '''between «o.dateBeginYears» and «o.dateEndYears» from now'''
+			PropertyFillerSignedDoubleRandom	: '''random signed double'''
+			PropertyFillerSignedDoubleRange		: '''singned double between «o.beginRange» and «o.endRange» with «o.decimals» decimals'''
+			PropertyFillerSignedIntegerRandom	: '''random signed integer'''
+			PropertyFillerSignedIntegerRange	: '''singned integer between «o.beginRange» and «o.endRange»'''
+			PropertyFillerTextParagraphs		: '''«o.count» paragraph(s)'''
+			PropertyFillerTextRandom			: 'random filler text'
+			PropertyFillerTextSentences			: '''«o.count» sentence(s)'''
+			PropertyFillerTextWords				: '''«o.count» word(s)'''
+			PropertyFillerUnsignedDoubleRandom	: '''random unsigned double'''
+			PropertyFillerUnsignedDoubleRange	: '''unsingned double between «o.beginRange» and «o.endRange» with «o.decimals» decimals'''
+			PropertyFillerUnsignedIntegerRandom	: '''random unsigned integer'''
+			PropertyFillerUnsignedIntegerRange	: '''unsingned integer between «o.beginRange» and «o.endRange»'''
+			RunningDataInterchange				: generateText( o, 'data interchange', o.datainterchangeRef.name )
+			RunningDataInterchanges				: 'data interchanges'
+			default : {
+				var r = super.text(o)
+				if  (r == null) {
+					System.err.println('''text  for «o.class.canonicalName»''')
+				}
+				r
+			}
+		}
+	}
+
+	override image (Object o) {
+		switch o {
+			EntityMockAttributeByObject			: getInternalImage( 'private_field.png' , class )
+            EntityMockAttributeByReference      : getInternalImage( 'class.gif'         , class )
+			EntityMockAttributeFiller			: getImage        ( o.fillerType )					//getInternalImage('function.gif')
+			EntityMockEntities					: getInternalImage( 'dice-16.gif'       , class )
+			EntityMockEntity					: getInternalImage( 'dice-16.gif'       , class )
+			EntityMockEntityFunction			: getInternalImage( 'function.gif'      , class )
+			EntityMockModel						: getInternalImage( 'dice-16.gif'       , class )
+			EntityMockObject					: getInternalImage( 'private_method.png', class )
+			EntityMockObjectArrayValue			: getInternalImage( 'enum.gif'          , class )
+			EntityMockObjectEmbed				: getInternalImage( 'private_field.png' , class )
+			EntityMockObjectEnum				: getInternalImage( 'enum_obj.gif'      , class )
+			EntityMockObjectFill				: getImage        ( o.fillerType )					//getInternalImage('function.gif')
+			EntityMockObjectItemValue			: getInternalImage( 'array.png'         , class )
+			EntityMockObjectPlainValue			: getInternalImage( 'array.png'         , class )
+			EntityMockObjects					: getInternalImage( 'private_method.png', class )
+			EntityMockPackage					: getInternalImage( 'package.gif'       , class )
+			EntityMockReferencedObjectAttribute	: getInternalImage( 'private_field.png' , class )
+			EntityMockResourceDataRow			: getInternalImage( 'enum_alt_obj.gif'  , class )
+			EntityMockResources					: getInternalImage( 'enum_alt_obj.gif'  , class )
+			EntityMockTemporary					: getInternalImage( 'private_method.png', class )
+			DateIterate							: getInternalImage( 'date-iterate.png'  , class )
+			Keyword								: null
+			LImport								: getInternalImage( 'class.gif'         , class )
+			PropertyFillerDateFuture			: getInternalImage( 'calendar-small.gif', class )
+			PropertyFillerDatePast				: getInternalImage( 'calendar-small.gif', class )
+			PropertyFillerDateRange				: getInternalImage( 'calendar-small.gif', class )
+			PropertyFillerSignedDoubleRandom	: getInternalImage( 'double.gif'        , class )
+			PropertyFillerSignedDoubleRange		: getInternalImage( 'double.gif'        , class )
+			PropertyFillerSignedIntegerRandom	: getInternalImage( 'int.gif'           , class )
+			PropertyFillerSignedIntegerRange	: getInternalImage( 'int.gif'           , class )
+			PropertyFillerTextParagraphs		: getInternalImage( 'var_string.gif'    , class )
+			PropertyFillerTextRandom			: getInternalImage( 'var_string.gif'    , class )
+			PropertyFillerTextSentences			: getInternalImage( 'var_string.gif'    , class )
+			PropertyFillerTextWords				: getInternalImage( 'var_string.gif'    , class )
+			PropertyFillerUnsignedDoubleRandom	: getInternalImage( 'double.gif'        , class )
+			PropertyFillerUnsignedDoubleRange	: getInternalImage( 'double.gif'        , class )
+			PropertyFillerUnsignedIntegerRandom	: getInternalImage( 'int.gif'           , class )
+			PropertyFillerUnsignedIntegerRange	: getInternalImage( 'int.gif'           , class )
+			RunningDataInterchange: {
+				if  (o.datainterchangeRef?.fileEndpoint instanceof DataInterchangeFileCSV) {
+					getInternalImage('csv.png', class)
+				}
+				else if (o.datainterchangeRef?.fileEndpoint instanceof DataInterchangeFileEDI) {
+					getInternalImage('edi.png', class)
+				}
+				else if (o.datainterchangeRef?.fileEndpoint instanceof DataInterchangeFileXML) {
+					getInternalImage('xml.png', class)
+				}
+				else {
+					getInternalImage('data_interchange.png', class)
+				}
+			}
+			RunningDataInterchanges				: getInternalImage( 'dsl_datainterchange.png', class )
+			default: {
+				System.err.println('''image for «o.class.canonicalName»''')
+				null
+			}
+		}
+	}
+}
diff --git a/org.eclipse.osbp.xtext.entitymock.ui/src/org/eclipse/osbp/xtext/entitymock/ui/outline/EntityMockDSLOutlineTreeProvider.xtend b/org.eclipse.osbp.xtext.entitymock.ui/src/org/eclipse/osbp/xtext/entitymock/ui/outline/EntityMockDSLOutlineTreeProvider.xtend
new file mode 100644
index 0000000..07ab523
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.ui/src/org/eclipse/osbp/xtext/entitymock/ui/outline/EntityMockDSLOutlineTreeProvider.xtend
@@ -0,0 +1,27 @@
+/**
+ *                                                                            
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *                                                                            
+ * 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:   
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation 
+ * 
+ * 
+ *  This copyright notice shows up in the generated Java code
+ *
+ */
+ 
+package org.eclipse.osbp.xtext.entitymock.ui.outline
+
+/**
+ * Customization of the default outline structure.
+ *
+ * see http://www.eclipse.org/Xtext/documentation.html#outline
+ */
+class EntityMockDSLOutlineTreeProvider extends org.eclipse.xtext.ui.editor.outline.impl.DefaultOutlineTreeProvider {
+	
+}
diff --git a/org.eclipse.osbp.xtext.entitymock.ui/src/org/eclipse/osbp/xtext/entitymock/ui/quickfix/EntityMockDSLQuickfixProvider.xtend b/org.eclipse.osbp.xtext.entitymock.ui/src/org/eclipse/osbp/xtext/entitymock/ui/quickfix/EntityMockDSLQuickfixProvider.xtend
new file mode 100644
index 0000000..162458f
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.ui/src/org/eclipse/osbp/xtext/entitymock/ui/quickfix/EntityMockDSLQuickfixProvider.xtend
@@ -0,0 +1,40 @@
+/**
+ *                                                                            
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *                                                                            
+ * 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:   
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation 
+ * 
+ * 
+ *  This copyright notice shows up in the generated Java code
+ *
+ */
+ 
+package org.eclipse.osbp.xtext.entitymock.ui.quickfix
+
+//import org.eclipse.xtext.ui.editor.quickfix.Fix
+//import org.eclipse.xtext.ui.editor.quickfix.IssueResolutionAcceptor
+//import org.eclipse.xtext.validation.Issue
+
+/**
+ * Custom quickfixes.
+ *
+ * see http://www.eclipse.org/Xtext/documentation.html#quickfixes
+ */
+class EntityMockDSLQuickfixProvider extends org.eclipse.xtext.xbase.annotations.ui.quickfix.XbaseWithAnnotationsQuickfixProvider {
+
+//	@Fix(MyDslValidator::INVALID_NAME)
+//	def capitalizeName(Issue issue, IssueResolutionAcceptor acceptor) {
+//		acceptor.accept(issue, 'Capitalize name', 'Capitalize the name.', 'upcase.png') [
+//			context |
+//			val xtextDocument = context.xtextDocument
+//			val firstLetter = xtextDocument.get(issue.offset, 1)
+//			xtextDocument.replace(issue.offset, 1, firstLetter.toUpperCase)
+//		]
+//	}
+}
diff --git a/org.eclipse.osbp.xtext.entitymock.ui/templates/templates.xml b/org.eclipse.osbp.xtext.entitymock.ui/templates/templates.xml
new file mode 100644
index 0000000..07a788c
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.ui/templates/templates.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><templates>
+</templates>
\ No newline at end of file
diff --git a/org.eclipse.osbp.xtext.entitymock.ui/xtend-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/EntityMockDSLProposalProvider.java b/org.eclipse.osbp.xtext.entitymock.ui/xtend-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/EntityMockDSLProposalProvider.java
new file mode 100644
index 0000000..48ed704
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.ui/xtend-gen/org/eclipse/osbp/xtext/entitymock/ui/contentassist/EntityMockDSLProposalProvider.java
@@ -0,0 +1,382 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ * 
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ * 
+ * 
+ *  This copyright notice shows up in the generated Java code
+ */
+package org.eclipse.osbp.xtext.entitymock.ui.contentassist;
+
+import com.google.common.base.Objects;
+import com.google.inject.Inject;
+import java.util.List;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.jface.text.contentassist.ICompletionProposal;
+import org.eclipse.jface.viewers.StyledString;
+import org.eclipse.osbp.dsl.semantic.common.types.LEnum;
+import org.eclipse.osbp.dsl.semantic.common.types.LEnumLiteral;
+import org.eclipse.osbp.dsl.semantic.entity.LEntity;
+import org.eclipse.osbp.dsl.semantic.entity.LEntityAttribute;
+import org.eclipse.osbp.ui.api.datamart.IDataMart;
+import org.eclipse.osbp.utils.entityhelper.DataType;
+import org.eclipse.osbp.xtext.basic.ui.BasicDSLDocumentationTranslator;
+import org.eclipse.osbp.xtext.basic.ui.contentassist.BasicDSLProposalProviderHelper;
+import org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByObject;
+import org.eclipse.osbp.xtext.entitymock.EntityMockAttributeFiller;
+import org.eclipse.osbp.xtext.entitymock.EntityMockEntity;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObject;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectArrayValue;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectEmbed;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectEnum;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectFunction;
+import org.eclipse.osbp.xtext.entitymock.EntityMockReferencedObjectAttribute;
+import org.eclipse.osbp.xtext.entitymock.EntityMockResource;
+import org.eclipse.osbp.xtext.entitymock.EntityMockResourceDataRow;
+import org.eclipse.osbp.xtext.entitymock.EntityMockTemporary;
+import org.eclipse.osbp.xtext.entitymock.IEntityMockObjectAttribute;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerDateFuture;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerDatePast;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerDateRange;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedDoubleRandom;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedDoubleRange;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedIntegerRandom;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedIntegerRange;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerTextParagraphs;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerTextRandom;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerTextSentences;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerTextWords;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedDoubleRandom;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedDoubleRange;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedIntegerRandom;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedIntegerRange;
+import org.eclipse.osbp.xtext.entitymock.ui.EntityMockDSLUiDocumentationTranslator;
+import org.eclipse.osbp.xtext.entitymock.ui.contentassist.AbstractEntityMockDSLProposalProvider;
+import org.eclipse.xtext.Assignment;
+import org.eclipse.xtext.Keyword;
+import org.eclipse.xtext.ParserRule;
+import org.eclipse.xtext.RuleCall;
+import org.eclipse.xtext.common.ui.contentassist.TerminalsProposalProvider;
+import org.eclipse.xtext.ui.editor.contentassist.ContentAssistContext;
+import org.eclipse.xtext.ui.editor.contentassist.ICompletionProposalAcceptor;
+import org.eclipse.xtext.xbase.lib.IterableExtensions;
+
+/**
+ * see http://www.eclipse.org/Xtext/documentation.html#contentAssist on how to customize content assistant
+ */
+@SuppressWarnings("all")
+public class EntityMockDSLProposalProvider extends AbstractEntityMockDSLProposalProvider {
+  @Inject
+  private DataType dtType;
+  
+  @Inject
+  private TerminalsProposalProvider provider;
+  
+  /**
+   * @see BasicDSLProposalProviderHelper#getKeywordDisplayString(Keyword, BasicDSLUiTranslator)
+   * @param keyword the keyword to get the displayed string for
+   * @return the displayed string
+   */
+  protected StyledString getKeywordDisplayString(final Keyword keyword) {
+    BasicDSLDocumentationTranslator _instance = EntityMockDSLUiDocumentationTranslator.instance();
+    return BasicDSLProposalProviderHelper.getKeywordDisplayString(keyword, _instance);
+  }
+  
+  /**
+   * This override will enable 1 length non letter characters as keyword.
+   */
+  protected boolean isKeywordWorthyToPropose(final Keyword keyword) {
+    return true;
+  }
+  
+  /**
+   * propose all available enumeration values for the referenced enumeration
+   */
+  public void completeEntityMockObjectItemValue_Datarow(final EObject model, final Assignment assignment, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor) {
+    EObject mockValueItem = model;
+    while (((!(mockValueItem instanceof EntityMockObjectArrayValue)) && (!Objects.equal(mockValueItem, null)))) {
+      EObject _eContainer = mockValueItem.eContainer();
+      mockValueItem = _eContainer;
+    }
+    if ((mockValueItem instanceof EntityMockObjectArrayValue)) {
+      EntityMockObjectEnum _enumeration = ((EntityMockObjectArrayValue)mockValueItem).getEnumeration();
+      LEnum _usingResource = _enumeration.getUsingResource();
+      if ((_usingResource instanceof EntityMockResource)) {
+        EntityMockObjectEnum _enumeration_1 = ((EntityMockObjectArrayValue)mockValueItem).getEnumeration();
+        LEnum _usingResource_1 = _enumeration_1.getUsingResource();
+        final EntityMockResource resource = ((EntityMockResource) _usingResource_1);
+        EList<EntityMockResourceDataRow> _datarows = resource.getDatarows();
+        for (final EntityMockResourceDataRow datarow : _datarows) {
+          String _name = datarow.getName();
+          String _name_1 = datarow.getName();
+          ICompletionProposal _createCompletionProposal = this.createCompletionProposal(_name, _name_1, null, context);
+          acceptor.accept(_createCompletionProposal);
+        }
+      } else {
+        EntityMockObjectEnum _enumeration_2 = ((EntityMockObjectArrayValue)mockValueItem).getEnumeration();
+        final LEnum lenum = _enumeration_2.getUsingResource();
+        EList<LEnumLiteral> _literals = lenum.getLiterals();
+        for (final LEnumLiteral datarow_1 : _literals) {
+          String _name_2 = datarow_1.getName();
+          String _name_3 = datarow_1.getName();
+          ICompletionProposal _createCompletionProposal_1 = this.createCompletionProposal(_name_2, _name_3, null, context);
+          acceptor.accept(_createCompletionProposal_1);
+        }
+      }
+    }
+  }
+  
+  /**
+   * propose all temporary mock object variables defined previously in this mock entity
+   */
+  public void completeEntityMockReferencedObjectAttribute_Temporary(final EObject model, final Assignment assignment, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor) {
+    EObject _eContainer = ((EntityMockAttributeByObject) model).eContainer();
+    EList<EntityMockTemporary> _temporaries = ((EntityMockEntity) _eContainer).getTemporaries();
+    for (final EntityMockTemporary temporary : _temporaries) {
+      String _name = temporary.getName();
+      String _name_1 = temporary.getName();
+      ICompletionProposal _createCompletionProposal = this.createCompletionProposal(_name, _name_1, null, context);
+      acceptor.accept(_createCompletionProposal);
+    }
+  }
+  
+  /**
+   * propose all embedded mock objects inside the referenced temporary mock object
+   */
+  public void completeEntityMockReferencedObjectAttribute_Embedded(final EObject model, final Assignment assignment, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor) {
+    EntityMockReferencedObjectAttribute emroa = ((EntityMockReferencedObjectAttribute) null);
+    if ((model instanceof EntityMockReferencedObjectAttribute)) {
+      emroa = ((EntityMockReferencedObjectAttribute)model);
+    }
+    if ((model instanceof EntityMockAttributeByObject)) {
+      EntityMockReferencedObjectAttribute _reference = ((EntityMockAttributeByObject)model).getReference();
+      emroa = _reference;
+    }
+    EntityMockTemporary _temporary = emroa.getTemporary();
+    EntityMockObject mockObject = _temporary.getObject();
+    EList<EntityMockObjectEmbed> _embedded = emroa.getEmbedded();
+    boolean _isEmpty = _embedded.isEmpty();
+    boolean _not = (!_isEmpty);
+    if (_not) {
+      EList<EntityMockObjectEmbed> _embedded_1 = emroa.getEmbedded();
+      EntityMockObjectEmbed _last = IterableExtensions.<EntityMockObjectEmbed>last(_embedded_1);
+      EntityMockObject _object = _last.getObject();
+      mockObject = _object;
+    }
+    EList<IEntityMockObjectAttribute> _attributes = mockObject.getAttributes();
+    for (final IEntityMockObjectAttribute attribute : _attributes) {
+      if ((attribute instanceof EntityMockObjectEmbed)) {
+        String _name = ((EntityMockObjectEmbed)attribute).getName();
+        String _name_1 = ((EntityMockObjectEmbed)attribute).getName();
+        ICompletionProposal _createCompletionProposal = this.createCompletionProposal(_name, _name_1, null, context);
+        acceptor.accept(_createCompletionProposal);
+      }
+    }
+  }
+  
+  public void completeEntityMockEntityFunction_AttributeRef(final EObject model, final Assignment assignment, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor) {
+    EObject _eContainer = model.eContainer();
+    if ((_eContainer instanceof EntityMockEntity)) {
+      EObject _eContainer_1 = model.eContainer();
+      LEntity _entityRef = ((EntityMockEntity) _eContainer_1).getEntityRef();
+      List<LEntityAttribute> _allAttributes = _entityRef.getAllAttributes();
+      for (final LEntityAttribute attribute : _allAttributes) {
+        String _name = attribute.getName();
+        String _name_1 = attribute.getName();
+        ICompletionProposal _createCompletionProposal = this.createCompletionProposal(_name, _name_1, null, context);
+        acceptor.accept(_createCompletionProposal);
+      }
+    } else {
+      super.completeEntityMockEntityFunction_AttributeRef(model, assignment, context, acceptor);
+    }
+  }
+  
+  /**
+   * propose all enumerations and attributes of the referenced (may be embedded) mock object
+   */
+  public void completeEntityMockReferencedObjectAttribute_Attribute(final EObject model, final Assignment assignment, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor) {
+    EntityMockReferencedObjectAttribute emroa = ((EntityMockReferencedObjectAttribute) null);
+    if ((model instanceof EntityMockReferencedObjectAttribute)) {
+      emroa = ((EntityMockReferencedObjectAttribute)model);
+    }
+    if ((model instanceof EntityMockAttributeByObject)) {
+      EntityMockReferencedObjectAttribute _reference = ((EntityMockAttributeByObject)model).getReference();
+      emroa = _reference;
+    }
+    EntityMockTemporary _temporary = emroa.getTemporary();
+    EntityMockObject mockObject = _temporary.getObject();
+    EList<EntityMockObjectEmbed> _embedded = emroa.getEmbedded();
+    boolean _isEmpty = _embedded.isEmpty();
+    boolean _not = (!_isEmpty);
+    if (_not) {
+      EList<EntityMockObjectEmbed> _embedded_1 = emroa.getEmbedded();
+      EntityMockObjectEmbed _last = IterableExtensions.<EntityMockObjectEmbed>last(_embedded_1);
+      EntityMockObject _object = _last.getObject();
+      mockObject = _object;
+    }
+    EList<EntityMockObjectEnum> _enumerations = mockObject.getEnumerations();
+    for (final EntityMockObjectEnum enumeration : _enumerations) {
+      String _name = enumeration.getName();
+      String _name_1 = enumeration.getName();
+      ICompletionProposal _createCompletionProposal = this.createCompletionProposal(_name, _name_1, null, context);
+      acceptor.accept(_createCompletionProposal);
+    }
+    EList<IEntityMockObjectAttribute> _attributes = mockObject.getAttributes();
+    for (final IEntityMockObjectAttribute attribute : _attributes) {
+      if ((!(attribute instanceof EntityMockObjectEmbed))) {
+        String _name_2 = attribute.getName();
+        String _name_3 = attribute.getName();
+        ICompletionProposal _createCompletionProposal_1 = this.createCompletionProposal(_name_2, _name_3, null, context);
+        acceptor.accept(_createCompletionProposal_1);
+      }
+    }
+    EList<EntityMockObjectFunction> _calculations = mockObject.getCalculations();
+    for (final EntityMockObjectFunction calculation : _calculations) {
+      String _name_4 = calculation.getName();
+      String _name_5 = calculation.getName();
+      ICompletionProposal _createCompletionProposal_2 = this.createCompletionProposal(_name_4, _name_5, null, context);
+      acceptor.accept(_createCompletionProposal_2);
+    }
+  }
+  
+  /**
+   * get the parser rule name for the given EObject
+   */
+  protected String getParserRuleName(final EObject object) {
+    String retcode = ((String) null);
+    EObject parserRule = object;
+    while (((!Objects.equal(parserRule, null)) && (!(parserRule instanceof ParserRule)))) {
+      EObject _eContainer = parserRule.eContainer();
+      parserRule = _eContainer;
+    }
+    if ((parserRule instanceof ParserRule)) {
+      String _name = ((ParserRule)parserRule).getName();
+      retcode = _name;
+    }
+    return retcode;
+  }
+  
+  /**
+   * checks if the keywords parser rule is contained in the given Class
+   */
+  protected boolean isKeywordInsideParserRule(final Keyword keyword, final Class<?> eClass) {
+    String className = eClass.getCanonicalName();
+    String _parserRuleName = this.getParserRuleName(keyword);
+    return className.endsWith(_parserRuleName);
+  }
+  
+  /**
+   * returns the allowed data type for the given Keyword
+   */
+  protected IDataMart.EType getPropertyFillerType(final Keyword keyword) {
+    boolean _isKeywordInsideParserRule = this.isKeywordInsideParserRule(keyword, PropertyFillerDateFuture.class);
+    if (_isKeywordInsideParserRule) {
+      return IDataMart.EType.DATE;
+    }
+    boolean _isKeywordInsideParserRule_1 = this.isKeywordInsideParserRule(keyword, PropertyFillerDatePast.class);
+    if (_isKeywordInsideParserRule_1) {
+      return IDataMart.EType.DATE;
+    }
+    boolean _isKeywordInsideParserRule_2 = this.isKeywordInsideParserRule(keyword, PropertyFillerDateRange.class);
+    if (_isKeywordInsideParserRule_2) {
+      return IDataMart.EType.DATE;
+    }
+    boolean _isKeywordInsideParserRule_3 = this.isKeywordInsideParserRule(keyword, PropertyFillerSignedDoubleRandom.class);
+    if (_isKeywordInsideParserRule_3) {
+      return IDataMart.EType.DOUBLE;
+    }
+    boolean _isKeywordInsideParserRule_4 = this.isKeywordInsideParserRule(keyword, PropertyFillerSignedDoubleRange.class);
+    if (_isKeywordInsideParserRule_4) {
+      return IDataMart.EType.DOUBLE;
+    }
+    boolean _isKeywordInsideParserRule_5 = this.isKeywordInsideParserRule(keyword, PropertyFillerUnsignedDoubleRandom.class);
+    if (_isKeywordInsideParserRule_5) {
+      return IDataMart.EType.DOUBLE;
+    }
+    boolean _isKeywordInsideParserRule_6 = this.isKeywordInsideParserRule(keyword, PropertyFillerUnsignedDoubleRange.class);
+    if (_isKeywordInsideParserRule_6) {
+      return IDataMart.EType.DOUBLE;
+    }
+    boolean _isKeywordInsideParserRule_7 = this.isKeywordInsideParserRule(keyword, PropertyFillerSignedIntegerRandom.class);
+    if (_isKeywordInsideParserRule_7) {
+      return IDataMart.EType.INTEGER;
+    }
+    boolean _isKeywordInsideParserRule_8 = this.isKeywordInsideParserRule(keyword, PropertyFillerSignedIntegerRange.class);
+    if (_isKeywordInsideParserRule_8) {
+      return IDataMart.EType.INTEGER;
+    }
+    boolean _isKeywordInsideParserRule_9 = this.isKeywordInsideParserRule(keyword, PropertyFillerUnsignedIntegerRandom.class);
+    if (_isKeywordInsideParserRule_9) {
+      return IDataMart.EType.INTEGER;
+    }
+    boolean _isKeywordInsideParserRule_10 = this.isKeywordInsideParserRule(keyword, PropertyFillerUnsignedIntegerRange.class);
+    if (_isKeywordInsideParserRule_10) {
+      return IDataMart.EType.INTEGER;
+    }
+    boolean _isKeywordInsideParserRule_11 = this.isKeywordInsideParserRule(keyword, PropertyFillerTextParagraphs.class);
+    if (_isKeywordInsideParserRule_11) {
+      return IDataMart.EType.STRING;
+    }
+    boolean _isKeywordInsideParserRule_12 = this.isKeywordInsideParserRule(keyword, PropertyFillerTextRandom.class);
+    if (_isKeywordInsideParserRule_12) {
+      return IDataMart.EType.STRING;
+    }
+    boolean _isKeywordInsideParserRule_13 = this.isKeywordInsideParserRule(keyword, PropertyFillerTextSentences.class);
+    if (_isKeywordInsideParserRule_13) {
+      return IDataMart.EType.STRING;
+    }
+    boolean _isKeywordInsideParserRule_14 = this.isKeywordInsideParserRule(keyword, PropertyFillerTextWords.class);
+    if (_isKeywordInsideParserRule_14) {
+      return IDataMart.EType.STRING;
+    }
+    return IDataMart.EType.none;
+  }
+  
+  /**
+   * checks if the given Keyword is allowed for the given entity attribute type
+   */
+  protected boolean isKeywordWorthyToPropose(final Keyword keyword, final ContentAssistContext context) {
+    boolean _isKeywordWorthyToPropose = super.isKeywordWorthyToPropose(keyword, context);
+    boolean _not = (!_isKeywordWorthyToPropose);
+    if (_not) {
+      return false;
+    }
+    EObject currentModel = context.getCurrentModel();
+    if ((currentModel instanceof EntityMockAttributeFiller)) {
+      EntityMockAttributeFiller attributeByObject = ((EntityMockAttributeFiller) currentModel);
+      LEntityAttribute attributeRef = attributeByObject.getAttributeRef();
+      IDataMart.EType _propertyFillerType = this.getPropertyFillerType(keyword);
+      return this.dtType.canBeCastFrom(attributeRef, _propertyFillerType);
+    }
+    return true;
+  }
+  
+  protected boolean isValidProposal(final String proposal, final String prefix, final ContentAssistContext context) {
+    boolean _isValidProposal = super.isValidProposal(proposal, prefix, context);
+    boolean _not = (!_isValidProposal);
+    if (_not) {
+      return false;
+    } else {
+      EObject currentModel = context.getCurrentModel();
+      boolean _matched = false;
+      if (!_matched) {
+        if (currentModel instanceof EntityMockObjectArrayValue) {
+          _matched=true;
+          return true;
+        }
+      }
+      return true;
+    }
+  }
+  
+  public void complete_STRING(final EObject model, final RuleCall ruleCall, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor) {
+    this.provider.complete_STRING(model, ruleCall, context, acceptor);
+  }
+}
diff --git a/org.eclipse.osbp.xtext.entitymock.ui/xtend-gen/org/eclipse/osbp/xtext/entitymock/ui/labeling/EntityMockDSLDescriptionLabelProvider.java b/org.eclipse.osbp.xtext.entitymock.ui/xtend-gen/org/eclipse/osbp/xtext/entitymock/ui/labeling/EntityMockDSLDescriptionLabelProvider.java
new file mode 100644
index 0000000..0cdaf34
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.ui/xtend-gen/org/eclipse/osbp/xtext/entitymock/ui/labeling/EntityMockDSLDescriptionLabelProvider.java
@@ -0,0 +1,36 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ * 
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ * 
+ * 
+ *  This copyright notice shows up in the generated Java code
+ */
+package org.eclipse.osbp.xtext.entitymock.ui.labeling;
+
+import com.google.inject.Inject;
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
+import org.eclipse.osbp.xtext.basic.ui.labeling.BasicDSLLabelProvider;
+
+/**
+ * Provides labels for a IEObjectDescriptions and IResourceDescriptions.
+ * 
+ * see http://www.eclipse.org/Xtext/documentation.html#labelProvider
+ */
+@SuppressWarnings("all")
+public class EntityMockDSLDescriptionLabelProvider extends BasicDSLLabelProvider {
+  /**
+   * Constructor needed
+   * @param provider
+   */
+  @Inject
+  protected EntityMockDSLDescriptionLabelProvider(final AdapterFactoryLabelProvider provider) {
+    super(provider);
+  }
+}
diff --git a/org.eclipse.osbp.xtext.entitymock.ui/xtend-gen/org/eclipse/osbp/xtext/entitymock/ui/labeling/EntityMockDSLLabelProvider.java b/org.eclipse.osbp.xtext.entitymock.ui/xtend-gen/org/eclipse/osbp/xtext/entitymock/ui/labeling/EntityMockDSLLabelProvider.java
new file mode 100644
index 0000000..afc64ca
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.ui/xtend-gen/org/eclipse/osbp/xtext/entitymock/ui/labeling/EntityMockDSLLabelProvider.java
@@ -0,0 +1,811 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ * 
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ * 
+ * 
+ *  This copyright notice shows up in the generated Java code
+ */
+package org.eclipse.osbp.xtext.entitymock.ui.labeling;
+
+import com.google.common.base.Objects;
+import com.google.inject.Inject;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
+import org.eclipse.osbp.dsl.semantic.common.types.LEnumLiteral;
+import org.eclipse.osbp.dsl.semantic.common.types.LImport;
+import org.eclipse.osbp.dsl.semantic.entity.LEntity;
+import org.eclipse.osbp.dsl.semantic.entity.LEntityAttribute;
+import org.eclipse.osbp.dsl.semantic.entity.LEntityReference;
+import org.eclipse.osbp.xtext.basic.ui.labeling.BasicDSLLabelProvider;
+import org.eclipse.osbp.xtext.datainterchange.DataInterchange;
+import org.eclipse.osbp.xtext.datainterchange.DataInterchangeFile;
+import org.eclipse.osbp.xtext.datainterchange.DataInterchangeFileCSV;
+import org.eclipse.osbp.xtext.datainterchange.DataInterchangeFileEDI;
+import org.eclipse.osbp.xtext.datainterchange.DataInterchangeFileXML;
+import org.eclipse.osbp.xtext.entitymock.DateIterate;
+import org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByObject;
+import org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByReference;
+import org.eclipse.osbp.xtext.entitymock.EntityMockAttributeFiller;
+import org.eclipse.osbp.xtext.entitymock.EntityMockEntities;
+import org.eclipse.osbp.xtext.entitymock.EntityMockEntity;
+import org.eclipse.osbp.xtext.entitymock.EntityMockEntityFunction;
+import org.eclipse.osbp.xtext.entitymock.EntityMockModel;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObject;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectArrayValue;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectEmbed;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectEnum;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectFill;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectItemValue;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectPlainValue;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjects;
+import org.eclipse.osbp.xtext.entitymock.EntityMockPackage;
+import org.eclipse.osbp.xtext.entitymock.EntityMockReferencedObjectAttribute;
+import org.eclipse.osbp.xtext.entitymock.EntityMockResource;
+import org.eclipse.osbp.xtext.entitymock.EntityMockResourceDataRow;
+import org.eclipse.osbp.xtext.entitymock.EntityMockResources;
+import org.eclipse.osbp.xtext.entitymock.EntityMockTemporary;
+import org.eclipse.osbp.xtext.entitymock.IEntityMockObjectUsable;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerDateFuture;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerDatePast;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerDateRange;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedDoubleRandom;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedDoubleRange;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedIntegerRandom;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedIntegerRange;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerTextParagraphs;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerTextRandom;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerTextSentences;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerTextWords;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerType;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedDoubleRandom;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedDoubleRange;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedIntegerRandom;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedIntegerRange;
+import org.eclipse.osbp.xtext.entitymock.RunningDataInterchange;
+import org.eclipse.osbp.xtext.entitymock.RunningDataInterchanges;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.xtend2.lib.StringConcatenation;
+import org.eclipse.xtext.Keyword;
+
+/**
+ * Provides labels for a EObjects.
+ * 
+ * see http://www.eclipse.org/Xtext/documentation.html#labelProvider
+ */
+@SuppressWarnings("all")
+public class EntityMockDSLLabelProvider extends BasicDSLLabelProvider {
+  @Inject
+  public EntityMockDSLLabelProvider(final AdapterFactoryLabelProvider delegate) {
+    super(delegate);
+  }
+  
+  public Object text(final Object o) {
+    Object _switchResult = null;
+    boolean _matched = false;
+    if (!_matched) {
+      if (o instanceof EntityMockAttributeByObject) {
+        _matched=true;
+        LEntityAttribute _attributeRef = ((EntityMockAttributeByObject)o).getAttributeRef();
+        String _name = _attributeRef.getName();
+        _switchResult = this.generateText(o, "attribute by object", _name);
+      }
+    }
+    if (!_matched) {
+      if (o instanceof EntityMockAttributeByReference) {
+        _matched=true;
+        LEntityReference _attributeRef = ((EntityMockAttributeByReference)o).getAttributeRef();
+        String _name = _attributeRef.getName();
+        _switchResult = this.generateText(o, "attribute by reference", _name);
+      }
+    }
+    if (!_matched) {
+      if (o instanceof EntityMockAttributeFiller) {
+        _matched=true;
+        LEntityAttribute _attributeRef = ((EntityMockAttributeFiller)o).getAttributeRef();
+        String _name = _attributeRef.getName();
+        _switchResult = this.generateText(o, "attribute filler", _name);
+      }
+    }
+    if (!_matched) {
+      if (o instanceof EntityMockEntities) {
+        _matched=true;
+        _switchResult = "mocked entity model";
+      }
+    }
+    if (!_matched) {
+      if (o instanceof EntityMockEntity) {
+        _matched=true;
+        LEntity _entityRef = ((EntityMockEntity)o).getEntityRef();
+        String _name = _entityRef.getName();
+        _switchResult = this.generateText(o, "entity", _name);
+      }
+    }
+    if (!_matched) {
+      if (o instanceof EntityMockEntityFunction) {
+        _matched=true;
+        LEntityAttribute _attributeRef = ((EntityMockEntityFunction)o).getAttributeRef();
+        String _name = null;
+        if (_attributeRef!=null) {
+          _name=_attributeRef.getName();
+        }
+        _switchResult = this.generateText(o, "entity function", _name);
+      }
+    }
+    if (!_matched) {
+      if (o instanceof EntityMockObject) {
+        _matched=true;
+        String _name = ((EntityMockObject)o).getName();
+        _switchResult = this.generateText(o, "object", _name);
+      }
+    }
+    if (!_matched) {
+      if (o instanceof EntityMockObjectArrayValue) {
+        _matched=true;
+        String _name = ((EntityMockObjectArrayValue)o).getName();
+        _switchResult = this.generateText(o, "array value", _name);
+      }
+    }
+    if (!_matched) {
+      if (o instanceof EntityMockObjectEmbed) {
+        _matched=true;
+        String _name = ((EntityMockObjectEmbed)o).getName();
+        _switchResult = this.generateText(o, "object embed", _name);
+      }
+    }
+    if (!_matched) {
+      if (o instanceof EntityMockObjectEnum) {
+        _matched=true;
+        String _name = ((EntityMockObjectEnum)o).getName();
+        _switchResult = this.generateText(o, "object enum", _name);
+      }
+    }
+    if (!_matched) {
+      if (o instanceof EntityMockObjectFill) {
+        _matched=true;
+        String _name = ((EntityMockObjectFill)o).getName();
+        _switchResult = this.generateText(o, "object fill", _name);
+      }
+    }
+    if (!_matched) {
+      if (o instanceof EntityMockObjectItemValue) {
+        _matched=true;
+        LEnumLiteral _datarow = ((EntityMockObjectItemValue)o).getDatarow();
+        String _name = _datarow.getName();
+        _switchResult = this.generateText(o, "item value", _name);
+      }
+    }
+    if (!_matched) {
+      if (o instanceof EntityMockObjectPlainValue) {
+        _matched=true;
+        String _name = ((EntityMockObjectPlainValue)o).getName();
+        _switchResult = this.generateText(o, "plain value", _name);
+      }
+    }
+    if (!_matched) {
+      if (o instanceof EntityMockObjects) {
+        _matched=true;
+        _switchResult = "mock objects";
+      }
+    }
+    if (!_matched) {
+      if (o instanceof EntityMockPackage) {
+        _matched=true;
+        _switchResult = "mocked\tentity model";
+      }
+    }
+    if (!_matched) {
+      if (o instanceof EntityMockReferencedObjectAttribute) {
+        _matched=true;
+        String _xblockexpression = null;
+        {
+          EntityMockTemporary _temporary = ((EntityMockReferencedObjectAttribute)o).getTemporary();
+          String r = _temporary.getName();
+          EList<EntityMockObjectEmbed> _embedded = ((EntityMockReferencedObjectAttribute)o).getEmbedded();
+          for (final EntityMockObjectEmbed e : _embedded) {
+            StringConcatenation _builder = new StringConcatenation();
+            _builder.append(r, "");
+            _builder.append(".");
+            String _name = e.getName();
+            _builder.append(_name, "");
+            r = _builder.toString();
+          }
+          StringConcatenation _builder_1 = new StringConcatenation();
+          _builder_1.append(r, "");
+          _builder_1.append(".");
+          IEntityMockObjectUsable _attribute = ((EntityMockReferencedObjectAttribute)o).getAttribute();
+          String _text = this.getText(_attribute);
+          _builder_1.append(_text, "");
+          _xblockexpression = _builder_1.toString();
+        }
+        _switchResult = _xblockexpression;
+      }
+    }
+    if (!_matched) {
+      if (o instanceof EntityMockResource) {
+        _matched=true;
+        String _name = ((EntityMockResource)o).getName();
+        _switchResult = this.generateText(o, "resource", _name);
+      }
+    }
+    if (!_matched) {
+      if (o instanceof EntityMockResources) {
+        _matched=true;
+        _switchResult = "mock resources";
+      }
+    }
+    if (!_matched) {
+      if (o instanceof EntityMockResourceDataRow) {
+        _matched=true;
+        String _name = ((EntityMockResourceDataRow)o).getName();
+        _switchResult = this.generateText(o, "data row", _name);
+      }
+    }
+    if (!_matched) {
+      if (o instanceof EntityMockTemporary) {
+        _matched=true;
+        String _name = ((EntityMockTemporary)o).getName();
+        _switchResult = this.generateText(o, "temporary", _name);
+      }
+    }
+    if (!_matched) {
+      if (o instanceof DateIterate) {
+        _matched=true;
+        EObject _eContainer = ((DateIterate)o).eContainer();
+        LEntityAttribute _iterator = null;
+        if (((EntityMockEntity) _eContainer)!=null) {
+          _iterator=((EntityMockEntity) _eContainer).getIterator();
+        }
+        String _name = null;
+        if (_iterator!=null) {
+          _name=_iterator.getName();
+        }
+        _switchResult = this.generateText(o, "date iterate", _name);
+      }
+    }
+    if (!_matched) {
+      if (o instanceof LImport) {
+        _matched=true;
+        String _importedNamespace = ((LImport)o).getImportedNamespace();
+        _switchResult = this.generateText(o, "import", _importedNamespace);
+      }
+    }
+    if (!_matched) {
+      if (o instanceof PropertyFillerDateFuture) {
+        _matched=true;
+        StringConcatenation _builder = new StringConcatenation();
+        _builder.append("between now and ");
+        int _dateFutureYears = ((PropertyFillerDateFuture)o).getDateFutureYears();
+        _builder.append(_dateFutureYears, "");
+        _builder.append(" years into the future");
+        _switchResult = _builder;
+      }
+    }
+    if (!_matched) {
+      if (o instanceof PropertyFillerDatePast) {
+        _matched=true;
+        StringConcatenation _builder = new StringConcatenation();
+        _builder.append("between ");
+        int _datePastYears = ((PropertyFillerDatePast)o).getDatePastYears();
+        _builder.append(_datePastYears, "");
+        _builder.append(" years in the past and now");
+        _switchResult = _builder;
+      }
+    }
+    if (!_matched) {
+      if (o instanceof PropertyFillerDateRange) {
+        _matched=true;
+        StringConcatenation _builder = new StringConcatenation();
+        _builder.append("between ");
+        int _dateBeginYears = ((PropertyFillerDateRange)o).getDateBeginYears();
+        _builder.append(_dateBeginYears, "");
+        _builder.append(" and ");
+        int _dateEndYears = ((PropertyFillerDateRange)o).getDateEndYears();
+        _builder.append(_dateEndYears, "");
+        _builder.append(" from now");
+        _switchResult = _builder;
+      }
+    }
+    if (!_matched) {
+      if (o instanceof PropertyFillerSignedDoubleRandom) {
+        _matched=true;
+        StringConcatenation _builder = new StringConcatenation();
+        _builder.append("random signed double");
+        _switchResult = _builder;
+      }
+    }
+    if (!_matched) {
+      if (o instanceof PropertyFillerSignedDoubleRange) {
+        _matched=true;
+        StringConcatenation _builder = new StringConcatenation();
+        _builder.append("singned double between ");
+        double _beginRange = ((PropertyFillerSignedDoubleRange)o).getBeginRange();
+        _builder.append(_beginRange, "");
+        _builder.append(" and ");
+        double _endRange = ((PropertyFillerSignedDoubleRange)o).getEndRange();
+        _builder.append(_endRange, "");
+        _builder.append(" with ");
+        int _decimals = ((PropertyFillerSignedDoubleRange)o).getDecimals();
+        _builder.append(_decimals, "");
+        _builder.append(" decimals");
+        _switchResult = _builder;
+      }
+    }
+    if (!_matched) {
+      if (o instanceof PropertyFillerSignedIntegerRandom) {
+        _matched=true;
+        StringConcatenation _builder = new StringConcatenation();
+        _builder.append("random signed integer");
+        _switchResult = _builder;
+      }
+    }
+    if (!_matched) {
+      if (o instanceof PropertyFillerSignedIntegerRange) {
+        _matched=true;
+        StringConcatenation _builder = new StringConcatenation();
+        _builder.append("singned integer between ");
+        int _beginRange = ((PropertyFillerSignedIntegerRange)o).getBeginRange();
+        _builder.append(_beginRange, "");
+        _builder.append(" and ");
+        int _endRange = ((PropertyFillerSignedIntegerRange)o).getEndRange();
+        _builder.append(_endRange, "");
+        _switchResult = _builder;
+      }
+    }
+    if (!_matched) {
+      if (o instanceof PropertyFillerTextParagraphs) {
+        _matched=true;
+        StringConcatenation _builder = new StringConcatenation();
+        int _count = ((PropertyFillerTextParagraphs)o).getCount();
+        _builder.append(_count, "");
+        _builder.append(" paragraph(s)");
+        _switchResult = _builder;
+      }
+    }
+    if (!_matched) {
+      if (o instanceof PropertyFillerTextRandom) {
+        _matched=true;
+        _switchResult = "random filler text";
+      }
+    }
+    if (!_matched) {
+      if (o instanceof PropertyFillerTextSentences) {
+        _matched=true;
+        StringConcatenation _builder = new StringConcatenation();
+        int _count = ((PropertyFillerTextSentences)o).getCount();
+        _builder.append(_count, "");
+        _builder.append(" sentence(s)");
+        _switchResult = _builder;
+      }
+    }
+    if (!_matched) {
+      if (o instanceof PropertyFillerTextWords) {
+        _matched=true;
+        StringConcatenation _builder = new StringConcatenation();
+        int _count = ((PropertyFillerTextWords)o).getCount();
+        _builder.append(_count, "");
+        _builder.append(" word(s)");
+        _switchResult = _builder;
+      }
+    }
+    if (!_matched) {
+      if (o instanceof PropertyFillerUnsignedDoubleRandom) {
+        _matched=true;
+        StringConcatenation _builder = new StringConcatenation();
+        _builder.append("random unsigned double");
+        _switchResult = _builder;
+      }
+    }
+    if (!_matched) {
+      if (o instanceof PropertyFillerUnsignedDoubleRange) {
+        _matched=true;
+        StringConcatenation _builder = new StringConcatenation();
+        _builder.append("unsingned double between ");
+        double _beginRange = ((PropertyFillerUnsignedDoubleRange)o).getBeginRange();
+        _builder.append(_beginRange, "");
+        _builder.append(" and ");
+        double _endRange = ((PropertyFillerUnsignedDoubleRange)o).getEndRange();
+        _builder.append(_endRange, "");
+        _builder.append(" with ");
+        int _decimals = ((PropertyFillerUnsignedDoubleRange)o).getDecimals();
+        _builder.append(_decimals, "");
+        _builder.append(" decimals");
+        _switchResult = _builder;
+      }
+    }
+    if (!_matched) {
+      if (o instanceof PropertyFillerUnsignedIntegerRandom) {
+        _matched=true;
+        StringConcatenation _builder = new StringConcatenation();
+        _builder.append("random unsigned integer");
+        _switchResult = _builder;
+      }
+    }
+    if (!_matched) {
+      if (o instanceof PropertyFillerUnsignedIntegerRange) {
+        _matched=true;
+        StringConcatenation _builder = new StringConcatenation();
+        _builder.append("unsingned integer between ");
+        int _beginRange = ((PropertyFillerUnsignedIntegerRange)o).getBeginRange();
+        _builder.append(_beginRange, "");
+        _builder.append(" and ");
+        int _endRange = ((PropertyFillerUnsignedIntegerRange)o).getEndRange();
+        _builder.append(_endRange, "");
+        _switchResult = _builder;
+      }
+    }
+    if (!_matched) {
+      if (o instanceof RunningDataInterchange) {
+        _matched=true;
+        DataInterchange _datainterchangeRef = ((RunningDataInterchange)o).getDatainterchangeRef();
+        String _name = _datainterchangeRef.getName();
+        _switchResult = this.generateText(o, "data interchange", _name);
+      }
+    }
+    if (!_matched) {
+      if (o instanceof RunningDataInterchanges) {
+        _matched=true;
+        _switchResult = "data interchanges";
+      }
+    }
+    if (!_matched) {
+      Object _xblockexpression = null;
+      {
+        Object r = super.text(o);
+        boolean _equals = Objects.equal(r, null);
+        if (_equals) {
+          StringConcatenation _builder = new StringConcatenation();
+          _builder.append("text  for ");
+          Class<?> _class = o.getClass();
+          String _canonicalName = _class.getCanonicalName();
+          _builder.append(_canonicalName, "");
+          System.err.println(_builder);
+        }
+        _xblockexpression = r;
+      }
+      _switchResult = _xblockexpression;
+    }
+    return _switchResult;
+  }
+  
+  public Object image(final Object o) {
+    Image _switchResult = null;
+    boolean _matched = false;
+    if (!_matched) {
+      if (o instanceof EntityMockAttributeByObject) {
+        _matched=true;
+        Class<? extends EntityMockDSLLabelProvider> _class = this.getClass();
+        _switchResult = this.getInternalImage("private_field.png", _class);
+      }
+    }
+    if (!_matched) {
+      if (o instanceof EntityMockAttributeByReference) {
+        _matched=true;
+        Class<? extends EntityMockDSLLabelProvider> _class = this.getClass();
+        _switchResult = this.getInternalImage("class.gif", _class);
+      }
+    }
+    if (!_matched) {
+      if (o instanceof EntityMockAttributeFiller) {
+        _matched=true;
+        PropertyFillerType _fillerType = ((EntityMockAttributeFiller)o).getFillerType();
+        _switchResult = this.getImage(_fillerType);
+      }
+    }
+    if (!_matched) {
+      if (o instanceof EntityMockEntities) {
+        _matched=true;
+        Class<? extends EntityMockDSLLabelProvider> _class = this.getClass();
+        _switchResult = this.getInternalImage("dice-16.gif", _class);
+      }
+    }
+    if (!_matched) {
+      if (o instanceof EntityMockEntity) {
+        _matched=true;
+        Class<? extends EntityMockDSLLabelProvider> _class = this.getClass();
+        _switchResult = this.getInternalImage("dice-16.gif", _class);
+      }
+    }
+    if (!_matched) {
+      if (o instanceof EntityMockEntityFunction) {
+        _matched=true;
+        Class<? extends EntityMockDSLLabelProvider> _class = this.getClass();
+        _switchResult = this.getInternalImage("function.gif", _class);
+      }
+    }
+    if (!_matched) {
+      if (o instanceof EntityMockModel) {
+        _matched=true;
+        Class<? extends EntityMockDSLLabelProvider> _class = this.getClass();
+        _switchResult = this.getInternalImage("dice-16.gif", _class);
+      }
+    }
+    if (!_matched) {
+      if (o instanceof EntityMockObject) {
+        _matched=true;
+        Class<? extends EntityMockDSLLabelProvider> _class = this.getClass();
+        _switchResult = this.getInternalImage("private_method.png", _class);
+      }
+    }
+    if (!_matched) {
+      if (o instanceof EntityMockObjectArrayValue) {
+        _matched=true;
+        Class<? extends EntityMockDSLLabelProvider> _class = this.getClass();
+        _switchResult = this.getInternalImage("enum.gif", _class);
+      }
+    }
+    if (!_matched) {
+      if (o instanceof EntityMockObjectEmbed) {
+        _matched=true;
+        Class<? extends EntityMockDSLLabelProvider> _class = this.getClass();
+        _switchResult = this.getInternalImage("private_field.png", _class);
+      }
+    }
+    if (!_matched) {
+      if (o instanceof EntityMockObjectEnum) {
+        _matched=true;
+        Class<? extends EntityMockDSLLabelProvider> _class = this.getClass();
+        _switchResult = this.getInternalImage("enum_obj.gif", _class);
+      }
+    }
+    if (!_matched) {
+      if (o instanceof EntityMockObjectFill) {
+        _matched=true;
+        PropertyFillerType _fillerType = ((EntityMockObjectFill)o).getFillerType();
+        _switchResult = this.getImage(_fillerType);
+      }
+    }
+    if (!_matched) {
+      if (o instanceof EntityMockObjectItemValue) {
+        _matched=true;
+        Class<? extends EntityMockDSLLabelProvider> _class = this.getClass();
+        _switchResult = this.getInternalImage("array.png", _class);
+      }
+    }
+    if (!_matched) {
+      if (o instanceof EntityMockObjectPlainValue) {
+        _matched=true;
+        Class<? extends EntityMockDSLLabelProvider> _class = this.getClass();
+        _switchResult = this.getInternalImage("array.png", _class);
+      }
+    }
+    if (!_matched) {
+      if (o instanceof EntityMockObjects) {
+        _matched=true;
+        Class<? extends EntityMockDSLLabelProvider> _class = this.getClass();
+        _switchResult = this.getInternalImage("private_method.png", _class);
+      }
+    }
+    if (!_matched) {
+      if (o instanceof EntityMockPackage) {
+        _matched=true;
+        Class<? extends EntityMockDSLLabelProvider> _class = this.getClass();
+        _switchResult = this.getInternalImage("package.gif", _class);
+      }
+    }
+    if (!_matched) {
+      if (o instanceof EntityMockReferencedObjectAttribute) {
+        _matched=true;
+        Class<? extends EntityMockDSLLabelProvider> _class = this.getClass();
+        _switchResult = this.getInternalImage("private_field.png", _class);
+      }
+    }
+    if (!_matched) {
+      if (o instanceof EntityMockResourceDataRow) {
+        _matched=true;
+        Class<? extends EntityMockDSLLabelProvider> _class = this.getClass();
+        _switchResult = this.getInternalImage("enum_alt_obj.gif", _class);
+      }
+    }
+    if (!_matched) {
+      if (o instanceof EntityMockResources) {
+        _matched=true;
+        Class<? extends EntityMockDSLLabelProvider> _class = this.getClass();
+        _switchResult = this.getInternalImage("enum_alt_obj.gif", _class);
+      }
+    }
+    if (!_matched) {
+      if (o instanceof EntityMockTemporary) {
+        _matched=true;
+        Class<? extends EntityMockDSLLabelProvider> _class = this.getClass();
+        _switchResult = this.getInternalImage("private_method.png", _class);
+      }
+    }
+    if (!_matched) {
+      if (o instanceof DateIterate) {
+        _matched=true;
+        Class<? extends EntityMockDSLLabelProvider> _class = this.getClass();
+        _switchResult = this.getInternalImage("date-iterate.png", _class);
+      }
+    }
+    if (!_matched) {
+      if (o instanceof Keyword) {
+        _matched=true;
+        _switchResult = null;
+      }
+    }
+    if (!_matched) {
+      if (o instanceof LImport) {
+        _matched=true;
+        Class<? extends EntityMockDSLLabelProvider> _class = this.getClass();
+        _switchResult = this.getInternalImage("class.gif", _class);
+      }
+    }
+    if (!_matched) {
+      if (o instanceof PropertyFillerDateFuture) {
+        _matched=true;
+        Class<? extends EntityMockDSLLabelProvider> _class = this.getClass();
+        _switchResult = this.getInternalImage("calendar-small.gif", _class);
+      }
+    }
+    if (!_matched) {
+      if (o instanceof PropertyFillerDatePast) {
+        _matched=true;
+        Class<? extends EntityMockDSLLabelProvider> _class = this.getClass();
+        _switchResult = this.getInternalImage("calendar-small.gif", _class);
+      }
+    }
+    if (!_matched) {
+      if (o instanceof PropertyFillerDateRange) {
+        _matched=true;
+        Class<? extends EntityMockDSLLabelProvider> _class = this.getClass();
+        _switchResult = this.getInternalImage("calendar-small.gif", _class);
+      }
+    }
+    if (!_matched) {
+      if (o instanceof PropertyFillerSignedDoubleRandom) {
+        _matched=true;
+        Class<? extends EntityMockDSLLabelProvider> _class = this.getClass();
+        _switchResult = this.getInternalImage("double.gif", _class);
+      }
+    }
+    if (!_matched) {
+      if (o instanceof PropertyFillerSignedDoubleRange) {
+        _matched=true;
+        Class<? extends EntityMockDSLLabelProvider> _class = this.getClass();
+        _switchResult = this.getInternalImage("double.gif", _class);
+      }
+    }
+    if (!_matched) {
+      if (o instanceof PropertyFillerSignedIntegerRandom) {
+        _matched=true;
+        Class<? extends EntityMockDSLLabelProvider> _class = this.getClass();
+        _switchResult = this.getInternalImage("int.gif", _class);
+      }
+    }
+    if (!_matched) {
+      if (o instanceof PropertyFillerSignedIntegerRange) {
+        _matched=true;
+        Class<? extends EntityMockDSLLabelProvider> _class = this.getClass();
+        _switchResult = this.getInternalImage("int.gif", _class);
+      }
+    }
+    if (!_matched) {
+      if (o instanceof PropertyFillerTextParagraphs) {
+        _matched=true;
+        Class<? extends EntityMockDSLLabelProvider> _class = this.getClass();
+        _switchResult = this.getInternalImage("var_string.gif", _class);
+      }
+    }
+    if (!_matched) {
+      if (o instanceof PropertyFillerTextRandom) {
+        _matched=true;
+        Class<? extends EntityMockDSLLabelProvider> _class = this.getClass();
+        _switchResult = this.getInternalImage("var_string.gif", _class);
+      }
+    }
+    if (!_matched) {
+      if (o instanceof PropertyFillerTextSentences) {
+        _matched=true;
+        Class<? extends EntityMockDSLLabelProvider> _class = this.getClass();
+        _switchResult = this.getInternalImage("var_string.gif", _class);
+      }
+    }
+    if (!_matched) {
+      if (o instanceof PropertyFillerTextWords) {
+        _matched=true;
+        Class<? extends EntityMockDSLLabelProvider> _class = this.getClass();
+        _switchResult = this.getInternalImage("var_string.gif", _class);
+      }
+    }
+    if (!_matched) {
+      if (o instanceof PropertyFillerUnsignedDoubleRandom) {
+        _matched=true;
+        Class<? extends EntityMockDSLLabelProvider> _class = this.getClass();
+        _switchResult = this.getInternalImage("double.gif", _class);
+      }
+    }
+    if (!_matched) {
+      if (o instanceof PropertyFillerUnsignedDoubleRange) {
+        _matched=true;
+        Class<? extends EntityMockDSLLabelProvider> _class = this.getClass();
+        _switchResult = this.getInternalImage("double.gif", _class);
+      }
+    }
+    if (!_matched) {
+      if (o instanceof PropertyFillerUnsignedIntegerRandom) {
+        _matched=true;
+        Class<? extends EntityMockDSLLabelProvider> _class = this.getClass();
+        _switchResult = this.getInternalImage("int.gif", _class);
+      }
+    }
+    if (!_matched) {
+      if (o instanceof PropertyFillerUnsignedIntegerRange) {
+        _matched=true;
+        Class<? extends EntityMockDSLLabelProvider> _class = this.getClass();
+        _switchResult = this.getInternalImage("int.gif", _class);
+      }
+    }
+    if (!_matched) {
+      if (o instanceof RunningDataInterchange) {
+        _matched=true;
+        Image _xifexpression = null;
+        DataInterchange _datainterchangeRef = ((RunningDataInterchange)o).getDatainterchangeRef();
+        DataInterchangeFile _fileEndpoint = null;
+        if (_datainterchangeRef!=null) {
+          _fileEndpoint=_datainterchangeRef.getFileEndpoint();
+        }
+        if ((_fileEndpoint instanceof DataInterchangeFileCSV)) {
+          Class<? extends EntityMockDSLLabelProvider> _class = this.getClass();
+          _xifexpression = this.getInternalImage("csv.png", _class);
+        } else {
+          Image _xifexpression_1 = null;
+          DataInterchange _datainterchangeRef_1 = ((RunningDataInterchange)o).getDatainterchangeRef();
+          DataInterchangeFile _fileEndpoint_1 = null;
+          if (_datainterchangeRef_1!=null) {
+            _fileEndpoint_1=_datainterchangeRef_1.getFileEndpoint();
+          }
+          if ((_fileEndpoint_1 instanceof DataInterchangeFileEDI)) {
+            Class<? extends EntityMockDSLLabelProvider> _class_1 = this.getClass();
+            _xifexpression_1 = this.getInternalImage("edi.png", _class_1);
+          } else {
+            Image _xifexpression_2 = null;
+            DataInterchange _datainterchangeRef_2 = ((RunningDataInterchange)o).getDatainterchangeRef();
+            DataInterchangeFile _fileEndpoint_2 = null;
+            if (_datainterchangeRef_2!=null) {
+              _fileEndpoint_2=_datainterchangeRef_2.getFileEndpoint();
+            }
+            if ((_fileEndpoint_2 instanceof DataInterchangeFileXML)) {
+              Class<? extends EntityMockDSLLabelProvider> _class_2 = this.getClass();
+              _xifexpression_2 = this.getInternalImage("xml.png", _class_2);
+            } else {
+              Class<? extends EntityMockDSLLabelProvider> _class_3 = this.getClass();
+              _xifexpression_2 = this.getInternalImage("data_interchange.png", _class_3);
+            }
+            _xifexpression_1 = _xifexpression_2;
+          }
+          _xifexpression = _xifexpression_1;
+        }
+        _switchResult = _xifexpression;
+      }
+    }
+    if (!_matched) {
+      if (o instanceof RunningDataInterchanges) {
+        _matched=true;
+        Class<? extends EntityMockDSLLabelProvider> _class = this.getClass();
+        _switchResult = this.getInternalImage("dsl_datainterchange.png", _class);
+      }
+    }
+    if (!_matched) {
+      Object _xblockexpression = null;
+      {
+        StringConcatenation _builder = new StringConcatenation();
+        _builder.append("image for ");
+        Class<?> _class = o.getClass();
+        String _canonicalName = _class.getCanonicalName();
+        _builder.append(_canonicalName, "");
+        System.err.println(_builder);
+        _xblockexpression = null;
+      }
+      _switchResult = ((Image)_xblockexpression);
+    }
+    return _switchResult;
+  }
+}
diff --git a/org.eclipse.osbp.xtext.entitymock.ui/xtend-gen/org/eclipse/osbp/xtext/entitymock/ui/outline/EntityMockDSLOutlineTreeProvider.java b/org.eclipse.osbp.xtext.entitymock.ui/xtend-gen/org/eclipse/osbp/xtext/entitymock/ui/outline/EntityMockDSLOutlineTreeProvider.java
new file mode 100644
index 0000000..fbcc4b3
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.ui/xtend-gen/org/eclipse/osbp/xtext/entitymock/ui/outline/EntityMockDSLOutlineTreeProvider.java
@@ -0,0 +1,26 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ * 
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ * 
+ * 
+ *  This copyright notice shows up in the generated Java code
+ */
+package org.eclipse.osbp.xtext.entitymock.ui.outline;
+
+import org.eclipse.xtext.ui.editor.outline.impl.DefaultOutlineTreeProvider;
+
+/**
+ * Customization of the default outline structure.
+ * 
+ * see http://www.eclipse.org/Xtext/documentation.html#outline
+ */
+@SuppressWarnings("all")
+public class EntityMockDSLOutlineTreeProvider extends DefaultOutlineTreeProvider {
+}
diff --git a/org.eclipse.osbp.xtext.entitymock.ui/xtend-gen/org/eclipse/osbp/xtext/entitymock/ui/quickfix/EntityMockDSLQuickfixProvider.java b/org.eclipse.osbp.xtext.entitymock.ui/xtend-gen/org/eclipse/osbp/xtext/entitymock/ui/quickfix/EntityMockDSLQuickfixProvider.java
new file mode 100644
index 0000000..0314de7
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock.ui/xtend-gen/org/eclipse/osbp/xtext/entitymock/ui/quickfix/EntityMockDSLQuickfixProvider.java
@@ -0,0 +1,26 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ * 
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ * 
+ * 
+ *  This copyright notice shows up in the generated Java code
+ */
+package org.eclipse.osbp.xtext.entitymock.ui.quickfix;
+
+import org.eclipse.xtext.xbase.annotations.ui.quickfix.XbaseWithAnnotationsQuickfixProvider;
+
+/**
+ * Custom quickfixes.
+ * 
+ * see http://www.eclipse.org/Xtext/documentation.html#quickfixes
+ */
+@SuppressWarnings("all")
+public class EntityMockDSLQuickfixProvider extends XbaseWithAnnotationsQuickfixProvider {
+}
diff --git a/org.eclipse.osbp.xtext.entitymock/.project b/org.eclipse.osbp.xtext.entitymock/.project
new file mode 100644
index 0000000..8b8df5d
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/.project
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.osbp.xtext.entitymock</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.babel.editor.rbeBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.sonarlint.eclipse.core.sonarlintBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
+		<nature>org.eclipse.babel.editor.rbeNature</nature>
+	</natures>
+</projectDescription>
diff --git a/org.eclipse.osbp.xtext.entitymock/LICENSE.txt b/org.eclipse.osbp.xtext.entitymock/LICENSE.txt
new file mode 100644
index 0000000..ff42ad4
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/LICENSE.txt
@@ -0,0 +1,161 @@
+Eclipse Public License -v 1.0
+
+THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION
+OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+
+1. DEFINITIONS
+
+"Contribution" means:
+
+a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and
+
+b) in the case of each subsequent Contributor:
+
+i) changes to the Program, and
+
+ii) additions to the Program;
+
+where such changes and/or additions to the Program originate from and are distributed by that particular Contributor.
+A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone
+acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate
+modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not
+derivative works of the Program.
+
+"Contributor" means any person or entity that distributes the Program.
+
+"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of
+its Contribution alone or when combined with the Program.
+
+"Program" means the Contributions distributed in accordance with this Agreement.
+
+"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.
+
+2. GRANT OF RIGHTS
+
+a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute
+and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code
+form.
+
+b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the
+Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the
+combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such
+addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not
+apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder.
+
+c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no
+assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property
+rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity
+based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and
+licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property
+rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the
+Program, it is Recipient's responsibility to acquire that license before distributing the Program.
+
+d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to
+grant the copyright license set forth in this Agreement.
+
+3. REQUIREMENTS
+
+A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:
+
+a) it complies with the terms and conditions of this Agreement; and
+
+b) its license agreement:
+
+i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including
+warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and
+fitness for a particular purpose;
+
+ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special,
+incidental and consequential damages, such as lost profits;
+
+iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any
+other party; and
+
+iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it
+in a reasonable manner on or through a medium customarily used for software exchange.
+
+When the Program is made available in source code form:
+
+a) it must be made available under this Agreement; and
+
+b) a copy of this Agreement must be included with each copy of the Program.
+
+Contributors may not remove or alter any copyright notices contained within the Program.
+
+Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows
+subsequent Recipients to identify the originator of the Contribution.
+
+4. COMMERCIAL DISTRIBUTION
+
+Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and
+the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes
+the Program in a commercial product offering should do so in a manner which does not create potential liability for
+other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor
+("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor")
+against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions
+brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such
+Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The
+obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual
+property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
+Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the
+Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may
+ participate in any such claim at its own expense.
+
+For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is
+then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties
+related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone.
+Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to
+those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result,
+the Commercial Contributor must pay those damages.
+
+5. NO WARRANTY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR
+CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE,
+NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for
+determining the appropriateness of using and distributing the Program and assumes all risks associated with its
+exercise of rights under this Agreement , including but not limited to the risks and costs of program errors, compliance
+with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations.
+
+6. DISCLAIMER OF LIABILITY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS),
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
+HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. GENERAL
+
+If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or
+enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such
+provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+
+If Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit)
+alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such
+Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such
+litigation is filed.
+
+All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or
+conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such
+noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution
+of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses
+ granted by Recipient relating to the Program shall continue and survive.
+
+Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement
+is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish
+new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the
+right to modify this Agreement. The Eclipse Foundation is the initial Agreement Steward. The Eclipse Foundation may
+assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the
+Agreement will be given a distinguishing version number. The Program (including Contributions) may always be
+distributed subject to the version of the Agreement under which it was received. In addition, after a new version of
+the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the
+new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
+the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or
+otherwise. All rights in the Program not expressly granted under this Agreement are reserved.
+
+This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States
+of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause
+of action arose. Each party waives its rights to a jury trial in any resulting litigation.
\ No newline at end of file
diff --git a/org.eclipse.osbp.xtext.entitymock/META-INF/MANIFEST.MF b/org.eclipse.osbp.xtext.entitymock/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..fdff553
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/META-INF/MANIFEST.MF
@@ -0,0 +1,69 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: org.eclipse.osbp.xtext.entitymock
+Bundle-SymbolicName: org.eclipse.osbp.xtext.entitymock;singleton:=true
+Bundle-Version: 0.9.0.qualifier
+Bundle-ClassPath: .
+Bundle-Vendor: Eclipse OSBP
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Bundle-ActivationPolicy: lazy
+Require-Bundle: org.slf4j.api;bundle-version="1.7.2";resolution:=optional,
+ org.apache.log4j;resolution:=optional,
+ org.apache.xerces;bundle-version="2.9.0",
+ org.apache.commons.lang;bundle-version="2.6.0",
+ org.apache.commons.logging,
+ org.eclipse.core.runtime,
+ org.antlr.runtime,
+ com.google.inject;bundle-version="3.0.0",
+ org.eclipse.emf.common,
+ org.eclipse.emf.ecore;visibility:=reexport,
+ org.eclipse.emf.ecore.xcore,
+ org.eclipse.emf.ecore.xcore.lib,
+ org.eclipse.emf.codegen.ecore;resolution:=optional,
+ org.eclipse.emf.mwe.utils;resolution:=optional,
+ org.eclipse.xtend.lib;bundle-version="[2.7.3,2.8.0)",
+ org.eclipse.xtext;bundle-version="[2.7.3,2.8.0)",
+ org.eclipse.xtext.common.types;bundle-version="[2.7.3,2.8.0)";visibility:=reexport,
+ org.eclipse.xtext.xbase;bundle-version="[2.7.3,2.8.0)";visibility:=reexport,
+ org.eclipse.xtext.xbase.lib;bundle-version="[2.7.3,2.8.0)",
+ org.eclipse.xtext.generator;bundle-version="[2.7.3,2.8.0)";resolution:=optional,
+ org.eclipse.xtext.util;bundle-version="[2.7.3,2.8.0)",
+ org.junit;bundle-version="4.10.0",
+ org.objectweb.asm;bundle-version="[5.0.1,6.0.0)",
+ org.eclipse.osbp.dsl.xtext.lazyresolver;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.dsl.xtext.lazyresolver.api;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.dsl.common.xtext;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.dsl.entity.xtext;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.runtime.common;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.utils;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.utils.blob;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.xtext.i18n;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.xtext.basic;bundle-version="[0.9.0,0.10.0)";resolution:=optional,
+ org.eclipse.osbp.xtext.datainterchange;bundle-version="[0.9.0,0.10.0)";resolution:=optional,
+ org.eclipse.osbp.dsl.mwe;bundle-version="[0.9.0,0.10.0)";resolution:=optional,
+ org.eclipse.emf.mwe2.launch;bundle-version="2.7.1";resolution:=optional,
+ org.eclipse.osbp.gitinfo;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.persistence;bundle-version="[0.9.0,0.10.0)";resolution:=optional,
+ org.eclipse.osbp.xtext.addons;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.xtext.builder.types.bundles;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.xtext.builder.types.loader.api;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.xtext.builder.types.loader.runtime;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.xtext.builder.xbase.setups;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osgi.services;bundle-version="3.4.0"
+Import-Package: javax.validation,
+ javax.validation.constraints,
+ org.apache.log4j,
+ org.eclipse.osbp.ui.api.datamart;version="0.9.0",
+ org.eclipse.osbp.ui.initialization;version="0.9.0"
+Export-Package: org.eclipse.osbp.xtext.entitymock;version="0.9.0",
+ org.eclipse.osbp.xtext.entitymock.formatting;version="0.9.0",
+ org.eclipse.osbp.xtext.entitymock.impl;version="0.9.0",
+ org.eclipse.osbp.xtext.entitymock.jvmmodel;version="0.9.0",
+ org.eclipse.osbp.xtext.entitymock.parser.antlr;version="0.9.0",
+ org.eclipse.osbp.xtext.entitymock.parser.antlr.internal;version="0.9.0",
+ org.eclipse.osbp.xtext.entitymock.serializer;version="0.9.0",
+ org.eclipse.osbp.xtext.entitymock.services;version="0.9.0",
+ org.eclipse.osbp.xtext.entitymock.util;version="0.9.0",
+ org.eclipse.osbp.xtext.entitymock.validation;version="0.9.0"
+Bundle-Activator: org.eclipse.osbp.xtext.entitymock.Activator
diff --git a/org.eclipse.osbp.xtext.entitymock/about.html b/org.eclipse.osbp.xtext.entitymock/about.html
new file mode 100644
index 0000000..64c0598
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+ 
+<p>June 1, 2016</p>	
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content.  Check the Redistributor's license that was 
+provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/org.eclipse.osbp.xtext.entitymock/about.ini b/org.eclipse.osbp.xtext.entitymock/about.ini
new file mode 100644
index 0000000..7df671f
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/about.ini
@@ -0,0 +1,17 @@
+# about.ini
+# contains information about a feature
+# java.io.Properties file (ISO 8859-1 with "\" escapes)
+# "%key" are externalized strings defined in about.properties
+# This file does not need to be translated.
+
+# Property "aboutText" contains blurb for "About" dialog (translated)
+aboutText=%featureText
+
+# Property "featureImage" contains path to feature image (32x32)
+featureImage=
+
+# Property "appName" contains name of the application (translated)
+appName=%featureName
+
+# Property "welcomePage" contains path to welcome page (special XML-based format)
+welcomePage=
diff --git a/org.eclipse.osbp.xtext.entitymock/about.mappings b/org.eclipse.osbp.xtext.entitymock/about.mappings
new file mode 100644
index 0000000..4511a0a
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/about.mappings
@@ -0,0 +1,6 @@
+# about.mappings
+# contains fill-ins for about.properties
+# java.io.Properties file (ISO 8859-1 with "\" escapes)
+# This file does not need to be translated.
+
+0=qualifier
diff --git a/org.eclipse.osbp.xtext.entitymock/about.properties b/org.eclipse.osbp.xtext.entitymock/about.properties
new file mode 100644
index 0000000..74d3a7d
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/about.properties
@@ -0,0 +1,26 @@
+#
+# Copyright (c) 2012, 2016 - Loetz GmbH&Co.KG (Heidelberg)
+# 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:
+#    Christophe Loetz (Loetz GmbH&Co.KG) - initial API and implementation
+#
+
+# NLS_MESSAGEFORMAT_VAR
+
+featureName=org.eclipse.osbp.xtext.entitymock
+
+################ blurb property ####################################
+featureText=\
+Copyright (c) 2012-2016 - Loetz GmbH&Co.KG \n\
+All rights reserved. This program and the accompanying materials\n\
+are made available under the terms of the Eclipse Public License v1.0\n\
+which accompanies this distribution, and is available at\n\
+http://www.eclipse.org/legal/epl-v10.html\n\
+\n\
+Contributors:\n\
+    Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation\n
+################ end of blurb property ####################################
diff --git a/org.eclipse.osbp.xtext.entitymock/build.properties b/org.eclipse.osbp.xtext.entitymock/build.properties
new file mode 100644
index 0000000..c4429eb
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/build.properties
@@ -0,0 +1,30 @@
+# Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+#  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 
+# 
+#  Based on ideas from Xtext, Xtend, Xcore
+#   
+#  Contributors:  
+#  		Michael Mokroß - Initial implementation 
+#  
+
+bin.includes = about.properties,  about.mappings,  about.ini,  about.html,  .,\
+               model/,\
+               META-INF/,\
+               plugin.xml,\
+               .settings/,\
+               plugin.properties,\
+               license.html,\
+               LICENSE.txt,\
+               epl-v10.html
+src.includes = about.properties,  about.mappings,  about.ini,  about.html,  license.html,\
+               LICENSE.txt,\
+               epl-v10.html			   
+jars.compile.order = .
+source.. = emf-gen/,\
+           src-gen/,\
+		   xtend-gen/,\
+           src/
+output.. = target/classes/
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/Date.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/Date.java
new file mode 100644
index 0000000..d5718aa
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/Date.java
@@ -0,0 +1,253 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Date</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.Date#isYesterday <em>Yesterday</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.Date#isToday <em>Today</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.Date#isTomorrow <em>Tomorrow</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.Date#getOffsetCount <em>Offset Count</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.Date#getOffsetType <em>Offset Type</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.Date#getYear <em>Year</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.Date#getMonth <em>Month</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.Date#getDay <em>Day</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getDate()
+ * @model
+ * @generated
+ */
+public interface Date extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Yesterday</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Yesterday</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Yesterday</em>' attribute.
+	 * @see #setYesterday(boolean)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getDate_Yesterday()
+	 * @model unique="false"
+	 * @generated
+	 */
+	boolean isYesterday();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.Date#isYesterday <em>Yesterday</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Yesterday</em>' attribute.
+	 * @see #isYesterday()
+	 * @generated
+	 */
+	void setYesterday(boolean value);
+
+	/**
+	 * Returns the value of the '<em><b>Today</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Today</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Today</em>' attribute.
+	 * @see #setToday(boolean)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getDate_Today()
+	 * @model unique="false"
+	 * @generated
+	 */
+	boolean isToday();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.Date#isToday <em>Today</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Today</em>' attribute.
+	 * @see #isToday()
+	 * @generated
+	 */
+	void setToday(boolean value);
+
+	/**
+	 * Returns the value of the '<em><b>Tomorrow</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Tomorrow</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Tomorrow</em>' attribute.
+	 * @see #setTomorrow(boolean)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getDate_Tomorrow()
+	 * @model unique="false"
+	 * @generated
+	 */
+	boolean isTomorrow();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.Date#isTomorrow <em>Tomorrow</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Tomorrow</em>' attribute.
+	 * @see #isTomorrow()
+	 * @generated
+	 */
+	void setTomorrow(boolean value);
+
+	/**
+	 * Returns the value of the '<em><b>Offset Count</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Offset Count</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Offset Count</em>' attribute.
+	 * @see #setOffsetCount(int)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getDate_OffsetCount()
+	 * @model unique="false"
+	 * @generated
+	 */
+	int getOffsetCount();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.Date#getOffsetCount <em>Offset Count</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Offset Count</em>' attribute.
+	 * @see #getOffsetCount()
+	 * @generated
+	 */
+	void setOffsetCount(int value);
+
+	/**
+	 * Returns the value of the '<em><b>Offset Type</b></em>' attribute.
+	 * The literals are from the enumeration {@link org.eclipse.osbp.xtext.entitymock.EDateStepType}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Offset Type</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Offset Type</em>' attribute.
+	 * @see org.eclipse.osbp.xtext.entitymock.EDateStepType
+	 * @see #setOffsetType(EDateStepType)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getDate_OffsetType()
+	 * @model unique="false"
+	 * @generated
+	 */
+	EDateStepType getOffsetType();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.Date#getOffsetType <em>Offset Type</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Offset Type</em>' attribute.
+	 * @see org.eclipse.osbp.xtext.entitymock.EDateStepType
+	 * @see #getOffsetType()
+	 * @generated
+	 */
+	void setOffsetType(EDateStepType value);
+
+	/**
+	 * Returns the value of the '<em><b>Year</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Year</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Year</em>' attribute.
+	 * @see #setYear(int)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getDate_Year()
+	 * @model unique="false"
+	 * @generated
+	 */
+	int getYear();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.Date#getYear <em>Year</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Year</em>' attribute.
+	 * @see #getYear()
+	 * @generated
+	 */
+	void setYear(int value);
+
+	/**
+	 * Returns the value of the '<em><b>Month</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Month</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Month</em>' attribute.
+	 * @see #setMonth(int)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getDate_Month()
+	 * @model unique="false"
+	 * @generated
+	 */
+	int getMonth();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.Date#getMonth <em>Month</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Month</em>' attribute.
+	 * @see #getMonth()
+	 * @generated
+	 */
+	void setMonth(int value);
+
+	/**
+	 * Returns the value of the '<em><b>Day</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Day</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Day</em>' attribute.
+	 * @see #setDay(int)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getDate_Day()
+	 * @model unique="false"
+	 * @generated
+	 */
+	int getDay();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.Date#getDay <em>Day</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Day</em>' attribute.
+	 * @see #getDay()
+	 * @generated
+	 */
+	void setDay(int value);
+
+} // Date
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/DateIterate.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/DateIterate.java
new file mode 100644
index 0000000..3d89d76
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/DateIterate.java
@@ -0,0 +1,144 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Date Iterate</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.DateIterate#getFrom <em>From</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.DateIterate#getUntil <em>Until</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.DateIterate#getStepCount <em>Step Count</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.DateIterate#getStepType <em>Step Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getDateIterate()
+ * @model
+ * @generated
+ */
+public interface DateIterate extends IIterate {
+	/**
+	 * Returns the value of the '<em><b>From</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>From</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>From</em>' containment reference.
+	 * @see #setFrom(Date)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getDateIterate_From()
+	 * @model containment="true"
+	 * @generated
+	 */
+	Date getFrom();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.DateIterate#getFrom <em>From</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>From</em>' containment reference.
+	 * @see #getFrom()
+	 * @generated
+	 */
+	void setFrom(Date value);
+
+	/**
+	 * Returns the value of the '<em><b>Until</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Until</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Until</em>' containment reference.
+	 * @see #setUntil(Date)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getDateIterate_Until()
+	 * @model containment="true"
+	 * @generated
+	 */
+	Date getUntil();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.DateIterate#getUntil <em>Until</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Until</em>' containment reference.
+	 * @see #getUntil()
+	 * @generated
+	 */
+	void setUntil(Date value);
+
+	/**
+	 * Returns the value of the '<em><b>Step Count</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Step Count</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Step Count</em>' attribute.
+	 * @see #setStepCount(int)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getDateIterate_StepCount()
+	 * @model unique="false"
+	 * @generated
+	 */
+	int getStepCount();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.DateIterate#getStepCount <em>Step Count</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Step Count</em>' attribute.
+	 * @see #getStepCount()
+	 * @generated
+	 */
+	void setStepCount(int value);
+
+	/**
+	 * Returns the value of the '<em><b>Step Type</b></em>' attribute.
+	 * The literals are from the enumeration {@link org.eclipse.osbp.xtext.entitymock.EDateStepType}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Step Type</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Step Type</em>' attribute.
+	 * @see org.eclipse.osbp.xtext.entitymock.EDateStepType
+	 * @see #setStepType(EDateStepType)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getDateIterate_StepType()
+	 * @model unique="false"
+	 * @generated
+	 */
+	EDateStepType getStepType();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.DateIterate#getStepType <em>Step Type</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Step Type</em>' attribute.
+	 * @see org.eclipse.osbp.xtext.entitymock.EDateStepType
+	 * @see #getStepType()
+	 * @generated
+	 */
+	void setStepType(EDateStepType value);
+
+} // DateIterate
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EDateStepType.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EDateStepType.java
new file mode 100644
index 0000000..e104889
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EDateStepType.java
@@ -0,0 +1,270 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>EDate Step Type</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEDateStepType()
+ * @model
+ * @generated
+ */
+public enum EDateStepType implements Enumerator {
+	/**
+	 * The '<em><b>DAYS</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #DAYS_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	DAYS(0, "DAYS", "days"),
+
+	/**
+	 * The '<em><b>WEEKS</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #WEEKS_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	WEEKS(0, "WEEKS", "weeks"),
+
+	/**
+	 * The '<em><b>MONTHS</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #MONTHS_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	MONTHS(0, "MONTHS", "months"),
+
+	/**
+	 * The '<em><b>YEARS</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #YEARS_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	YEARS(0, "YEARS", "years");
+
+	/**
+	 * The '<em><b>DAYS</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>DAYS</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #DAYS
+	 * @model literal="days"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int DAYS_VALUE = 0;
+
+	/**
+	 * The '<em><b>WEEKS</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>WEEKS</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #WEEKS
+	 * @model literal="weeks"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int WEEKS_VALUE = 0;
+
+	/**
+	 * The '<em><b>MONTHS</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>MONTHS</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #MONTHS
+	 * @model literal="months"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int MONTHS_VALUE = 0;
+
+	/**
+	 * The '<em><b>YEARS</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>YEARS</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #YEARS
+	 * @model literal="years"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int YEARS_VALUE = 0;
+
+	/**
+	 * An array of all the '<em><b>EDate Step Type</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static final EDateStepType[] VALUES_ARRAY =
+		new EDateStepType[] {
+			DAYS,
+			WEEKS,
+			MONTHS,
+			YEARS,
+		};
+
+	/**
+	 * A public read-only list of all the '<em><b>EDate Step Type</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final List<EDateStepType> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+	/**
+	 * Returns the '<em><b>EDate Step Type</b></em>' literal with the specified literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static EDateStepType get(String literal) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			EDateStepType result = VALUES_ARRAY[i];
+			if (result.toString().equals(literal)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>EDate Step Type</b></em>' literal with the specified name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static EDateStepType getByName(String name) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			EDateStepType result = VALUES_ARRAY[i];
+			if (result.getName().equals(name)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>EDate Step Type</b></em>' literal with the specified integer value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static EDateStepType get(int value) {
+		switch (value) {
+			case DAYS_VALUE: return DAYS;
+		}
+		return null;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final int value;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final String name;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final String literal;
+
+	/**
+	 * Only this class can construct instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EDateStepType(int value, String name, String literal) {
+		this.value = value;
+		this.name = name;
+		this.literal = literal;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getValue() {
+	  return value;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getName() {
+	  return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getLiteral() {
+	  return literal;
+	}
+
+	/**
+	 * Returns the literal value of the enumerator, which is its string representation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		return literal;
+	}
+	
+} //EDateStepType
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockAttributeByObject.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockAttributeByObject.java
new file mode 100644
index 0000000..90a5780
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockAttributeByObject.java
@@ -0,0 +1,142 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock;
+
+import org.eclipse.osbp.dsl.semantic.entity.LEntityAttribute;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Entity Mock Attribute By Object</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByObject#getAttributeRef <em>Attribute Ref</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByObject#getReference <em>Reference</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByObject#getResourceEnum <em>Resource Enum</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByObject#getResourceAttribute <em>Resource Attribute</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockAttributeByObject()
+ * @model
+ * @generated
+ */
+public interface EntityMockAttributeByObject extends IEntityMockAttribute {
+	/**
+	 * Returns the value of the '<em><b>Attribute Ref</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Attribute Ref</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Attribute Ref</em>' reference.
+	 * @see #setAttributeRef(LEntityAttribute)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockAttributeByObject_AttributeRef()
+	 * @model
+	 * @generated
+	 */
+	LEntityAttribute getAttributeRef();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByObject#getAttributeRef <em>Attribute Ref</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Attribute Ref</em>' reference.
+	 * @see #getAttributeRef()
+	 * @generated
+	 */
+	void setAttributeRef(LEntityAttribute value);
+
+	/**
+	 * Returns the value of the '<em><b>Reference</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Reference</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Reference</em>' containment reference.
+	 * @see #setReference(EntityMockReferencedObjectAttribute)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockAttributeByObject_Reference()
+	 * @model containment="true"
+	 * @generated
+	 */
+	EntityMockReferencedObjectAttribute getReference();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByObject#getReference <em>Reference</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Reference</em>' containment reference.
+	 * @see #getReference()
+	 * @generated
+	 */
+	void setReference(EntityMockReferencedObjectAttribute value);
+
+	/**
+	 * Returns the value of the '<em><b>Resource Enum</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Resource Enum</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Resource Enum</em>' reference.
+	 * @see #setResourceEnum(EntityMockObjectEnum)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockAttributeByObject_ResourceEnum()
+	 * @model
+	 * @generated
+	 */
+	EntityMockObjectEnum getResourceEnum();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByObject#getResourceEnum <em>Resource Enum</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Resource Enum</em>' reference.
+	 * @see #getResourceEnum()
+	 * @generated
+	 */
+	void setResourceEnum(EntityMockObjectEnum value);
+
+	/**
+	 * Returns the value of the '<em><b>Resource Attribute</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Resource Attribute</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Resource Attribute</em>' reference.
+	 * @see #setResourceAttribute(EntityMockResourceAttribute)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockAttributeByObject_ResourceAttribute()
+	 * @model
+	 * @generated
+	 */
+	EntityMockResourceAttribute getResourceAttribute();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByObject#getResourceAttribute <em>Resource Attribute</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Resource Attribute</em>' reference.
+	 * @see #getResourceAttribute()
+	 * @generated
+	 */
+	void setResourceAttribute(EntityMockResourceAttribute value);
+
+} // EntityMockAttributeByObject
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockAttributeByReference.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockAttributeByReference.java
new file mode 100644
index 0000000..19cce76
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockAttributeByReference.java
@@ -0,0 +1,115 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock;
+
+import org.eclipse.osbp.dsl.semantic.entity.LEntityReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Entity Mock Attribute By Reference</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByReference#getAttributeRef <em>Attribute Ref</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByReference#getMockedEntity <em>Mocked Entity</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByReference#getOptionalFor <em>Optional For</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockAttributeByReference()
+ * @model
+ * @generated
+ */
+public interface EntityMockAttributeByReference extends IEntityMockAttribute {
+	/**
+	 * Returns the value of the '<em><b>Attribute Ref</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Attribute Ref</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Attribute Ref</em>' reference.
+	 * @see #setAttributeRef(LEntityReference)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockAttributeByReference_AttributeRef()
+	 * @model
+	 * @generated
+	 */
+	LEntityReference getAttributeRef();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByReference#getAttributeRef <em>Attribute Ref</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Attribute Ref</em>' reference.
+	 * @see #getAttributeRef()
+	 * @generated
+	 */
+	void setAttributeRef(LEntityReference value);
+
+	/**
+	 * Returns the value of the '<em><b>Mocked Entity</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Mocked Entity</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Mocked Entity</em>' reference.
+	 * @see #setMockedEntity(EntityMockEntity)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockAttributeByReference_MockedEntity()
+	 * @model
+	 * @generated
+	 */
+	EntityMockEntity getMockedEntity();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByReference#getMockedEntity <em>Mocked Entity</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Mocked Entity</em>' reference.
+	 * @see #getMockedEntity()
+	 * @generated
+	 */
+	void setMockedEntity(EntityMockEntity value);
+
+	/**
+	 * Returns the value of the '<em><b>Optional For</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Optional For</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Optional For</em>' attribute.
+	 * @see #setOptionalFor(int)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockAttributeByReference_OptionalFor()
+	 * @model unique="false"
+	 * @generated
+	 */
+	int getOptionalFor();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByReference#getOptionalFor <em>Optional For</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Optional For</em>' attribute.
+	 * @see #getOptionalFor()
+	 * @generated
+	 */
+	void setOptionalFor(int value);
+
+} // EntityMockAttributeByReference
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockAttributeFiller.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockAttributeFiller.java
new file mode 100644
index 0000000..ebac5cd
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockAttributeFiller.java
@@ -0,0 +1,88 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock;
+
+import org.eclipse.osbp.dsl.semantic.entity.LEntityAttribute;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Entity Mock Attribute Filler</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.EntityMockAttributeFiller#getAttributeRef <em>Attribute Ref</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.EntityMockAttributeFiller#getFillerType <em>Filler Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockAttributeFiller()
+ * @model
+ * @generated
+ */
+public interface EntityMockAttributeFiller extends IEntityMockAttribute {
+	/**
+	 * Returns the value of the '<em><b>Attribute Ref</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Attribute Ref</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Attribute Ref</em>' reference.
+	 * @see #setAttributeRef(LEntityAttribute)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockAttributeFiller_AttributeRef()
+	 * @model
+	 * @generated
+	 */
+	LEntityAttribute getAttributeRef();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.EntityMockAttributeFiller#getAttributeRef <em>Attribute Ref</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Attribute Ref</em>' reference.
+	 * @see #getAttributeRef()
+	 * @generated
+	 */
+	void setAttributeRef(LEntityAttribute value);
+
+	/**
+	 * Returns the value of the '<em><b>Filler Type</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Filler Type</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Filler Type</em>' containment reference.
+	 * @see #setFillerType(PropertyFillerType)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockAttributeFiller_FillerType()
+	 * @model containment="true"
+	 * @generated
+	 */
+	PropertyFillerType getFillerType();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.EntityMockAttributeFiller#getFillerType <em>Filler Type</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Filler Type</em>' containment reference.
+	 * @see #getFillerType()
+	 * @generated
+	 */
+	void setFillerType(PropertyFillerType value);
+
+} // EntityMockAttributeFiller
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockByResourceAttribute.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockByResourceAttribute.java
new file mode 100644
index 0000000..b1b2edc
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockByResourceAttribute.java
@@ -0,0 +1,90 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.osbp.dsl.semantic.entity.LEntityAttribute;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Entity Mock By Resource Attribute</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.EntityMockByResourceAttribute#getAttributeRef <em>Attribute Ref</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.EntityMockByResourceAttribute#getResourceAttribute <em>Resource Attribute</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockByResourceAttribute()
+ * @model
+ * @generated
+ */
+public interface EntityMockByResourceAttribute extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Attribute Ref</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Attribute Ref</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Attribute Ref</em>' reference.
+	 * @see #setAttributeRef(LEntityAttribute)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockByResourceAttribute_AttributeRef()
+	 * @model
+	 * @generated
+	 */
+	LEntityAttribute getAttributeRef();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.EntityMockByResourceAttribute#getAttributeRef <em>Attribute Ref</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Attribute Ref</em>' reference.
+	 * @see #getAttributeRef()
+	 * @generated
+	 */
+	void setAttributeRef(LEntityAttribute value);
+
+	/**
+	 * Returns the value of the '<em><b>Resource Attribute</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Resource Attribute</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Resource Attribute</em>' reference.
+	 * @see #setResourceAttribute(EntityMockResourceAttribute)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockByResourceAttribute_ResourceAttribute()
+	 * @model
+	 * @generated
+	 */
+	EntityMockResourceAttribute getResourceAttribute();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.EntityMockByResourceAttribute#getResourceAttribute <em>Resource Attribute</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Resource Attribute</em>' reference.
+	 * @see #getResourceAttribute()
+	 * @generated
+	 */
+	void setResourceAttribute(EntityMockResourceAttribute value);
+
+} // EntityMockByResourceAttribute
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockDSLFactory.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockDSLFactory.java
new file mode 100644
index 0000000..49cff62
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockDSLFactory.java
@@ -0,0 +1,593 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage
+ * @generated
+ */
+public interface EntityMockDSLFactory extends EFactory {
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	EntityMockDSLFactory eINSTANCE = org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLFactoryImpl.init();
+
+	/**
+	 * Returns a new object of class '<em>Entity Mock Model</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Entity Mock Model</em>'.
+	 * @generated
+	 */
+	EntityMockModel createEntityMockModel();
+
+	/**
+	 * Returns a new object of class '<em>Entity Mock Package</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Entity Mock Package</em>'.
+	 * @generated
+	 */
+	EntityMockPackage createEntityMockPackage();
+
+	/**
+	 * Returns a new object of class '<em>Running Data Interchanges</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Running Data Interchanges</em>'.
+	 * @generated
+	 */
+	RunningDataInterchanges createRunningDataInterchanges();
+
+	/**
+	 * Returns a new object of class '<em>Running Data Interchange</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Running Data Interchange</em>'.
+	 * @generated
+	 */
+	RunningDataInterchange createRunningDataInterchange();
+
+	/**
+	 * Returns a new object of class '<em>Entity Mock Lazy Resolver</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Entity Mock Lazy Resolver</em>'.
+	 * @generated
+	 */
+	EntityMockLazyResolver createEntityMockLazyResolver();
+
+	/**
+	 * Returns a new object of class '<em>Entity Mock Resources</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Entity Mock Resources</em>'.
+	 * @generated
+	 */
+	EntityMockResources createEntityMockResources();
+
+	/**
+	 * Returns a new object of class '<em>Entity Mock Resource</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Entity Mock Resource</em>'.
+	 * @generated
+	 */
+	EntityMockResource createEntityMockResource();
+
+	/**
+	 * Returns a new object of class '<em>Entity Mock Resource Attribute</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Entity Mock Resource Attribute</em>'.
+	 * @generated
+	 */
+	EntityMockResourceAttribute createEntityMockResourceAttribute();
+
+	/**
+	 * Returns a new object of class '<em>Entity Mock Resource Data Row</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Entity Mock Resource Data Row</em>'.
+	 * @generated
+	 */
+	EntityMockResourceDataRow createEntityMockResourceDataRow();
+
+	/**
+	 * Returns a new object of class '<em>Entity Mock Objects</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Entity Mock Objects</em>'.
+	 * @generated
+	 */
+	EntityMockObjects createEntityMockObjects();
+
+	/**
+	 * Returns a new object of class '<em>Entity Mock Object</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Entity Mock Object</em>'.
+	 * @generated
+	 */
+	EntityMockObject createEntityMockObject();
+
+	/**
+	 * Returns a new object of class '<em>Entity Mock Object Enum</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Entity Mock Object Enum</em>'.
+	 * @generated
+	 */
+	EntityMockObjectEnum createEntityMockObjectEnum();
+
+	/**
+	 * Returns a new object of class '<em>IEntity Mock Object Attribute</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>IEntity Mock Object Attribute</em>'.
+	 * @generated
+	 */
+	IEntityMockObjectAttribute createIEntityMockObjectAttribute();
+
+	/**
+	 * Returns a new object of class '<em>Entity Mock Object Plain Value</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Entity Mock Object Plain Value</em>'.
+	 * @generated
+	 */
+	EntityMockObjectPlainValue createEntityMockObjectPlainValue();
+
+	/**
+	 * Returns a new object of class '<em>Entity Mock Object Resource Value</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Entity Mock Object Resource Value</em>'.
+	 * @generated
+	 */
+	EntityMockObjectResourceValue createEntityMockObjectResourceValue();
+
+	/**
+	 * Returns a new object of class '<em>Entity Mock Object Array Value</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Entity Mock Object Array Value</em>'.
+	 * @generated
+	 */
+	EntityMockObjectArrayValue createEntityMockObjectArrayValue();
+
+	/**
+	 * Returns a new object of class '<em>Entity Mock Object Item Value</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Entity Mock Object Item Value</em>'.
+	 * @generated
+	 */
+	EntityMockObjectItemValue createEntityMockObjectItemValue();
+
+	/**
+	 * Returns a new object of class '<em>Entity Mock Object Embed</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Entity Mock Object Embed</em>'.
+	 * @generated
+	 */
+	EntityMockObjectEmbed createEntityMockObjectEmbed();
+
+	/**
+	 * Returns a new object of class '<em>Entity Mock Object Function</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Entity Mock Object Function</em>'.
+	 * @generated
+	 */
+	EntityMockObjectFunction createEntityMockObjectFunction();
+
+	/**
+	 * Returns a new object of class '<em>Entity Mock Object Function Parameter</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Entity Mock Object Function Parameter</em>'.
+	 * @generated
+	 */
+	EntityMockObjectFunctionParameter createEntityMockObjectFunctionParameter();
+
+	/**
+	 * Returns a new object of class '<em>Entity Mock Object Fill</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Entity Mock Object Fill</em>'.
+	 * @generated
+	 */
+	EntityMockObjectFill createEntityMockObjectFill();
+
+	/**
+	 * Returns a new object of class '<em>Property Filler Type</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Property Filler Type</em>'.
+	 * @generated
+	 */
+	PropertyFillerType createPropertyFillerType();
+
+	/**
+	 * Returns a new object of class '<em>Property Filler Date Type</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Property Filler Date Type</em>'.
+	 * @generated
+	 */
+	PropertyFillerDateType createPropertyFillerDateType();
+
+	/**
+	 * Returns a new object of class '<em>Property Filler Boolean</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Property Filler Boolean</em>'.
+	 * @generated
+	 */
+	PropertyFillerBoolean createPropertyFillerBoolean();
+
+	/**
+	 * Returns a new object of class '<em>Property Filler Double Type</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Property Filler Double Type</em>'.
+	 * @generated
+	 */
+	PropertyFillerDoubleType createPropertyFillerDoubleType();
+
+	/**
+	 * Returns a new object of class '<em>Property Filler Integer Type</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Property Filler Integer Type</em>'.
+	 * @generated
+	 */
+	PropertyFillerIntegerType createPropertyFillerIntegerType();
+
+	/**
+	 * Returns a new object of class '<em>Property Filler Text Type</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Property Filler Text Type</em>'.
+	 * @generated
+	 */
+	PropertyFillerTextType createPropertyFillerTextType();
+
+	/**
+	 * Returns a new object of class '<em>Property Filler Date Future</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Property Filler Date Future</em>'.
+	 * @generated
+	 */
+	PropertyFillerDateFuture createPropertyFillerDateFuture();
+
+	/**
+	 * Returns a new object of class '<em>Property Filler Date Past</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Property Filler Date Past</em>'.
+	 * @generated
+	 */
+	PropertyFillerDatePast createPropertyFillerDatePast();
+
+	/**
+	 * Returns a new object of class '<em>Property Filler Date Range</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Property Filler Date Range</em>'.
+	 * @generated
+	 */
+	PropertyFillerDateRange createPropertyFillerDateRange();
+
+	/**
+	 * Returns a new object of class '<em>Property Filler Signed Double Range</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Property Filler Signed Double Range</em>'.
+	 * @generated
+	 */
+	PropertyFillerSignedDoubleRange createPropertyFillerSignedDoubleRange();
+
+	/**
+	 * Returns a new object of class '<em>Property Filler Signed Double Random</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Property Filler Signed Double Random</em>'.
+	 * @generated
+	 */
+	PropertyFillerSignedDoubleRandom createPropertyFillerSignedDoubleRandom();
+
+	/**
+	 * Returns a new object of class '<em>Property Filler Signed Integer Range</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Property Filler Signed Integer Range</em>'.
+	 * @generated
+	 */
+	PropertyFillerSignedIntegerRange createPropertyFillerSignedIntegerRange();
+
+	/**
+	 * Returns a new object of class '<em>Property Filler Signed Integer Random</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Property Filler Signed Integer Random</em>'.
+	 * @generated
+	 */
+	PropertyFillerSignedIntegerRandom createPropertyFillerSignedIntegerRandom();
+
+	/**
+	 * Returns a new object of class '<em>Property Filler Text Random</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Property Filler Text Random</em>'.
+	 * @generated
+	 */
+	PropertyFillerTextRandom createPropertyFillerTextRandom();
+
+	/**
+	 * Returns a new object of class '<em>Property Filler Text Paragraphs</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Property Filler Text Paragraphs</em>'.
+	 * @generated
+	 */
+	PropertyFillerTextParagraphs createPropertyFillerTextParagraphs();
+
+	/**
+	 * Returns a new object of class '<em>Property Filler Text Sentences</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Property Filler Text Sentences</em>'.
+	 * @generated
+	 */
+	PropertyFillerTextSentences createPropertyFillerTextSentences();
+
+	/**
+	 * Returns a new object of class '<em>Property Filler Text Words</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Property Filler Text Words</em>'.
+	 * @generated
+	 */
+	PropertyFillerTextWords createPropertyFillerTextWords();
+
+	/**
+	 * Returns a new object of class '<em>Property Filler Unsigned Double Range</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Property Filler Unsigned Double Range</em>'.
+	 * @generated
+	 */
+	PropertyFillerUnsignedDoubleRange createPropertyFillerUnsignedDoubleRange();
+
+	/**
+	 * Returns a new object of class '<em>Property Filler Unsigned Double Random</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Property Filler Unsigned Double Random</em>'.
+	 * @generated
+	 */
+	PropertyFillerUnsignedDoubleRandom createPropertyFillerUnsignedDoubleRandom();
+
+	/**
+	 * Returns a new object of class '<em>Property Filler Unsigned Integer Range</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Property Filler Unsigned Integer Range</em>'.
+	 * @generated
+	 */
+	PropertyFillerUnsignedIntegerRange createPropertyFillerUnsignedIntegerRange();
+
+	/**
+	 * Returns a new object of class '<em>Property Filler Unsigned Integer Random</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Property Filler Unsigned Integer Random</em>'.
+	 * @generated
+	 */
+	PropertyFillerUnsignedIntegerRandom createPropertyFillerUnsignedIntegerRandom();
+
+	/**
+	 * Returns a new object of class '<em>Entity Mock Data Types</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Entity Mock Data Types</em>'.
+	 * @generated
+	 */
+	EntityMockDataTypes createEntityMockDataTypes();
+
+	/**
+	 * Returns a new object of class '<em>Entity Mock Data Type</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Entity Mock Data Type</em>'.
+	 * @generated
+	 */
+	EntityMockDataType createEntityMockDataType();
+
+	/**
+	 * Returns a new object of class '<em>Entity Mock Entities</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Entity Mock Entities</em>'.
+	 * @generated
+	 */
+	EntityMockEntities createEntityMockEntities();
+
+	/**
+	 * Returns a new object of class '<em>Entity Mock Entity</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Entity Mock Entity</em>'.
+	 * @generated
+	 */
+	EntityMockEntity createEntityMockEntity();
+
+	/**
+	 * Returns a new object of class '<em>IIterate</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>IIterate</em>'.
+	 * @generated
+	 */
+	IIterate createIIterate();
+
+	/**
+	 * Returns a new object of class '<em>Integer Iterate</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Integer Iterate</em>'.
+	 * @generated
+	 */
+	IntegerIterate createIntegerIterate();
+
+	/**
+	 * Returns a new object of class '<em>Date Iterate</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Date Iterate</em>'.
+	 * @generated
+	 */
+	DateIterate createDateIterate();
+
+	/**
+	 * Returns a new object of class '<em>Date</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Date</em>'.
+	 * @generated
+	 */
+	Date createDate();
+
+	/**
+	 * Returns a new object of class '<em>Entity Mock By Resource Attribute</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Entity Mock By Resource Attribute</em>'.
+	 * @generated
+	 */
+	EntityMockByResourceAttribute createEntityMockByResourceAttribute();
+
+	/**
+	 * Returns a new object of class '<em>Entity Mock Temporary</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Entity Mock Temporary</em>'.
+	 * @generated
+	 */
+	EntityMockTemporary createEntityMockTemporary();
+
+	/**
+	 * Returns a new object of class '<em>IEntity Mock Object Usable</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>IEntity Mock Object Usable</em>'.
+	 * @generated
+	 */
+	IEntityMockObjectUsable createIEntityMockObjectUsable();
+
+	/**
+	 * Returns a new object of class '<em>IEntity Mock Entity Usable</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>IEntity Mock Entity Usable</em>'.
+	 * @generated
+	 */
+	IEntityMockEntityUsable createIEntityMockEntityUsable();
+
+	/**
+	 * Returns a new object of class '<em>IEntity Mock Attribute</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>IEntity Mock Attribute</em>'.
+	 * @generated
+	 */
+	IEntityMockAttribute createIEntityMockAttribute();
+
+	/**
+	 * Returns a new object of class '<em>Entity Mock Referenced Object Attribute</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Entity Mock Referenced Object Attribute</em>'.
+	 * @generated
+	 */
+	EntityMockReferencedObjectAttribute createEntityMockReferencedObjectAttribute();
+
+	/**
+	 * Returns a new object of class '<em>Entity Mock Attribute By Object</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Entity Mock Attribute By Object</em>'.
+	 * @generated
+	 */
+	EntityMockAttributeByObject createEntityMockAttributeByObject();
+
+	/**
+	 * Returns a new object of class '<em>Entity Mock Attribute Filler</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Entity Mock Attribute Filler</em>'.
+	 * @generated
+	 */
+	EntityMockAttributeFiller createEntityMockAttributeFiller();
+
+	/**
+	 * Returns a new object of class '<em>Entity Mock Attribute By Reference</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Entity Mock Attribute By Reference</em>'.
+	 * @generated
+	 */
+	EntityMockAttributeByReference createEntityMockAttributeByReference();
+
+	/**
+	 * Returns a new object of class '<em>Entity Mock Entity Function</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Entity Mock Entity Function</em>'.
+	 * @generated
+	 */
+	EntityMockEntityFunction createEntityMockEntityFunction();
+
+	/**
+	 * Returns a new object of class '<em>Entity Mock Entity Function Parameter</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Entity Mock Entity Function Parameter</em>'.
+	 * @generated
+	 */
+	EntityMockEntityFunctionParameter createEntityMockEntityFunctionParameter();
+
+	/**
+	 * Returns the package supported by this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
+	EntityMockDSLPackage getEntityMockDSLPackage();
+
+} //EntityMockDSLFactory
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockDSLPackage.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockDSLPackage.java
new file mode 100644
index 0000000..f65c6b8
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockDSLPackage.java
@@ -0,0 +1,7133 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.osbp.dsl.semantic.common.types.OSBPTypesPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ *   <li>each class,</li>
+ *   <li>each feature of each class,</li>
+ *   <li>each operation of each class,</li>
+ *   <li>each enum,</li>
+ *   <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * *
+ * 
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ * 
+ *  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:
+ * 	   Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ * <!-- end-model-doc -->
+ * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLFactory
+ * @model kind="package"
+ *        annotation="http://www.eclipse.org/emf/2002/GenModel fileExtensions='entitymock' modelName='EntityMockDSL' prefix='EntityMockDSL' updateClasspath='false' copyrightText='Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)\r\n All rights reserved. This program and the accompanying materials \r\n are made available under the terms of the Eclipse Public License v1.0 \r\n which accompanies this distribution, and is available at \r\n http://www.eclipse.org/legal/epl-v10.html \r\n\r\n Based on ideas from Xtext, Xtend, Xcore\r\n  \r\n Contributors:  \r\n \t\tChristophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation \r\n ' basePackage='org.eclipse.osbp.xtext'"
+ *        annotation="http://www.eclipse.org/emf/2002/Ecore rootPackage='entitymockdsl'"
+ * @generated
+ */
+public interface EntityMockDSLPackage extends EPackage {
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNAME = "entitymock";
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_URI = "http://osbp.eclipse.org/xtext/entitymock/EntityMockDSL";
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_PREFIX = "entitymockdsl";
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	EntityMockDSLPackage eINSTANCE = org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl.init();
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockModelImpl <em>Entity Mock Model</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockModelImpl
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getEntityMockModel()
+	 * @generated
+	 */
+	int ENTITY_MOCK_MODEL = 0;
+
+	/**
+	 * The feature id for the '<em><b>Packages</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_MODEL__PACKAGES = 0;
+
+	/**
+	 * The number of structural features of the '<em>Entity Mock Model</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_MODEL_FEATURE_COUNT = 1;
+
+	/**
+	 * The number of operations of the '<em>Entity Mock Model</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_MODEL_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockPackageImpl <em>Entity Mock Package</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockPackageImpl
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getEntityMockPackage()
+	 * @generated
+	 */
+	int ENTITY_MOCK_PACKAGE = 1;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_PACKAGE__NAME = OSBPTypesPackage.LPACKAGE__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Imports</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_PACKAGE__IMPORTS = OSBPTypesPackage.LPACKAGE__IMPORTS;
+
+	/**
+	 * The feature id for the '<em><b>Run Priority</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_PACKAGE__RUN_PRIORITY = OSBPTypesPackage.LPACKAGE_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Datainterchanges</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_PACKAGE__DATAINTERCHANGES = OSBPTypesPackage.LPACKAGE_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Resources</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_PACKAGE__RESOURCES = OSBPTypesPackage.LPACKAGE_FEATURE_COUNT + 2;
+
+	/**
+	 * The feature id for the '<em><b>Objects</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_PACKAGE__OBJECTS = OSBPTypesPackage.LPACKAGE_FEATURE_COUNT + 3;
+
+	/**
+	 * The feature id for the '<em><b>Datatypes</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_PACKAGE__DATATYPES = OSBPTypesPackage.LPACKAGE_FEATURE_COUNT + 4;
+
+	/**
+	 * The feature id for the '<em><b>Entities</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_PACKAGE__ENTITIES = OSBPTypesPackage.LPACKAGE_FEATURE_COUNT + 5;
+
+	/**
+	 * The number of structural features of the '<em>Entity Mock Package</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_PACKAGE_FEATURE_COUNT = OSBPTypesPackage.LPACKAGE_FEATURE_COUNT + 6;
+
+	/**
+	 * The operation id for the '<em>EResolve Proxy</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_PACKAGE___ERESOLVE_PROXY__INTERNALEOBJECT = OSBPTypesPackage.LPACKAGE___ERESOLVE_PROXY__INTERNALEOBJECT;
+
+	/**
+	 * The number of operations of the '<em>Entity Mock Package</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_PACKAGE_OPERATION_COUNT = OSBPTypesPackage.LPACKAGE_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.xtext.entitymock.impl.RunningDataInterchangesImpl <em>Running Data Interchanges</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.RunningDataInterchangesImpl
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getRunningDataInterchanges()
+	 * @generated
+	 */
+	int RUNNING_DATA_INTERCHANGES = 2;
+
+	/**
+	 * The feature id for the '<em><b>Datainterchanges</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RUNNING_DATA_INTERCHANGES__DATAINTERCHANGES = 0;
+
+	/**
+	 * The number of structural features of the '<em>Running Data Interchanges</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RUNNING_DATA_INTERCHANGES_FEATURE_COUNT = 1;
+
+	/**
+	 * The number of operations of the '<em>Running Data Interchanges</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RUNNING_DATA_INTERCHANGES_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.xtext.entitymock.impl.RunningDataInterchangeImpl <em>Running Data Interchange</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.RunningDataInterchangeImpl
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getRunningDataInterchange()
+	 * @generated
+	 */
+	int RUNNING_DATA_INTERCHANGE = 3;
+
+	/**
+	 * The feature id for the '<em><b>Datainterchange Ref</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RUNNING_DATA_INTERCHANGE__DATAINTERCHANGE_REF = 0;
+
+	/**
+	 * The feature id for the '<em><b>File URL</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RUNNING_DATA_INTERCHANGE__FILE_URL = 1;
+
+	/**
+	 * The number of structural features of the '<em>Running Data Interchange</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RUNNING_DATA_INTERCHANGE_FEATURE_COUNT = 2;
+
+	/**
+	 * The number of operations of the '<em>Running Data Interchange</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RUNNING_DATA_INTERCHANGE_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockLazyResolverImpl <em>Entity Mock Lazy Resolver</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockLazyResolverImpl
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getEntityMockLazyResolver()
+	 * @generated
+	 */
+	int ENTITY_MOCK_LAZY_RESOLVER = 4;
+
+	/**
+	 * The number of structural features of the '<em>Entity Mock Lazy Resolver</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_LAZY_RESOLVER_FEATURE_COUNT = 0;
+
+	/**
+	 * The operation id for the '<em>EResolve Proxy</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_LAZY_RESOLVER___ERESOLVE_PROXY__INTERNALEOBJECT = 0;
+
+	/**
+	 * The number of operations of the '<em>Entity Mock Lazy Resolver</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_LAZY_RESOLVER_OPERATION_COUNT = 1;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockResourcesImpl <em>Entity Mock Resources</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockResourcesImpl
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getEntityMockResources()
+	 * @generated
+	 */
+	int ENTITY_MOCK_RESOURCES = 5;
+
+	/**
+	 * The feature id for the '<em><b>Resources</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_RESOURCES__RESOURCES = 0;
+
+	/**
+	 * The number of structural features of the '<em>Entity Mock Resources</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_RESOURCES_FEATURE_COUNT = 1;
+
+	/**
+	 * The number of operations of the '<em>Entity Mock Resources</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_RESOURCES_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockResourceImpl <em>Entity Mock Resource</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockResourceImpl
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getEntityMockResource()
+	 * @generated
+	 */
+	int ENTITY_MOCK_RESOURCE = 6;
+
+	/**
+	 * The feature id for the '<em><b>Annotations</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_RESOURCE__ANNOTATIONS = OSBPTypesPackage.LENUM__ANNOTATIONS;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_RESOURCE__NAME = OSBPTypesPackage.LENUM__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Annotation Info</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_RESOURCE__ANNOTATION_INFO = OSBPTypesPackage.LENUM__ANNOTATION_INFO;
+
+	/**
+	 * The feature id for the '<em><b>Literals</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_RESOURCE__LITERALS = OSBPTypesPackage.LENUM__LITERALS;
+
+	/**
+	 * The feature id for the '<em><b>Attributes</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_RESOURCE__ATTRIBUTES = OSBPTypesPackage.LENUM_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Datarows</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_RESOURCE__DATAROWS = OSBPTypesPackage.LENUM_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of structural features of the '<em>Entity Mock Resource</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_RESOURCE_FEATURE_COUNT = OSBPTypesPackage.LENUM_FEATURE_COUNT + 2;
+
+	/**
+	 * The operation id for the '<em>EResolve Proxy</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_RESOURCE___ERESOLVE_PROXY__INTERNALEOBJECT = OSBPTypesPackage.LENUM___ERESOLVE_PROXY__INTERNALEOBJECT;
+
+	/**
+	 * The operation id for the '<em>Get Resolved Annotations</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_RESOURCE___GET_RESOLVED_ANNOTATIONS = OSBPTypesPackage.LENUM___GET_RESOLVED_ANNOTATIONS;
+
+	/**
+	 * The number of operations of the '<em>Entity Mock Resource</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_RESOURCE_OPERATION_COUNT = OSBPTypesPackage.LENUM_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockResourceAttributeImpl <em>Entity Mock Resource Attribute</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockResourceAttributeImpl
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getEntityMockResourceAttribute()
+	 * @generated
+	 */
+	int ENTITY_MOCK_RESOURCE_ATTRIBUTE = 7;
+
+	/**
+	 * The feature id for the '<em><b>Annotations</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_RESOURCE_ATTRIBUTE__ANNOTATIONS = OSBPTypesPackage.LENUM__ANNOTATIONS;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_RESOURCE_ATTRIBUTE__NAME = OSBPTypesPackage.LENUM__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Annotation Info</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_RESOURCE_ATTRIBUTE__ANNOTATION_INFO = OSBPTypesPackage.LENUM__ANNOTATION_INFO;
+
+	/**
+	 * The feature id for the '<em><b>Literals</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_RESOURCE_ATTRIBUTE__LITERALS = OSBPTypesPackage.LENUM__LITERALS;
+
+	/**
+	 * The number of structural features of the '<em>Entity Mock Resource Attribute</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_RESOURCE_ATTRIBUTE_FEATURE_COUNT = OSBPTypesPackage.LENUM_FEATURE_COUNT + 0;
+
+	/**
+	 * The operation id for the '<em>EResolve Proxy</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_RESOURCE_ATTRIBUTE___ERESOLVE_PROXY__INTERNALEOBJECT = OSBPTypesPackage.LENUM___ERESOLVE_PROXY__INTERNALEOBJECT;
+
+	/**
+	 * The operation id for the '<em>Get Resolved Annotations</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_RESOURCE_ATTRIBUTE___GET_RESOLVED_ANNOTATIONS = OSBPTypesPackage.LENUM___GET_RESOLVED_ANNOTATIONS;
+
+	/**
+	 * The number of operations of the '<em>Entity Mock Resource Attribute</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_RESOURCE_ATTRIBUTE_OPERATION_COUNT = OSBPTypesPackage.LENUM_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockResourceDataRowImpl <em>Entity Mock Resource Data Row</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockResourceDataRowImpl
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getEntityMockResourceDataRow()
+	 * @generated
+	 */
+	int ENTITY_MOCK_RESOURCE_DATA_ROW = 8;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_RESOURCE_DATA_ROW__NAME = OSBPTypesPackage.LENUM_LITERAL__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Default</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_RESOURCE_DATA_ROW__DEFAULT = OSBPTypesPackage.LENUM_LITERAL__DEFAULT;
+
+	/**
+	 * The feature id for the '<em><b>Null</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_RESOURCE_DATA_ROW__NULL = OSBPTypesPackage.LENUM_LITERAL__NULL;
+
+	/**
+	 * The feature id for the '<em><b>Value</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_RESOURCE_DATA_ROW__VALUE = OSBPTypesPackage.LENUM_LITERAL__VALUE;
+
+	/**
+	 * The feature id for the '<em><b>Values</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_RESOURCE_DATA_ROW__VALUES = OSBPTypesPackage.LENUM_LITERAL_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>Entity Mock Resource Data Row</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_RESOURCE_DATA_ROW_FEATURE_COUNT = OSBPTypesPackage.LENUM_LITERAL_FEATURE_COUNT + 1;
+
+	/**
+	 * The operation id for the '<em>EResolve Proxy</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_RESOURCE_DATA_ROW___ERESOLVE_PROXY__INTERNALEOBJECT = OSBPTypesPackage.LENUM_LITERAL___ERESOLVE_PROXY__INTERNALEOBJECT;
+
+	/**
+	 * The number of operations of the '<em>Entity Mock Resource Data Row</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_RESOURCE_DATA_ROW_OPERATION_COUNT = OSBPTypesPackage.LENUM_LITERAL_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockObjectsImpl <em>Entity Mock Objects</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockObjectsImpl
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getEntityMockObjects()
+	 * @generated
+	 */
+	int ENTITY_MOCK_OBJECTS = 9;
+
+	/**
+	 * The feature id for the '<em><b>Objects</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_OBJECTS__OBJECTS = 0;
+
+	/**
+	 * The number of structural features of the '<em>Entity Mock Objects</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_OBJECTS_FEATURE_COUNT = 1;
+
+	/**
+	 * The number of operations of the '<em>Entity Mock Objects</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_OBJECTS_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockObjectImpl <em>Entity Mock Object</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockObjectImpl
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getEntityMockObject()
+	 * @generated
+	 */
+	int ENTITY_MOCK_OBJECT = 10;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_OBJECT__NAME = 0;
+
+	/**
+	 * The feature id for the '<em><b>Enumerations</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_OBJECT__ENUMERATIONS = 1;
+
+	/**
+	 * The feature id for the '<em><b>Attributes</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_OBJECT__ATTRIBUTES = 2;
+
+	/**
+	 * The feature id for the '<em><b>Calculations</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_OBJECT__CALCULATIONS = 3;
+
+	/**
+	 * The number of structural features of the '<em>Entity Mock Object</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_OBJECT_FEATURE_COUNT = 4;
+
+	/**
+	 * The number of operations of the '<em>Entity Mock Object</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_OBJECT_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.xtext.entitymock.impl.IEntityMockObjectUsableImpl <em>IEntity Mock Object Usable</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.IEntityMockObjectUsableImpl
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getIEntityMockObjectUsable()
+	 * @generated
+	 */
+	int IENTITY_MOCK_OBJECT_USABLE = 52;
+
+	/**
+	 * The number of structural features of the '<em>IEntity Mock Object Usable</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IENTITY_MOCK_OBJECT_USABLE_FEATURE_COUNT = ENTITY_MOCK_LAZY_RESOLVER_FEATURE_COUNT + 0;
+
+	/**
+	 * The operation id for the '<em>EResolve Proxy</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IENTITY_MOCK_OBJECT_USABLE___ERESOLVE_PROXY__INTERNALEOBJECT = ENTITY_MOCK_LAZY_RESOLVER___ERESOLVE_PROXY__INTERNALEOBJECT;
+
+	/**
+	 * The number of operations of the '<em>IEntity Mock Object Usable</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IENTITY_MOCK_OBJECT_USABLE_OPERATION_COUNT = ENTITY_MOCK_LAZY_RESOLVER_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockObjectEnumImpl <em>Entity Mock Object Enum</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockObjectEnumImpl
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getEntityMockObjectEnum()
+	 * @generated
+	 */
+	int ENTITY_MOCK_OBJECT_ENUM = 11;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_OBJECT_ENUM__NAME = IENTITY_MOCK_OBJECT_USABLE_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Using Resource</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_OBJECT_ENUM__USING_RESOURCE = IENTITY_MOCK_OBJECT_USABLE_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of structural features of the '<em>Entity Mock Object Enum</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_OBJECT_ENUM_FEATURE_COUNT = IENTITY_MOCK_OBJECT_USABLE_FEATURE_COUNT + 2;
+
+	/**
+	 * The operation id for the '<em>EResolve Proxy</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_OBJECT_ENUM___ERESOLVE_PROXY__INTERNALEOBJECT = IENTITY_MOCK_OBJECT_USABLE___ERESOLVE_PROXY__INTERNALEOBJECT;
+
+	/**
+	 * The number of operations of the '<em>Entity Mock Object Enum</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_OBJECT_ENUM_OPERATION_COUNT = IENTITY_MOCK_OBJECT_USABLE_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.xtext.entitymock.impl.IEntityMockObjectAttributeImpl <em>IEntity Mock Object Attribute</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.IEntityMockObjectAttributeImpl
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getIEntityMockObjectAttribute()
+	 * @generated
+	 */
+	int IENTITY_MOCK_OBJECT_ATTRIBUTE = 12;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IENTITY_MOCK_OBJECT_ATTRIBUTE__NAME = ENTITY_MOCK_LAZY_RESOLVER_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>IEntity Mock Object Attribute</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IENTITY_MOCK_OBJECT_ATTRIBUTE_FEATURE_COUNT = ENTITY_MOCK_LAZY_RESOLVER_FEATURE_COUNT + 1;
+
+	/**
+	 * The operation id for the '<em>EResolve Proxy</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IENTITY_MOCK_OBJECT_ATTRIBUTE___ERESOLVE_PROXY__INTERNALEOBJECT = ENTITY_MOCK_LAZY_RESOLVER___ERESOLVE_PROXY__INTERNALEOBJECT;
+
+	/**
+	 * The number of operations of the '<em>IEntity Mock Object Attribute</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IENTITY_MOCK_OBJECT_ATTRIBUTE_OPERATION_COUNT = ENTITY_MOCK_LAZY_RESOLVER_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockObjectPlainValueImpl <em>Entity Mock Object Plain Value</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockObjectPlainValueImpl
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getEntityMockObjectPlainValue()
+	 * @generated
+	 */
+	int ENTITY_MOCK_OBJECT_PLAIN_VALUE = 13;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_OBJECT_PLAIN_VALUE__NAME = IENTITY_MOCK_OBJECT_ATTRIBUTE__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Values</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_OBJECT_PLAIN_VALUE__VALUES = IENTITY_MOCK_OBJECT_ATTRIBUTE_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>Entity Mock Object Plain Value</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_OBJECT_PLAIN_VALUE_FEATURE_COUNT = IENTITY_MOCK_OBJECT_ATTRIBUTE_FEATURE_COUNT + 1;
+
+	/**
+	 * The operation id for the '<em>EResolve Proxy</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_OBJECT_PLAIN_VALUE___ERESOLVE_PROXY__INTERNALEOBJECT = IENTITY_MOCK_OBJECT_ATTRIBUTE___ERESOLVE_PROXY__INTERNALEOBJECT;
+
+	/**
+	 * The number of operations of the '<em>Entity Mock Object Plain Value</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_OBJECT_PLAIN_VALUE_OPERATION_COUNT = IENTITY_MOCK_OBJECT_ATTRIBUTE_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockObjectResourceValueImpl <em>Entity Mock Object Resource Value</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockObjectResourceValueImpl
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getEntityMockObjectResourceValue()
+	 * @generated
+	 */
+	int ENTITY_MOCK_OBJECT_RESOURCE_VALUE = 14;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_OBJECT_RESOURCE_VALUE__NAME = IENTITY_MOCK_OBJECT_ATTRIBUTE__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Resource Enum</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_OBJECT_RESOURCE_VALUE__RESOURCE_ENUM = IENTITY_MOCK_OBJECT_ATTRIBUTE_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Resource Attribute</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_OBJECT_RESOURCE_VALUE__RESOURCE_ATTRIBUTE = IENTITY_MOCK_OBJECT_ATTRIBUTE_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of structural features of the '<em>Entity Mock Object Resource Value</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_OBJECT_RESOURCE_VALUE_FEATURE_COUNT = IENTITY_MOCK_OBJECT_ATTRIBUTE_FEATURE_COUNT + 2;
+
+	/**
+	 * The operation id for the '<em>EResolve Proxy</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_OBJECT_RESOURCE_VALUE___ERESOLVE_PROXY__INTERNALEOBJECT = IENTITY_MOCK_OBJECT_ATTRIBUTE___ERESOLVE_PROXY__INTERNALEOBJECT;
+
+	/**
+	 * The number of operations of the '<em>Entity Mock Object Resource Value</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_OBJECT_RESOURCE_VALUE_OPERATION_COUNT = IENTITY_MOCK_OBJECT_ATTRIBUTE_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockObjectArrayValueImpl <em>Entity Mock Object Array Value</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockObjectArrayValueImpl
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getEntityMockObjectArrayValue()
+	 * @generated
+	 */
+	int ENTITY_MOCK_OBJECT_ARRAY_VALUE = 15;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_OBJECT_ARRAY_VALUE__NAME = IENTITY_MOCK_OBJECT_ATTRIBUTE__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Enumeration</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_OBJECT_ARRAY_VALUE__ENUMERATION = IENTITY_MOCK_OBJECT_ATTRIBUTE_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Items</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_OBJECT_ARRAY_VALUE__ITEMS = IENTITY_MOCK_OBJECT_ATTRIBUTE_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of structural features of the '<em>Entity Mock Object Array Value</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_OBJECT_ARRAY_VALUE_FEATURE_COUNT = IENTITY_MOCK_OBJECT_ATTRIBUTE_FEATURE_COUNT + 2;
+
+	/**
+	 * The operation id for the '<em>EResolve Proxy</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_OBJECT_ARRAY_VALUE___ERESOLVE_PROXY__INTERNALEOBJECT = IENTITY_MOCK_OBJECT_ATTRIBUTE___ERESOLVE_PROXY__INTERNALEOBJECT;
+
+	/**
+	 * The number of operations of the '<em>Entity Mock Object Array Value</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_OBJECT_ARRAY_VALUE_OPERATION_COUNT = IENTITY_MOCK_OBJECT_ATTRIBUTE_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockObjectItemValueImpl <em>Entity Mock Object Item Value</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockObjectItemValueImpl
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getEntityMockObjectItemValue()
+	 * @generated
+	 */
+	int ENTITY_MOCK_OBJECT_ITEM_VALUE = 16;
+
+	/**
+	 * The feature id for the '<em><b>Datarow</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_OBJECT_ITEM_VALUE__DATAROW = 0;
+
+	/**
+	 * The feature id for the '<em><b>Values</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_OBJECT_ITEM_VALUE__VALUES = 1;
+
+	/**
+	 * The number of structural features of the '<em>Entity Mock Object Item Value</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_OBJECT_ITEM_VALUE_FEATURE_COUNT = 2;
+
+	/**
+	 * The number of operations of the '<em>Entity Mock Object Item Value</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_OBJECT_ITEM_VALUE_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockObjectEmbedImpl <em>Entity Mock Object Embed</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockObjectEmbedImpl
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getEntityMockObjectEmbed()
+	 * @generated
+	 */
+	int ENTITY_MOCK_OBJECT_EMBED = 17;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_OBJECT_EMBED__NAME = IENTITY_MOCK_OBJECT_ATTRIBUTE__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Object</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_OBJECT_EMBED__OBJECT = IENTITY_MOCK_OBJECT_ATTRIBUTE_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>Entity Mock Object Embed</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_OBJECT_EMBED_FEATURE_COUNT = IENTITY_MOCK_OBJECT_ATTRIBUTE_FEATURE_COUNT + 1;
+
+	/**
+	 * The operation id for the '<em>EResolve Proxy</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_OBJECT_EMBED___ERESOLVE_PROXY__INTERNALEOBJECT = IENTITY_MOCK_OBJECT_ATTRIBUTE___ERESOLVE_PROXY__INTERNALEOBJECT;
+
+	/**
+	 * The number of operations of the '<em>Entity Mock Object Embed</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_OBJECT_EMBED_OPERATION_COUNT = IENTITY_MOCK_OBJECT_ATTRIBUTE_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockObjectFunctionImpl <em>Entity Mock Object Function</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockObjectFunctionImpl
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getEntityMockObjectFunction()
+	 * @generated
+	 */
+	int ENTITY_MOCK_OBJECT_FUNCTION = 18;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_OBJECT_FUNCTION__NAME = IENTITY_MOCK_OBJECT_ATTRIBUTE__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Oftype</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_OBJECT_FUNCTION__OFTYPE = IENTITY_MOCK_OBJECT_ATTRIBUTE_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Params</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_OBJECT_FUNCTION__PARAMS = IENTITY_MOCK_OBJECT_ATTRIBUTE_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Body</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_OBJECT_FUNCTION__BODY = IENTITY_MOCK_OBJECT_ATTRIBUTE_FEATURE_COUNT + 2;
+
+	/**
+	 * The number of structural features of the '<em>Entity Mock Object Function</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_OBJECT_FUNCTION_FEATURE_COUNT = IENTITY_MOCK_OBJECT_ATTRIBUTE_FEATURE_COUNT + 3;
+
+	/**
+	 * The operation id for the '<em>EResolve Proxy</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_OBJECT_FUNCTION___ERESOLVE_PROXY__INTERNALEOBJECT = IENTITY_MOCK_OBJECT_ATTRIBUTE___ERESOLVE_PROXY__INTERNALEOBJECT;
+
+	/**
+	 * The number of operations of the '<em>Entity Mock Object Function</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_OBJECT_FUNCTION_OPERATION_COUNT = IENTITY_MOCK_OBJECT_ATTRIBUTE_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockObjectFunctionParameterImpl <em>Entity Mock Object Function Parameter</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockObjectFunctionParameterImpl
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getEntityMockObjectFunctionParameter()
+	 * @generated
+	 */
+	int ENTITY_MOCK_OBJECT_FUNCTION_PARAMETER = 19;
+
+	/**
+	 * The feature id for the '<em><b>Parameter Type</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_OBJECT_FUNCTION_PARAMETER__PARAMETER_TYPE = 0;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_OBJECT_FUNCTION_PARAMETER__NAME = 1;
+
+	/**
+	 * The number of structural features of the '<em>Entity Mock Object Function Parameter</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_OBJECT_FUNCTION_PARAMETER_FEATURE_COUNT = 2;
+
+	/**
+	 * The number of operations of the '<em>Entity Mock Object Function Parameter</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_OBJECT_FUNCTION_PARAMETER_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockObjectFillImpl <em>Entity Mock Object Fill</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockObjectFillImpl
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getEntityMockObjectFill()
+	 * @generated
+	 */
+	int ENTITY_MOCK_OBJECT_FILL = 20;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_OBJECT_FILL__NAME = IENTITY_MOCK_OBJECT_ATTRIBUTE__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Filler Type</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_OBJECT_FILL__FILLER_TYPE = IENTITY_MOCK_OBJECT_ATTRIBUTE_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>Entity Mock Object Fill</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_OBJECT_FILL_FEATURE_COUNT = IENTITY_MOCK_OBJECT_ATTRIBUTE_FEATURE_COUNT + 1;
+
+	/**
+	 * The operation id for the '<em>EResolve Proxy</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_OBJECT_FILL___ERESOLVE_PROXY__INTERNALEOBJECT = IENTITY_MOCK_OBJECT_ATTRIBUTE___ERESOLVE_PROXY__INTERNALEOBJECT;
+
+	/**
+	 * The number of operations of the '<em>Entity Mock Object Fill</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_OBJECT_FILL_OPERATION_COUNT = IENTITY_MOCK_OBJECT_ATTRIBUTE_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerTypeImpl <em>Property Filler Type</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerTypeImpl
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getPropertyFillerType()
+	 * @generated
+	 */
+	int PROPERTY_FILLER_TYPE = 21;
+
+	/**
+	 * The number of structural features of the '<em>Property Filler Type</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_TYPE_FEATURE_COUNT = ENTITY_MOCK_LAZY_RESOLVER_FEATURE_COUNT + 0;
+
+	/**
+	 * The operation id for the '<em>EResolve Proxy</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_TYPE___ERESOLVE_PROXY__INTERNALEOBJECT = ENTITY_MOCK_LAZY_RESOLVER___ERESOLVE_PROXY__INTERNALEOBJECT;
+
+	/**
+	 * The number of operations of the '<em>Property Filler Type</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_TYPE_OPERATION_COUNT = ENTITY_MOCK_LAZY_RESOLVER_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerDateTypeImpl <em>Property Filler Date Type</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerDateTypeImpl
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getPropertyFillerDateType()
+	 * @generated
+	 */
+	int PROPERTY_FILLER_DATE_TYPE = 22;
+
+	/**
+	 * The number of structural features of the '<em>Property Filler Date Type</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_DATE_TYPE_FEATURE_COUNT = PROPERTY_FILLER_TYPE_FEATURE_COUNT + 0;
+
+	/**
+	 * The operation id for the '<em>EResolve Proxy</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_DATE_TYPE___ERESOLVE_PROXY__INTERNALEOBJECT = PROPERTY_FILLER_TYPE___ERESOLVE_PROXY__INTERNALEOBJECT;
+
+	/**
+	 * The number of operations of the '<em>Property Filler Date Type</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_DATE_TYPE_OPERATION_COUNT = PROPERTY_FILLER_TYPE_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerBooleanImpl <em>Property Filler Boolean</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerBooleanImpl
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getPropertyFillerBoolean()
+	 * @generated
+	 */
+	int PROPERTY_FILLER_BOOLEAN = 23;
+
+	/**
+	 * The number of structural features of the '<em>Property Filler Boolean</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_BOOLEAN_FEATURE_COUNT = PROPERTY_FILLER_TYPE_FEATURE_COUNT + 0;
+
+	/**
+	 * The operation id for the '<em>EResolve Proxy</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_BOOLEAN___ERESOLVE_PROXY__INTERNALEOBJECT = PROPERTY_FILLER_TYPE___ERESOLVE_PROXY__INTERNALEOBJECT;
+
+	/**
+	 * The number of operations of the '<em>Property Filler Boolean</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_BOOLEAN_OPERATION_COUNT = PROPERTY_FILLER_TYPE_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerDoubleTypeImpl <em>Property Filler Double Type</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerDoubleTypeImpl
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getPropertyFillerDoubleType()
+	 * @generated
+	 */
+	int PROPERTY_FILLER_DOUBLE_TYPE = 24;
+
+	/**
+	 * The number of structural features of the '<em>Property Filler Double Type</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_DOUBLE_TYPE_FEATURE_COUNT = PROPERTY_FILLER_TYPE_FEATURE_COUNT + 0;
+
+	/**
+	 * The operation id for the '<em>EResolve Proxy</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_DOUBLE_TYPE___ERESOLVE_PROXY__INTERNALEOBJECT = PROPERTY_FILLER_TYPE___ERESOLVE_PROXY__INTERNALEOBJECT;
+
+	/**
+	 * The number of operations of the '<em>Property Filler Double Type</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_DOUBLE_TYPE_OPERATION_COUNT = PROPERTY_FILLER_TYPE_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerIntegerTypeImpl <em>Property Filler Integer Type</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerIntegerTypeImpl
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getPropertyFillerIntegerType()
+	 * @generated
+	 */
+	int PROPERTY_FILLER_INTEGER_TYPE = 25;
+
+	/**
+	 * The number of structural features of the '<em>Property Filler Integer Type</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_INTEGER_TYPE_FEATURE_COUNT = PROPERTY_FILLER_TYPE_FEATURE_COUNT + 0;
+
+	/**
+	 * The operation id for the '<em>EResolve Proxy</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_INTEGER_TYPE___ERESOLVE_PROXY__INTERNALEOBJECT = PROPERTY_FILLER_TYPE___ERESOLVE_PROXY__INTERNALEOBJECT;
+
+	/**
+	 * The number of operations of the '<em>Property Filler Integer Type</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_INTEGER_TYPE_OPERATION_COUNT = PROPERTY_FILLER_TYPE_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerTextTypeImpl <em>Property Filler Text Type</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerTextTypeImpl
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getPropertyFillerTextType()
+	 * @generated
+	 */
+	int PROPERTY_FILLER_TEXT_TYPE = 26;
+
+	/**
+	 * The number of structural features of the '<em>Property Filler Text Type</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_TEXT_TYPE_FEATURE_COUNT = PROPERTY_FILLER_TYPE_FEATURE_COUNT + 0;
+
+	/**
+	 * The operation id for the '<em>EResolve Proxy</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_TEXT_TYPE___ERESOLVE_PROXY__INTERNALEOBJECT = PROPERTY_FILLER_TYPE___ERESOLVE_PROXY__INTERNALEOBJECT;
+
+	/**
+	 * The number of operations of the '<em>Property Filler Text Type</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_TEXT_TYPE_OPERATION_COUNT = PROPERTY_FILLER_TYPE_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerDateFutureImpl <em>Property Filler Date Future</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerDateFutureImpl
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getPropertyFillerDateFuture()
+	 * @generated
+	 */
+	int PROPERTY_FILLER_DATE_FUTURE = 27;
+
+	/**
+	 * The feature id for the '<em><b>Date Future Years</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_DATE_FUTURE__DATE_FUTURE_YEARS = PROPERTY_FILLER_DATE_TYPE_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>Property Filler Date Future</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_DATE_FUTURE_FEATURE_COUNT = PROPERTY_FILLER_DATE_TYPE_FEATURE_COUNT + 1;
+
+	/**
+	 * The operation id for the '<em>EResolve Proxy</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_DATE_FUTURE___ERESOLVE_PROXY__INTERNALEOBJECT = PROPERTY_FILLER_DATE_TYPE___ERESOLVE_PROXY__INTERNALEOBJECT;
+
+	/**
+	 * The number of operations of the '<em>Property Filler Date Future</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_DATE_FUTURE_OPERATION_COUNT = PROPERTY_FILLER_DATE_TYPE_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerDatePastImpl <em>Property Filler Date Past</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerDatePastImpl
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getPropertyFillerDatePast()
+	 * @generated
+	 */
+	int PROPERTY_FILLER_DATE_PAST = 28;
+
+	/**
+	 * The feature id for the '<em><b>Date Past Years</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_DATE_PAST__DATE_PAST_YEARS = PROPERTY_FILLER_DATE_TYPE_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>Property Filler Date Past</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_DATE_PAST_FEATURE_COUNT = PROPERTY_FILLER_DATE_TYPE_FEATURE_COUNT + 1;
+
+	/**
+	 * The operation id for the '<em>EResolve Proxy</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_DATE_PAST___ERESOLVE_PROXY__INTERNALEOBJECT = PROPERTY_FILLER_DATE_TYPE___ERESOLVE_PROXY__INTERNALEOBJECT;
+
+	/**
+	 * The number of operations of the '<em>Property Filler Date Past</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_DATE_PAST_OPERATION_COUNT = PROPERTY_FILLER_DATE_TYPE_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerDateRangeImpl <em>Property Filler Date Range</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerDateRangeImpl
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getPropertyFillerDateRange()
+	 * @generated
+	 */
+	int PROPERTY_FILLER_DATE_RANGE = 29;
+
+	/**
+	 * The feature id for the '<em><b>Date Begin Years</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_DATE_RANGE__DATE_BEGIN_YEARS = PROPERTY_FILLER_DATE_TYPE_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Date End Years</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_DATE_RANGE__DATE_END_YEARS = PROPERTY_FILLER_DATE_TYPE_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of structural features of the '<em>Property Filler Date Range</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_DATE_RANGE_FEATURE_COUNT = PROPERTY_FILLER_DATE_TYPE_FEATURE_COUNT + 2;
+
+	/**
+	 * The operation id for the '<em>EResolve Proxy</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_DATE_RANGE___ERESOLVE_PROXY__INTERNALEOBJECT = PROPERTY_FILLER_DATE_TYPE___ERESOLVE_PROXY__INTERNALEOBJECT;
+
+	/**
+	 * The number of operations of the '<em>Property Filler Date Range</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_DATE_RANGE_OPERATION_COUNT = PROPERTY_FILLER_DATE_TYPE_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerSignedDoubleRangeImpl <em>Property Filler Signed Double Range</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerSignedDoubleRangeImpl
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getPropertyFillerSignedDoubleRange()
+	 * @generated
+	 */
+	int PROPERTY_FILLER_SIGNED_DOUBLE_RANGE = 30;
+
+	/**
+	 * The feature id for the '<em><b>Decimals</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_SIGNED_DOUBLE_RANGE__DECIMALS = PROPERTY_FILLER_DOUBLE_TYPE_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Begin Range</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_SIGNED_DOUBLE_RANGE__BEGIN_RANGE = PROPERTY_FILLER_DOUBLE_TYPE_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>End Range</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_SIGNED_DOUBLE_RANGE__END_RANGE = PROPERTY_FILLER_DOUBLE_TYPE_FEATURE_COUNT + 2;
+
+	/**
+	 * The feature id for the '<em><b>Begin Range Ref</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_SIGNED_DOUBLE_RANGE__BEGIN_RANGE_REF = PROPERTY_FILLER_DOUBLE_TYPE_FEATURE_COUNT + 3;
+
+	/**
+	 * The feature id for the '<em><b>End Range Ref</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_SIGNED_DOUBLE_RANGE__END_RANGE_REF = PROPERTY_FILLER_DOUBLE_TYPE_FEATURE_COUNT + 4;
+
+	/**
+	 * The feature id for the '<em><b>Rounded</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_SIGNED_DOUBLE_RANGE__ROUNDED = PROPERTY_FILLER_DOUBLE_TYPE_FEATURE_COUNT + 5;
+
+	/**
+	 * The number of structural features of the '<em>Property Filler Signed Double Range</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_SIGNED_DOUBLE_RANGE_FEATURE_COUNT = PROPERTY_FILLER_DOUBLE_TYPE_FEATURE_COUNT + 6;
+
+	/**
+	 * The operation id for the '<em>EResolve Proxy</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_SIGNED_DOUBLE_RANGE___ERESOLVE_PROXY__INTERNALEOBJECT = PROPERTY_FILLER_DOUBLE_TYPE___ERESOLVE_PROXY__INTERNALEOBJECT;
+
+	/**
+	 * The number of operations of the '<em>Property Filler Signed Double Range</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_SIGNED_DOUBLE_RANGE_OPERATION_COUNT = PROPERTY_FILLER_DOUBLE_TYPE_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerSignedDoubleRandomImpl <em>Property Filler Signed Double Random</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerSignedDoubleRandomImpl
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getPropertyFillerSignedDoubleRandom()
+	 * @generated
+	 */
+	int PROPERTY_FILLER_SIGNED_DOUBLE_RANDOM = 31;
+
+	/**
+	 * The feature id for the '<em><b>Items</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_SIGNED_DOUBLE_RANDOM__ITEMS = PROPERTY_FILLER_DOUBLE_TYPE_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>Property Filler Signed Double Random</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_SIGNED_DOUBLE_RANDOM_FEATURE_COUNT = PROPERTY_FILLER_DOUBLE_TYPE_FEATURE_COUNT + 1;
+
+	/**
+	 * The operation id for the '<em>EResolve Proxy</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_SIGNED_DOUBLE_RANDOM___ERESOLVE_PROXY__INTERNALEOBJECT = PROPERTY_FILLER_DOUBLE_TYPE___ERESOLVE_PROXY__INTERNALEOBJECT;
+
+	/**
+	 * The number of operations of the '<em>Property Filler Signed Double Random</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_SIGNED_DOUBLE_RANDOM_OPERATION_COUNT = PROPERTY_FILLER_DOUBLE_TYPE_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerSignedIntegerRangeImpl <em>Property Filler Signed Integer Range</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerSignedIntegerRangeImpl
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getPropertyFillerSignedIntegerRange()
+	 * @generated
+	 */
+	int PROPERTY_FILLER_SIGNED_INTEGER_RANGE = 32;
+
+	/**
+	 * The feature id for the '<em><b>Begin Range</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_SIGNED_INTEGER_RANGE__BEGIN_RANGE = PROPERTY_FILLER_INTEGER_TYPE_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>End Range</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_SIGNED_INTEGER_RANGE__END_RANGE = PROPERTY_FILLER_INTEGER_TYPE_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Begin Range Ref</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_SIGNED_INTEGER_RANGE__BEGIN_RANGE_REF = PROPERTY_FILLER_INTEGER_TYPE_FEATURE_COUNT + 2;
+
+	/**
+	 * The feature id for the '<em><b>End Range Ref</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_SIGNED_INTEGER_RANGE__END_RANGE_REF = PROPERTY_FILLER_INTEGER_TYPE_FEATURE_COUNT + 3;
+
+	/**
+	 * The feature id for the '<em><b>Rounded</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_SIGNED_INTEGER_RANGE__ROUNDED = PROPERTY_FILLER_INTEGER_TYPE_FEATURE_COUNT + 4;
+
+	/**
+	 * The number of structural features of the '<em>Property Filler Signed Integer Range</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_SIGNED_INTEGER_RANGE_FEATURE_COUNT = PROPERTY_FILLER_INTEGER_TYPE_FEATURE_COUNT + 5;
+
+	/**
+	 * The operation id for the '<em>EResolve Proxy</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_SIGNED_INTEGER_RANGE___ERESOLVE_PROXY__INTERNALEOBJECT = PROPERTY_FILLER_INTEGER_TYPE___ERESOLVE_PROXY__INTERNALEOBJECT;
+
+	/**
+	 * The number of operations of the '<em>Property Filler Signed Integer Range</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_SIGNED_INTEGER_RANGE_OPERATION_COUNT = PROPERTY_FILLER_INTEGER_TYPE_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerSignedIntegerRandomImpl <em>Property Filler Signed Integer Random</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerSignedIntegerRandomImpl
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getPropertyFillerSignedIntegerRandom()
+	 * @generated
+	 */
+	int PROPERTY_FILLER_SIGNED_INTEGER_RANDOM = 33;
+
+	/**
+	 * The feature id for the '<em><b>Items</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_SIGNED_INTEGER_RANDOM__ITEMS = PROPERTY_FILLER_INTEGER_TYPE_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>Property Filler Signed Integer Random</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_SIGNED_INTEGER_RANDOM_FEATURE_COUNT = PROPERTY_FILLER_INTEGER_TYPE_FEATURE_COUNT + 1;
+
+	/**
+	 * The operation id for the '<em>EResolve Proxy</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_SIGNED_INTEGER_RANDOM___ERESOLVE_PROXY__INTERNALEOBJECT = PROPERTY_FILLER_INTEGER_TYPE___ERESOLVE_PROXY__INTERNALEOBJECT;
+
+	/**
+	 * The number of operations of the '<em>Property Filler Signed Integer Random</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_SIGNED_INTEGER_RANDOM_OPERATION_COUNT = PROPERTY_FILLER_INTEGER_TYPE_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerTextRandomImpl <em>Property Filler Text Random</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerTextRandomImpl
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getPropertyFillerTextRandom()
+	 * @generated
+	 */
+	int PROPERTY_FILLER_TEXT_RANDOM = 34;
+
+	/**
+	 * The feature id for the '<em><b>Items</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_TEXT_RANDOM__ITEMS = PROPERTY_FILLER_TEXT_TYPE_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>Property Filler Text Random</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_TEXT_RANDOM_FEATURE_COUNT = PROPERTY_FILLER_TEXT_TYPE_FEATURE_COUNT + 1;
+
+	/**
+	 * The operation id for the '<em>EResolve Proxy</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_TEXT_RANDOM___ERESOLVE_PROXY__INTERNALEOBJECT = PROPERTY_FILLER_TEXT_TYPE___ERESOLVE_PROXY__INTERNALEOBJECT;
+
+	/**
+	 * The number of operations of the '<em>Property Filler Text Random</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_TEXT_RANDOM_OPERATION_COUNT = PROPERTY_FILLER_TEXT_TYPE_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerTextParagraphsImpl <em>Property Filler Text Paragraphs</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerTextParagraphsImpl
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getPropertyFillerTextParagraphs()
+	 * @generated
+	 */
+	int PROPERTY_FILLER_TEXT_PARAGRAPHS = 35;
+
+	/**
+	 * The feature id for the '<em><b>Count</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_TEXT_PARAGRAPHS__COUNT = PROPERTY_FILLER_TEXT_TYPE_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>Property Filler Text Paragraphs</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_TEXT_PARAGRAPHS_FEATURE_COUNT = PROPERTY_FILLER_TEXT_TYPE_FEATURE_COUNT + 1;
+
+	/**
+	 * The operation id for the '<em>EResolve Proxy</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_TEXT_PARAGRAPHS___ERESOLVE_PROXY__INTERNALEOBJECT = PROPERTY_FILLER_TEXT_TYPE___ERESOLVE_PROXY__INTERNALEOBJECT;
+
+	/**
+	 * The number of operations of the '<em>Property Filler Text Paragraphs</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_TEXT_PARAGRAPHS_OPERATION_COUNT = PROPERTY_FILLER_TEXT_TYPE_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerTextSentencesImpl <em>Property Filler Text Sentences</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerTextSentencesImpl
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getPropertyFillerTextSentences()
+	 * @generated
+	 */
+	int PROPERTY_FILLER_TEXT_SENTENCES = 36;
+
+	/**
+	 * The feature id for the '<em><b>Count</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_TEXT_SENTENCES__COUNT = PROPERTY_FILLER_TEXT_TYPE_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>Property Filler Text Sentences</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_TEXT_SENTENCES_FEATURE_COUNT = PROPERTY_FILLER_TEXT_TYPE_FEATURE_COUNT + 1;
+
+	/**
+	 * The operation id for the '<em>EResolve Proxy</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_TEXT_SENTENCES___ERESOLVE_PROXY__INTERNALEOBJECT = PROPERTY_FILLER_TEXT_TYPE___ERESOLVE_PROXY__INTERNALEOBJECT;
+
+	/**
+	 * The number of operations of the '<em>Property Filler Text Sentences</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_TEXT_SENTENCES_OPERATION_COUNT = PROPERTY_FILLER_TEXT_TYPE_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerTextWordsImpl <em>Property Filler Text Words</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerTextWordsImpl
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getPropertyFillerTextWords()
+	 * @generated
+	 */
+	int PROPERTY_FILLER_TEXT_WORDS = 37;
+
+	/**
+	 * The feature id for the '<em><b>Count</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_TEXT_WORDS__COUNT = PROPERTY_FILLER_TEXT_TYPE_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>Property Filler Text Words</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_TEXT_WORDS_FEATURE_COUNT = PROPERTY_FILLER_TEXT_TYPE_FEATURE_COUNT + 1;
+
+	/**
+	 * The operation id for the '<em>EResolve Proxy</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_TEXT_WORDS___ERESOLVE_PROXY__INTERNALEOBJECT = PROPERTY_FILLER_TEXT_TYPE___ERESOLVE_PROXY__INTERNALEOBJECT;
+
+	/**
+	 * The number of operations of the '<em>Property Filler Text Words</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_TEXT_WORDS_OPERATION_COUNT = PROPERTY_FILLER_TEXT_TYPE_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerUnsignedDoubleRangeImpl <em>Property Filler Unsigned Double Range</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerUnsignedDoubleRangeImpl
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getPropertyFillerUnsignedDoubleRange()
+	 * @generated
+	 */
+	int PROPERTY_FILLER_UNSIGNED_DOUBLE_RANGE = 38;
+
+	/**
+	 * The feature id for the '<em><b>Decimals</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_UNSIGNED_DOUBLE_RANGE__DECIMALS = PROPERTY_FILLER_DOUBLE_TYPE_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Begin Range</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_UNSIGNED_DOUBLE_RANGE__BEGIN_RANGE = PROPERTY_FILLER_DOUBLE_TYPE_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>End Range</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_UNSIGNED_DOUBLE_RANGE__END_RANGE = PROPERTY_FILLER_DOUBLE_TYPE_FEATURE_COUNT + 2;
+
+	/**
+	 * The feature id for the '<em><b>Begin Range Ref</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_UNSIGNED_DOUBLE_RANGE__BEGIN_RANGE_REF = PROPERTY_FILLER_DOUBLE_TYPE_FEATURE_COUNT + 3;
+
+	/**
+	 * The feature id for the '<em><b>End Range Ref</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_UNSIGNED_DOUBLE_RANGE__END_RANGE_REF = PROPERTY_FILLER_DOUBLE_TYPE_FEATURE_COUNT + 4;
+
+	/**
+	 * The feature id for the '<em><b>Rounded</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_UNSIGNED_DOUBLE_RANGE__ROUNDED = PROPERTY_FILLER_DOUBLE_TYPE_FEATURE_COUNT + 5;
+
+	/**
+	 * The number of structural features of the '<em>Property Filler Unsigned Double Range</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_UNSIGNED_DOUBLE_RANGE_FEATURE_COUNT = PROPERTY_FILLER_DOUBLE_TYPE_FEATURE_COUNT + 6;
+
+	/**
+	 * The operation id for the '<em>EResolve Proxy</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_UNSIGNED_DOUBLE_RANGE___ERESOLVE_PROXY__INTERNALEOBJECT = PROPERTY_FILLER_DOUBLE_TYPE___ERESOLVE_PROXY__INTERNALEOBJECT;
+
+	/**
+	 * The number of operations of the '<em>Property Filler Unsigned Double Range</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_UNSIGNED_DOUBLE_RANGE_OPERATION_COUNT = PROPERTY_FILLER_DOUBLE_TYPE_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerUnsignedDoubleRandomImpl <em>Property Filler Unsigned Double Random</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerUnsignedDoubleRandomImpl
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getPropertyFillerUnsignedDoubleRandom()
+	 * @generated
+	 */
+	int PROPERTY_FILLER_UNSIGNED_DOUBLE_RANDOM = 39;
+
+	/**
+	 * The feature id for the '<em><b>Items</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_UNSIGNED_DOUBLE_RANDOM__ITEMS = PROPERTY_FILLER_DOUBLE_TYPE_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>Property Filler Unsigned Double Random</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_UNSIGNED_DOUBLE_RANDOM_FEATURE_COUNT = PROPERTY_FILLER_DOUBLE_TYPE_FEATURE_COUNT + 1;
+
+	/**
+	 * The operation id for the '<em>EResolve Proxy</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_UNSIGNED_DOUBLE_RANDOM___ERESOLVE_PROXY__INTERNALEOBJECT = PROPERTY_FILLER_DOUBLE_TYPE___ERESOLVE_PROXY__INTERNALEOBJECT;
+
+	/**
+	 * The number of operations of the '<em>Property Filler Unsigned Double Random</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_UNSIGNED_DOUBLE_RANDOM_OPERATION_COUNT = PROPERTY_FILLER_DOUBLE_TYPE_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerUnsignedIntegerRangeImpl <em>Property Filler Unsigned Integer Range</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerUnsignedIntegerRangeImpl
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getPropertyFillerUnsignedIntegerRange()
+	 * @generated
+	 */
+	int PROPERTY_FILLER_UNSIGNED_INTEGER_RANGE = 40;
+
+	/**
+	 * The feature id for the '<em><b>Begin Range</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_UNSIGNED_INTEGER_RANGE__BEGIN_RANGE = PROPERTY_FILLER_INTEGER_TYPE_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>End Range</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_UNSIGNED_INTEGER_RANGE__END_RANGE = PROPERTY_FILLER_INTEGER_TYPE_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Begin Range Ref</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_UNSIGNED_INTEGER_RANGE__BEGIN_RANGE_REF = PROPERTY_FILLER_INTEGER_TYPE_FEATURE_COUNT + 2;
+
+	/**
+	 * The feature id for the '<em><b>End Range Ref</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_UNSIGNED_INTEGER_RANGE__END_RANGE_REF = PROPERTY_FILLER_INTEGER_TYPE_FEATURE_COUNT + 3;
+
+	/**
+	 * The feature id for the '<em><b>Rounded</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_UNSIGNED_INTEGER_RANGE__ROUNDED = PROPERTY_FILLER_INTEGER_TYPE_FEATURE_COUNT + 4;
+
+	/**
+	 * The number of structural features of the '<em>Property Filler Unsigned Integer Range</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_UNSIGNED_INTEGER_RANGE_FEATURE_COUNT = PROPERTY_FILLER_INTEGER_TYPE_FEATURE_COUNT + 5;
+
+	/**
+	 * The operation id for the '<em>EResolve Proxy</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_UNSIGNED_INTEGER_RANGE___ERESOLVE_PROXY__INTERNALEOBJECT = PROPERTY_FILLER_INTEGER_TYPE___ERESOLVE_PROXY__INTERNALEOBJECT;
+
+	/**
+	 * The number of operations of the '<em>Property Filler Unsigned Integer Range</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_UNSIGNED_INTEGER_RANGE_OPERATION_COUNT = PROPERTY_FILLER_INTEGER_TYPE_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerUnsignedIntegerRandomImpl <em>Property Filler Unsigned Integer Random</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerUnsignedIntegerRandomImpl
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getPropertyFillerUnsignedIntegerRandom()
+	 * @generated
+	 */
+	int PROPERTY_FILLER_UNSIGNED_INTEGER_RANDOM = 41;
+
+	/**
+	 * The feature id for the '<em><b>Items</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_UNSIGNED_INTEGER_RANDOM__ITEMS = PROPERTY_FILLER_INTEGER_TYPE_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>Property Filler Unsigned Integer Random</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_UNSIGNED_INTEGER_RANDOM_FEATURE_COUNT = PROPERTY_FILLER_INTEGER_TYPE_FEATURE_COUNT + 1;
+
+	/**
+	 * The operation id for the '<em>EResolve Proxy</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_UNSIGNED_INTEGER_RANDOM___ERESOLVE_PROXY__INTERNALEOBJECT = PROPERTY_FILLER_INTEGER_TYPE___ERESOLVE_PROXY__INTERNALEOBJECT;
+
+	/**
+	 * The number of operations of the '<em>Property Filler Unsigned Integer Random</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_FILLER_UNSIGNED_INTEGER_RANDOM_OPERATION_COUNT = PROPERTY_FILLER_INTEGER_TYPE_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockDataTypesImpl <em>Entity Mock Data Types</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDataTypesImpl
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getEntityMockDataTypes()
+	 * @generated
+	 */
+	int ENTITY_MOCK_DATA_TYPES = 42;
+
+	/**
+	 * The feature id for the '<em><b>Datatypes</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_DATA_TYPES__DATATYPES = 0;
+
+	/**
+	 * The number of structural features of the '<em>Entity Mock Data Types</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_DATA_TYPES_FEATURE_COUNT = 1;
+
+	/**
+	 * The number of operations of the '<em>Entity Mock Data Types</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_DATA_TYPES_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockDataTypeImpl <em>Entity Mock Data Type</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDataTypeImpl
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getEntityMockDataType()
+	 * @generated
+	 */
+	int ENTITY_MOCK_DATA_TYPE = 43;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_DATA_TYPE__NAME = 0;
+
+	/**
+	 * The number of structural features of the '<em>Entity Mock Data Type</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_DATA_TYPE_FEATURE_COUNT = 1;
+
+	/**
+	 * The number of operations of the '<em>Entity Mock Data Type</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_DATA_TYPE_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockEntitiesImpl <em>Entity Mock Entities</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockEntitiesImpl
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getEntityMockEntities()
+	 * @generated
+	 */
+	int ENTITY_MOCK_ENTITIES = 44;
+
+	/**
+	 * The feature id for the '<em><b>Entities</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_ENTITIES__ENTITIES = 0;
+
+	/**
+	 * The number of structural features of the '<em>Entity Mock Entities</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_ENTITIES_FEATURE_COUNT = 1;
+
+	/**
+	 * The number of operations of the '<em>Entity Mock Entities</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_ENTITIES_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockEntityImpl <em>Entity Mock Entity</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockEntityImpl
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getEntityMockEntity()
+	 * @generated
+	 */
+	int ENTITY_MOCK_ENTITY = 45;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_ENTITY__NAME = ENTITY_MOCK_LAZY_RESOLVER_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Entity Ref</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_ENTITY__ENTITY_REF = ENTITY_MOCK_LAZY_RESOLVER_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Min Rows</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_ENTITY__MIN_ROWS = ENTITY_MOCK_LAZY_RESOLVER_FEATURE_COUNT + 2;
+
+	/**
+	 * The feature id for the '<em><b>Max Rows</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_ENTITY__MAX_ROWS = ENTITY_MOCK_LAZY_RESOLVER_FEATURE_COUNT + 3;
+
+	/**
+	 * The feature id for the '<em><b>Iterate</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_ENTITY__ITERATE = ENTITY_MOCK_LAZY_RESOLVER_FEATURE_COUNT + 4;
+
+	/**
+	 * The feature id for the '<em><b>Iterator</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_ENTITY__ITERATOR = ENTITY_MOCK_LAZY_RESOLVER_FEATURE_COUNT + 5;
+
+	/**
+	 * The feature id for the '<em><b>Temporaries</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_ENTITY__TEMPORARIES = ENTITY_MOCK_LAZY_RESOLVER_FEATURE_COUNT + 6;
+
+	/**
+	 * The feature id for the '<em><b>Attributes</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_ENTITY__ATTRIBUTES = ENTITY_MOCK_LAZY_RESOLVER_FEATURE_COUNT + 7;
+
+	/**
+	 * The feature id for the '<em><b>Calculations</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_ENTITY__CALCULATIONS = ENTITY_MOCK_LAZY_RESOLVER_FEATURE_COUNT + 8;
+
+	/**
+	 * The feature id for the '<em><b>By Resource</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_ENTITY__BY_RESOURCE = ENTITY_MOCK_LAZY_RESOLVER_FEATURE_COUNT + 9;
+
+	/**
+	 * The feature id for the '<em><b>By Resource Attributes</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_ENTITY__BY_RESOURCE_ATTRIBUTES = ENTITY_MOCK_LAZY_RESOLVER_FEATURE_COUNT + 10;
+
+	/**
+	 * The feature id for the '<em><b>Create Blob Mapping</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_ENTITY__CREATE_BLOB_MAPPING = ENTITY_MOCK_LAZY_RESOLVER_FEATURE_COUNT + 11;
+
+	/**
+	 * The number of structural features of the '<em>Entity Mock Entity</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_ENTITY_FEATURE_COUNT = ENTITY_MOCK_LAZY_RESOLVER_FEATURE_COUNT + 12;
+
+	/**
+	 * The operation id for the '<em>EResolve Proxy</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_ENTITY___ERESOLVE_PROXY__INTERNALEOBJECT = ENTITY_MOCK_LAZY_RESOLVER___ERESOLVE_PROXY__INTERNALEOBJECT;
+
+	/**
+	 * The number of operations of the '<em>Entity Mock Entity</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_ENTITY_OPERATION_COUNT = ENTITY_MOCK_LAZY_RESOLVER_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.xtext.entitymock.impl.IIterateImpl <em>IIterate</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.IIterateImpl
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getIIterate()
+	 * @generated
+	 */
+	int IITERATE = 46;
+
+	/**
+	 * The number of structural features of the '<em>IIterate</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IITERATE_FEATURE_COUNT = 0;
+
+	/**
+	 * The number of operations of the '<em>IIterate</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IITERATE_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.xtext.entitymock.impl.IntegerIterateImpl <em>Integer Iterate</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.IntegerIterateImpl
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getIntegerIterate()
+	 * @generated
+	 */
+	int INTEGER_ITERATE = 47;
+
+	/**
+	 * The feature id for the '<em><b>From</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTEGER_ITERATE__FROM = IITERATE_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Until</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTEGER_ITERATE__UNTIL = IITERATE_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Step</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTEGER_ITERATE__STEP = IITERATE_FEATURE_COUNT + 2;
+
+	/**
+	 * The number of structural features of the '<em>Integer Iterate</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTEGER_ITERATE_FEATURE_COUNT = IITERATE_FEATURE_COUNT + 3;
+
+	/**
+	 * The number of operations of the '<em>Integer Iterate</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTEGER_ITERATE_OPERATION_COUNT = IITERATE_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.xtext.entitymock.impl.DateIterateImpl <em>Date Iterate</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.DateIterateImpl
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getDateIterate()
+	 * @generated
+	 */
+	int DATE_ITERATE = 48;
+
+	/**
+	 * The feature id for the '<em><b>From</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATE_ITERATE__FROM = IITERATE_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Until</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATE_ITERATE__UNTIL = IITERATE_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Step Count</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATE_ITERATE__STEP_COUNT = IITERATE_FEATURE_COUNT + 2;
+
+	/**
+	 * The feature id for the '<em><b>Step Type</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATE_ITERATE__STEP_TYPE = IITERATE_FEATURE_COUNT + 3;
+
+	/**
+	 * The number of structural features of the '<em>Date Iterate</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATE_ITERATE_FEATURE_COUNT = IITERATE_FEATURE_COUNT + 4;
+
+	/**
+	 * The number of operations of the '<em>Date Iterate</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATE_ITERATE_OPERATION_COUNT = IITERATE_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.xtext.entitymock.impl.DateImpl <em>Date</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.DateImpl
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getDate()
+	 * @generated
+	 */
+	int DATE = 49;
+
+	/**
+	 * The feature id for the '<em><b>Yesterday</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATE__YESTERDAY = 0;
+
+	/**
+	 * The feature id for the '<em><b>Today</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATE__TODAY = 1;
+
+	/**
+	 * The feature id for the '<em><b>Tomorrow</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATE__TOMORROW = 2;
+
+	/**
+	 * The feature id for the '<em><b>Offset Count</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATE__OFFSET_COUNT = 3;
+
+	/**
+	 * The feature id for the '<em><b>Offset Type</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATE__OFFSET_TYPE = 4;
+
+	/**
+	 * The feature id for the '<em><b>Year</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATE__YEAR = 5;
+
+	/**
+	 * The feature id for the '<em><b>Month</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATE__MONTH = 6;
+
+	/**
+	 * The feature id for the '<em><b>Day</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATE__DAY = 7;
+
+	/**
+	 * The number of structural features of the '<em>Date</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATE_FEATURE_COUNT = 8;
+
+	/**
+	 * The number of operations of the '<em>Date</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATE_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockByResourceAttributeImpl <em>Entity Mock By Resource Attribute</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockByResourceAttributeImpl
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getEntityMockByResourceAttribute()
+	 * @generated
+	 */
+	int ENTITY_MOCK_BY_RESOURCE_ATTRIBUTE = 50;
+
+	/**
+	 * The feature id for the '<em><b>Attribute Ref</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_BY_RESOURCE_ATTRIBUTE__ATTRIBUTE_REF = 0;
+
+	/**
+	 * The feature id for the '<em><b>Resource Attribute</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_BY_RESOURCE_ATTRIBUTE__RESOURCE_ATTRIBUTE = 1;
+
+	/**
+	 * The number of structural features of the '<em>Entity Mock By Resource Attribute</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_BY_RESOURCE_ATTRIBUTE_FEATURE_COUNT = 2;
+
+	/**
+	 * The number of operations of the '<em>Entity Mock By Resource Attribute</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_BY_RESOURCE_ATTRIBUTE_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockTemporaryImpl <em>Entity Mock Temporary</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockTemporaryImpl
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getEntityMockTemporary()
+	 * @generated
+	 */
+	int ENTITY_MOCK_TEMPORARY = 51;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_TEMPORARY__NAME = ENTITY_MOCK_LAZY_RESOLVER_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Object</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_TEMPORARY__OBJECT = ENTITY_MOCK_LAZY_RESOLVER_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of structural features of the '<em>Entity Mock Temporary</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_TEMPORARY_FEATURE_COUNT = ENTITY_MOCK_LAZY_RESOLVER_FEATURE_COUNT + 2;
+
+	/**
+	 * The operation id for the '<em>EResolve Proxy</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_TEMPORARY___ERESOLVE_PROXY__INTERNALEOBJECT = ENTITY_MOCK_LAZY_RESOLVER___ERESOLVE_PROXY__INTERNALEOBJECT;
+
+	/**
+	 * The number of operations of the '<em>Entity Mock Temporary</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_TEMPORARY_OPERATION_COUNT = ENTITY_MOCK_LAZY_RESOLVER_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.xtext.entitymock.impl.IEntityMockEntityUsableImpl <em>IEntity Mock Entity Usable</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.IEntityMockEntityUsableImpl
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getIEntityMockEntityUsable()
+	 * @generated
+	 */
+	int IENTITY_MOCK_ENTITY_USABLE = 53;
+
+	/**
+	 * The number of structural features of the '<em>IEntity Mock Entity Usable</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IENTITY_MOCK_ENTITY_USABLE_FEATURE_COUNT = ENTITY_MOCK_LAZY_RESOLVER_FEATURE_COUNT + 0;
+
+	/**
+	 * The operation id for the '<em>EResolve Proxy</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IENTITY_MOCK_ENTITY_USABLE___ERESOLVE_PROXY__INTERNALEOBJECT = ENTITY_MOCK_LAZY_RESOLVER___ERESOLVE_PROXY__INTERNALEOBJECT;
+
+	/**
+	 * The number of operations of the '<em>IEntity Mock Entity Usable</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IENTITY_MOCK_ENTITY_USABLE_OPERATION_COUNT = ENTITY_MOCK_LAZY_RESOLVER_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.xtext.entitymock.impl.IEntityMockAttributeImpl <em>IEntity Mock Attribute</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.IEntityMockAttributeImpl
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getIEntityMockAttribute()
+	 * @generated
+	 */
+	int IENTITY_MOCK_ATTRIBUTE = 54;
+
+	/**
+	 * The number of structural features of the '<em>IEntity Mock Attribute</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IENTITY_MOCK_ATTRIBUTE_FEATURE_COUNT = IENTITY_MOCK_ENTITY_USABLE_FEATURE_COUNT + 0;
+
+	/**
+	 * The operation id for the '<em>EResolve Proxy</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IENTITY_MOCK_ATTRIBUTE___ERESOLVE_PROXY__INTERNALEOBJECT = IENTITY_MOCK_ENTITY_USABLE___ERESOLVE_PROXY__INTERNALEOBJECT;
+
+	/**
+	 * The number of operations of the '<em>IEntity Mock Attribute</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IENTITY_MOCK_ATTRIBUTE_OPERATION_COUNT = IENTITY_MOCK_ENTITY_USABLE_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockReferencedObjectAttributeImpl <em>Entity Mock Referenced Object Attribute</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockReferencedObjectAttributeImpl
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getEntityMockReferencedObjectAttribute()
+	 * @generated
+	 */
+	int ENTITY_MOCK_REFERENCED_OBJECT_ATTRIBUTE = 55;
+
+	/**
+	 * The feature id for the '<em><b>Temporary</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_REFERENCED_OBJECT_ATTRIBUTE__TEMPORARY = ENTITY_MOCK_LAZY_RESOLVER_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Embedded</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_REFERENCED_OBJECT_ATTRIBUTE__EMBEDDED = ENTITY_MOCK_LAZY_RESOLVER_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Attribute</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_REFERENCED_OBJECT_ATTRIBUTE__ATTRIBUTE = ENTITY_MOCK_LAZY_RESOLVER_FEATURE_COUNT + 2;
+
+	/**
+	 * The number of structural features of the '<em>Entity Mock Referenced Object Attribute</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_REFERENCED_OBJECT_ATTRIBUTE_FEATURE_COUNT = ENTITY_MOCK_LAZY_RESOLVER_FEATURE_COUNT + 3;
+
+	/**
+	 * The operation id for the '<em>EResolve Proxy</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_REFERENCED_OBJECT_ATTRIBUTE___ERESOLVE_PROXY__INTERNALEOBJECT = ENTITY_MOCK_LAZY_RESOLVER___ERESOLVE_PROXY__INTERNALEOBJECT;
+
+	/**
+	 * The number of operations of the '<em>Entity Mock Referenced Object Attribute</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_REFERENCED_OBJECT_ATTRIBUTE_OPERATION_COUNT = ENTITY_MOCK_LAZY_RESOLVER_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockAttributeByObjectImpl <em>Entity Mock Attribute By Object</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockAttributeByObjectImpl
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getEntityMockAttributeByObject()
+	 * @generated
+	 */
+	int ENTITY_MOCK_ATTRIBUTE_BY_OBJECT = 56;
+
+	/**
+	 * The feature id for the '<em><b>Attribute Ref</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_ATTRIBUTE_BY_OBJECT__ATTRIBUTE_REF = IENTITY_MOCK_ATTRIBUTE_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Reference</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_ATTRIBUTE_BY_OBJECT__REFERENCE = IENTITY_MOCK_ATTRIBUTE_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Resource Enum</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_ATTRIBUTE_BY_OBJECT__RESOURCE_ENUM = IENTITY_MOCK_ATTRIBUTE_FEATURE_COUNT + 2;
+
+	/**
+	 * The feature id for the '<em><b>Resource Attribute</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_ATTRIBUTE_BY_OBJECT__RESOURCE_ATTRIBUTE = IENTITY_MOCK_ATTRIBUTE_FEATURE_COUNT + 3;
+
+	/**
+	 * The number of structural features of the '<em>Entity Mock Attribute By Object</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_ATTRIBUTE_BY_OBJECT_FEATURE_COUNT = IENTITY_MOCK_ATTRIBUTE_FEATURE_COUNT + 4;
+
+	/**
+	 * The operation id for the '<em>EResolve Proxy</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_ATTRIBUTE_BY_OBJECT___ERESOLVE_PROXY__INTERNALEOBJECT = IENTITY_MOCK_ATTRIBUTE___ERESOLVE_PROXY__INTERNALEOBJECT;
+
+	/**
+	 * The number of operations of the '<em>Entity Mock Attribute By Object</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_ATTRIBUTE_BY_OBJECT_OPERATION_COUNT = IENTITY_MOCK_ATTRIBUTE_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockAttributeFillerImpl <em>Entity Mock Attribute Filler</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockAttributeFillerImpl
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getEntityMockAttributeFiller()
+	 * @generated
+	 */
+	int ENTITY_MOCK_ATTRIBUTE_FILLER = 57;
+
+	/**
+	 * The feature id for the '<em><b>Attribute Ref</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_ATTRIBUTE_FILLER__ATTRIBUTE_REF = IENTITY_MOCK_ATTRIBUTE_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Filler Type</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_ATTRIBUTE_FILLER__FILLER_TYPE = IENTITY_MOCK_ATTRIBUTE_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of structural features of the '<em>Entity Mock Attribute Filler</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_ATTRIBUTE_FILLER_FEATURE_COUNT = IENTITY_MOCK_ATTRIBUTE_FEATURE_COUNT + 2;
+
+	/**
+	 * The operation id for the '<em>EResolve Proxy</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_ATTRIBUTE_FILLER___ERESOLVE_PROXY__INTERNALEOBJECT = IENTITY_MOCK_ATTRIBUTE___ERESOLVE_PROXY__INTERNALEOBJECT;
+
+	/**
+	 * The number of operations of the '<em>Entity Mock Attribute Filler</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_ATTRIBUTE_FILLER_OPERATION_COUNT = IENTITY_MOCK_ATTRIBUTE_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockAttributeByReferenceImpl <em>Entity Mock Attribute By Reference</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockAttributeByReferenceImpl
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getEntityMockAttributeByReference()
+	 * @generated
+	 */
+	int ENTITY_MOCK_ATTRIBUTE_BY_REFERENCE = 58;
+
+	/**
+	 * The feature id for the '<em><b>Attribute Ref</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_ATTRIBUTE_BY_REFERENCE__ATTRIBUTE_REF = IENTITY_MOCK_ATTRIBUTE_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Mocked Entity</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_ATTRIBUTE_BY_REFERENCE__MOCKED_ENTITY = IENTITY_MOCK_ATTRIBUTE_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Optional For</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_ATTRIBUTE_BY_REFERENCE__OPTIONAL_FOR = IENTITY_MOCK_ATTRIBUTE_FEATURE_COUNT + 2;
+
+	/**
+	 * The number of structural features of the '<em>Entity Mock Attribute By Reference</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_ATTRIBUTE_BY_REFERENCE_FEATURE_COUNT = IENTITY_MOCK_ATTRIBUTE_FEATURE_COUNT + 3;
+
+	/**
+	 * The operation id for the '<em>EResolve Proxy</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_ATTRIBUTE_BY_REFERENCE___ERESOLVE_PROXY__INTERNALEOBJECT = IENTITY_MOCK_ATTRIBUTE___ERESOLVE_PROXY__INTERNALEOBJECT;
+
+	/**
+	 * The number of operations of the '<em>Entity Mock Attribute By Reference</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_ATTRIBUTE_BY_REFERENCE_OPERATION_COUNT = IENTITY_MOCK_ATTRIBUTE_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockEntityFunctionImpl <em>Entity Mock Entity Function</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockEntityFunctionImpl
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getEntityMockEntityFunction()
+	 * @generated
+	 */
+	int ENTITY_MOCK_ENTITY_FUNCTION = 59;
+
+	/**
+	 * The feature id for the '<em><b>Attribute Ref</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_ENTITY_FUNCTION__ATTRIBUTE_REF = IENTITY_MOCK_ENTITY_USABLE_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Params</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_ENTITY_FUNCTION__PARAMS = IENTITY_MOCK_ENTITY_USABLE_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Body</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_ENTITY_FUNCTION__BODY = IENTITY_MOCK_ENTITY_USABLE_FEATURE_COUNT + 2;
+
+	/**
+	 * The number of structural features of the '<em>Entity Mock Entity Function</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_ENTITY_FUNCTION_FEATURE_COUNT = IENTITY_MOCK_ENTITY_USABLE_FEATURE_COUNT + 3;
+
+	/**
+	 * The operation id for the '<em>EResolve Proxy</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_ENTITY_FUNCTION___ERESOLVE_PROXY__INTERNALEOBJECT = IENTITY_MOCK_ENTITY_USABLE___ERESOLVE_PROXY__INTERNALEOBJECT;
+
+	/**
+	 * The number of operations of the '<em>Entity Mock Entity Function</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_ENTITY_FUNCTION_OPERATION_COUNT = IENTITY_MOCK_ENTITY_USABLE_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockEntityFunctionParameterImpl <em>Entity Mock Entity Function Parameter</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockEntityFunctionParameterImpl
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getEntityMockEntityFunctionParameter()
+	 * @generated
+	 */
+	int ENTITY_MOCK_ENTITY_FUNCTION_PARAMETER = 60;
+
+	/**
+	 * The feature id for the '<em><b>Attribute Ref</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_ENTITY_FUNCTION_PARAMETER__ATTRIBUTE_REF = 0;
+
+	/**
+	 * The feature id for the '<em><b>Reference Paths</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_ENTITY_FUNCTION_PARAMETER__REFERENCE_PATHS = 1;
+
+	/**
+	 * The feature id for the '<em><b>Reference Ref</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_ENTITY_FUNCTION_PARAMETER__REFERENCE_REF = 2;
+
+	/**
+	 * The number of structural features of the '<em>Entity Mock Entity Function Parameter</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_ENTITY_FUNCTION_PARAMETER_FEATURE_COUNT = 3;
+
+	/**
+	 * The number of operations of the '<em>Entity Mock Entity Function Parameter</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENTITY_MOCK_ENTITY_FUNCTION_PARAMETER_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.xtext.entitymock.EDateStepType <em>EDate Step Type</em>}' enum.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.xtext.entitymock.EDateStepType
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getEDateStepType()
+	 * @generated
+	 */
+	int EDATE_STEP_TYPE = 61;
+
+	/**
+	 * The meta object id for the '<em>Internal EObject</em>' data type.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.emf.ecore.InternalEObject
+	 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getInternalEObject()
+	 * @generated
+	 */
+	int INTERNAL_EOBJECT = 62;
+
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.entitymock.EntityMockModel <em>Entity Mock Model</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Entity Mock Model</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockModel
+	 * @generated
+	 */
+	EClass getEntityMockModel();
+
+	/**
+	 * Returns the meta object for the containment reference list '{@link org.eclipse.osbp.xtext.entitymock.EntityMockModel#getPackages <em>Packages</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference list '<em>Packages</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockModel#getPackages()
+	 * @see #getEntityMockModel()
+	 * @generated
+	 */
+	EReference getEntityMockModel_Packages();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.entitymock.EntityMockPackage <em>Entity Mock Package</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Entity Mock Package</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockPackage
+	 * @generated
+	 */
+	EClass getEntityMockPackage();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.xtext.entitymock.EntityMockPackage#getRunPriority <em>Run Priority</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Run Priority</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockPackage#getRunPriority()
+	 * @see #getEntityMockPackage()
+	 * @generated
+	 */
+	EAttribute getEntityMockPackage_RunPriority();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.osbp.xtext.entitymock.EntityMockPackage#getDatainterchanges <em>Datainterchanges</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Datainterchanges</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockPackage#getDatainterchanges()
+	 * @see #getEntityMockPackage()
+	 * @generated
+	 */
+	EReference getEntityMockPackage_Datainterchanges();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.osbp.xtext.entitymock.EntityMockPackage#getResources <em>Resources</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Resources</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockPackage#getResources()
+	 * @see #getEntityMockPackage()
+	 * @generated
+	 */
+	EReference getEntityMockPackage_Resources();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.osbp.xtext.entitymock.EntityMockPackage#getObjects <em>Objects</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Objects</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockPackage#getObjects()
+	 * @see #getEntityMockPackage()
+	 * @generated
+	 */
+	EReference getEntityMockPackage_Objects();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.osbp.xtext.entitymock.EntityMockPackage#getDatatypes <em>Datatypes</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Datatypes</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockPackage#getDatatypes()
+	 * @see #getEntityMockPackage()
+	 * @generated
+	 */
+	EReference getEntityMockPackage_Datatypes();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.osbp.xtext.entitymock.EntityMockPackage#getEntities <em>Entities</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Entities</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockPackage#getEntities()
+	 * @see #getEntityMockPackage()
+	 * @generated
+	 */
+	EReference getEntityMockPackage_Entities();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.entitymock.RunningDataInterchanges <em>Running Data Interchanges</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Running Data Interchanges</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.RunningDataInterchanges
+	 * @generated
+	 */
+	EClass getRunningDataInterchanges();
+
+	/**
+	 * Returns the meta object for the containment reference list '{@link org.eclipse.osbp.xtext.entitymock.RunningDataInterchanges#getDatainterchanges <em>Datainterchanges</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference list '<em>Datainterchanges</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.RunningDataInterchanges#getDatainterchanges()
+	 * @see #getRunningDataInterchanges()
+	 * @generated
+	 */
+	EReference getRunningDataInterchanges_Datainterchanges();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.entitymock.RunningDataInterchange <em>Running Data Interchange</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Running Data Interchange</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.RunningDataInterchange
+	 * @generated
+	 */
+	EClass getRunningDataInterchange();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.osbp.xtext.entitymock.RunningDataInterchange#getDatainterchangeRef <em>Datainterchange Ref</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Datainterchange Ref</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.RunningDataInterchange#getDatainterchangeRef()
+	 * @see #getRunningDataInterchange()
+	 * @generated
+	 */
+	EReference getRunningDataInterchange_DatainterchangeRef();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.xtext.entitymock.RunningDataInterchange#getFileURL <em>File URL</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>File URL</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.RunningDataInterchange#getFileURL()
+	 * @see #getRunningDataInterchange()
+	 * @generated
+	 */
+	EAttribute getRunningDataInterchange_FileURL();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.entitymock.EntityMockLazyResolver <em>Entity Mock Lazy Resolver</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Entity Mock Lazy Resolver</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockLazyResolver
+	 * @generated
+	 */
+	EClass getEntityMockLazyResolver();
+
+	/**
+	 * Returns the meta object for the '{@link org.eclipse.osbp.xtext.entitymock.EntityMockLazyResolver#eResolveProxy(org.eclipse.emf.ecore.InternalEObject) <em>EResolve Proxy</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the '<em>EResolve Proxy</em>' operation.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockLazyResolver#eResolveProxy(org.eclipse.emf.ecore.InternalEObject)
+	 * @generated
+	 */
+	EOperation getEntityMockLazyResolver__EResolveProxy__InternalEObject();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.entitymock.EntityMockResources <em>Entity Mock Resources</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Entity Mock Resources</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockResources
+	 * @generated
+	 */
+	EClass getEntityMockResources();
+
+	/**
+	 * Returns the meta object for the containment reference list '{@link org.eclipse.osbp.xtext.entitymock.EntityMockResources#getResources <em>Resources</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference list '<em>Resources</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockResources#getResources()
+	 * @see #getEntityMockResources()
+	 * @generated
+	 */
+	EReference getEntityMockResources_Resources();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.entitymock.EntityMockResource <em>Entity Mock Resource</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Entity Mock Resource</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockResource
+	 * @generated
+	 */
+	EClass getEntityMockResource();
+
+	/**
+	 * Returns the meta object for the containment reference list '{@link org.eclipse.osbp.xtext.entitymock.EntityMockResource#getAttributes <em>Attributes</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference list '<em>Attributes</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockResource#getAttributes()
+	 * @see #getEntityMockResource()
+	 * @generated
+	 */
+	EReference getEntityMockResource_Attributes();
+
+	/**
+	 * Returns the meta object for the containment reference list '{@link org.eclipse.osbp.xtext.entitymock.EntityMockResource#getDatarows <em>Datarows</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference list '<em>Datarows</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockResource#getDatarows()
+	 * @see #getEntityMockResource()
+	 * @generated
+	 */
+	EReference getEntityMockResource_Datarows();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.entitymock.EntityMockResourceAttribute <em>Entity Mock Resource Attribute</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Entity Mock Resource Attribute</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockResourceAttribute
+	 * @generated
+	 */
+	EClass getEntityMockResourceAttribute();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.entitymock.EntityMockResourceDataRow <em>Entity Mock Resource Data Row</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Entity Mock Resource Data Row</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockResourceDataRow
+	 * @generated
+	 */
+	EClass getEntityMockResourceDataRow();
+
+	/**
+	 * Returns the meta object for the attribute list '{@link org.eclipse.osbp.xtext.entitymock.EntityMockResourceDataRow#getValues <em>Values</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute list '<em>Values</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockResourceDataRow#getValues()
+	 * @see #getEntityMockResourceDataRow()
+	 * @generated
+	 */
+	EAttribute getEntityMockResourceDataRow_Values();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.entitymock.EntityMockObjects <em>Entity Mock Objects</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Entity Mock Objects</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockObjects
+	 * @generated
+	 */
+	EClass getEntityMockObjects();
+
+	/**
+	 * Returns the meta object for the containment reference list '{@link org.eclipse.osbp.xtext.entitymock.EntityMockObjects#getObjects <em>Objects</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference list '<em>Objects</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockObjects#getObjects()
+	 * @see #getEntityMockObjects()
+	 * @generated
+	 */
+	EReference getEntityMockObjects_Objects();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.entitymock.EntityMockObject <em>Entity Mock Object</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Entity Mock Object</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockObject
+	 * @generated
+	 */
+	EClass getEntityMockObject();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.xtext.entitymock.EntityMockObject#getName <em>Name</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Name</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockObject#getName()
+	 * @see #getEntityMockObject()
+	 * @generated
+	 */
+	EAttribute getEntityMockObject_Name();
+
+	/**
+	 * Returns the meta object for the containment reference list '{@link org.eclipse.osbp.xtext.entitymock.EntityMockObject#getEnumerations <em>Enumerations</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference list '<em>Enumerations</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockObject#getEnumerations()
+	 * @see #getEntityMockObject()
+	 * @generated
+	 */
+	EReference getEntityMockObject_Enumerations();
+
+	/**
+	 * Returns the meta object for the containment reference list '{@link org.eclipse.osbp.xtext.entitymock.EntityMockObject#getAttributes <em>Attributes</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference list '<em>Attributes</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockObject#getAttributes()
+	 * @see #getEntityMockObject()
+	 * @generated
+	 */
+	EReference getEntityMockObject_Attributes();
+
+	/**
+	 * Returns the meta object for the containment reference list '{@link org.eclipse.osbp.xtext.entitymock.EntityMockObject#getCalculations <em>Calculations</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference list '<em>Calculations</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockObject#getCalculations()
+	 * @see #getEntityMockObject()
+	 * @generated
+	 */
+	EReference getEntityMockObject_Calculations();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.entitymock.EntityMockObjectEnum <em>Entity Mock Object Enum</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Entity Mock Object Enum</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockObjectEnum
+	 * @generated
+	 */
+	EClass getEntityMockObjectEnum();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.xtext.entitymock.EntityMockObjectEnum#getName <em>Name</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Name</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockObjectEnum#getName()
+	 * @see #getEntityMockObjectEnum()
+	 * @generated
+	 */
+	EAttribute getEntityMockObjectEnum_Name();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.osbp.xtext.entitymock.EntityMockObjectEnum#getUsingResource <em>Using Resource</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Using Resource</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockObjectEnum#getUsingResource()
+	 * @see #getEntityMockObjectEnum()
+	 * @generated
+	 */
+	EReference getEntityMockObjectEnum_UsingResource();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.entitymock.IEntityMockObjectAttribute <em>IEntity Mock Object Attribute</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>IEntity Mock Object Attribute</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.IEntityMockObjectAttribute
+	 * @generated
+	 */
+	EClass getIEntityMockObjectAttribute();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.xtext.entitymock.IEntityMockObjectAttribute#getName <em>Name</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Name</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.IEntityMockObjectAttribute#getName()
+	 * @see #getIEntityMockObjectAttribute()
+	 * @generated
+	 */
+	EAttribute getIEntityMockObjectAttribute_Name();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.entitymock.EntityMockObjectPlainValue <em>Entity Mock Object Plain Value</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Entity Mock Object Plain Value</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockObjectPlainValue
+	 * @generated
+	 */
+	EClass getEntityMockObjectPlainValue();
+
+	/**
+	 * Returns the meta object for the attribute list '{@link org.eclipse.osbp.xtext.entitymock.EntityMockObjectPlainValue#getValues <em>Values</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute list '<em>Values</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockObjectPlainValue#getValues()
+	 * @see #getEntityMockObjectPlainValue()
+	 * @generated
+	 */
+	EAttribute getEntityMockObjectPlainValue_Values();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.entitymock.EntityMockObjectResourceValue <em>Entity Mock Object Resource Value</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Entity Mock Object Resource Value</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockObjectResourceValue
+	 * @generated
+	 */
+	EClass getEntityMockObjectResourceValue();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.osbp.xtext.entitymock.EntityMockObjectResourceValue#getResourceEnum <em>Resource Enum</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Resource Enum</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockObjectResourceValue#getResourceEnum()
+	 * @see #getEntityMockObjectResourceValue()
+	 * @generated
+	 */
+	EReference getEntityMockObjectResourceValue_ResourceEnum();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.osbp.xtext.entitymock.EntityMockObjectResourceValue#getResourceAttribute <em>Resource Attribute</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Resource Attribute</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockObjectResourceValue#getResourceAttribute()
+	 * @see #getEntityMockObjectResourceValue()
+	 * @generated
+	 */
+	EReference getEntityMockObjectResourceValue_ResourceAttribute();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.entitymock.EntityMockObjectArrayValue <em>Entity Mock Object Array Value</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Entity Mock Object Array Value</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockObjectArrayValue
+	 * @generated
+	 */
+	EClass getEntityMockObjectArrayValue();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.osbp.xtext.entitymock.EntityMockObjectArrayValue#getEnumeration <em>Enumeration</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Enumeration</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockObjectArrayValue#getEnumeration()
+	 * @see #getEntityMockObjectArrayValue()
+	 * @generated
+	 */
+	EReference getEntityMockObjectArrayValue_Enumeration();
+
+	/**
+	 * Returns the meta object for the containment reference list '{@link org.eclipse.osbp.xtext.entitymock.EntityMockObjectArrayValue#getItems <em>Items</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference list '<em>Items</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockObjectArrayValue#getItems()
+	 * @see #getEntityMockObjectArrayValue()
+	 * @generated
+	 */
+	EReference getEntityMockObjectArrayValue_Items();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.entitymock.EntityMockObjectItemValue <em>Entity Mock Object Item Value</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Entity Mock Object Item Value</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockObjectItemValue
+	 * @generated
+	 */
+	EClass getEntityMockObjectItemValue();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.osbp.xtext.entitymock.EntityMockObjectItemValue#getDatarow <em>Datarow</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Datarow</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockObjectItemValue#getDatarow()
+	 * @see #getEntityMockObjectItemValue()
+	 * @generated
+	 */
+	EReference getEntityMockObjectItemValue_Datarow();
+
+	/**
+	 * Returns the meta object for the attribute list '{@link org.eclipse.osbp.xtext.entitymock.EntityMockObjectItemValue#getValues <em>Values</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute list '<em>Values</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockObjectItemValue#getValues()
+	 * @see #getEntityMockObjectItemValue()
+	 * @generated
+	 */
+	EAttribute getEntityMockObjectItemValue_Values();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.entitymock.EntityMockObjectEmbed <em>Entity Mock Object Embed</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Entity Mock Object Embed</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockObjectEmbed
+	 * @generated
+	 */
+	EClass getEntityMockObjectEmbed();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.osbp.xtext.entitymock.EntityMockObjectEmbed#getObject <em>Object</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Object</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockObjectEmbed#getObject()
+	 * @see #getEntityMockObjectEmbed()
+	 * @generated
+	 */
+	EReference getEntityMockObjectEmbed_Object();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.entitymock.EntityMockObjectFunction <em>Entity Mock Object Function</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Entity Mock Object Function</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockObjectFunction
+	 * @generated
+	 */
+	EClass getEntityMockObjectFunction();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.osbp.xtext.entitymock.EntityMockObjectFunction#getOftype <em>Oftype</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Oftype</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockObjectFunction#getOftype()
+	 * @see #getEntityMockObjectFunction()
+	 * @generated
+	 */
+	EReference getEntityMockObjectFunction_Oftype();
+
+	/**
+	 * Returns the meta object for the containment reference list '{@link org.eclipse.osbp.xtext.entitymock.EntityMockObjectFunction#getParams <em>Params</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference list '<em>Params</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockObjectFunction#getParams()
+	 * @see #getEntityMockObjectFunction()
+	 * @generated
+	 */
+	EReference getEntityMockObjectFunction_Params();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.osbp.xtext.entitymock.EntityMockObjectFunction#getBody <em>Body</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Body</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockObjectFunction#getBody()
+	 * @see #getEntityMockObjectFunction()
+	 * @generated
+	 */
+	EReference getEntityMockObjectFunction_Body();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.entitymock.EntityMockObjectFunctionParameter <em>Entity Mock Object Function Parameter</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Entity Mock Object Function Parameter</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockObjectFunctionParameter
+	 * @generated
+	 */
+	EClass getEntityMockObjectFunctionParameter();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.osbp.xtext.entitymock.EntityMockObjectFunctionParameter#getParameterType <em>Parameter Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Parameter Type</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockObjectFunctionParameter#getParameterType()
+	 * @see #getEntityMockObjectFunctionParameter()
+	 * @generated
+	 */
+	EReference getEntityMockObjectFunctionParameter_ParameterType();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.osbp.xtext.entitymock.EntityMockObjectFunctionParameter#getName <em>Name</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Name</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockObjectFunctionParameter#getName()
+	 * @see #getEntityMockObjectFunctionParameter()
+	 * @generated
+	 */
+	EReference getEntityMockObjectFunctionParameter_Name();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.entitymock.EntityMockObjectFill <em>Entity Mock Object Fill</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Entity Mock Object Fill</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockObjectFill
+	 * @generated
+	 */
+	EClass getEntityMockObjectFill();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.osbp.xtext.entitymock.EntityMockObjectFill#getFillerType <em>Filler Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Filler Type</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockObjectFill#getFillerType()
+	 * @see #getEntityMockObjectFill()
+	 * @generated
+	 */
+	EReference getEntityMockObjectFill_FillerType();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerType <em>Property Filler Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Property Filler Type</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerType
+	 * @generated
+	 */
+	EClass getPropertyFillerType();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerDateType <em>Property Filler Date Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Property Filler Date Type</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerDateType
+	 * @generated
+	 */
+	EClass getPropertyFillerDateType();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerBoolean <em>Property Filler Boolean</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Property Filler Boolean</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerBoolean
+	 * @generated
+	 */
+	EClass getPropertyFillerBoolean();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerDoubleType <em>Property Filler Double Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Property Filler Double Type</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerDoubleType
+	 * @generated
+	 */
+	EClass getPropertyFillerDoubleType();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerIntegerType <em>Property Filler Integer Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Property Filler Integer Type</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerIntegerType
+	 * @generated
+	 */
+	EClass getPropertyFillerIntegerType();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerTextType <em>Property Filler Text Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Property Filler Text Type</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerTextType
+	 * @generated
+	 */
+	EClass getPropertyFillerTextType();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerDateFuture <em>Property Filler Date Future</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Property Filler Date Future</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerDateFuture
+	 * @generated
+	 */
+	EClass getPropertyFillerDateFuture();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerDateFuture#getDateFutureYears <em>Date Future Years</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Date Future Years</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerDateFuture#getDateFutureYears()
+	 * @see #getPropertyFillerDateFuture()
+	 * @generated
+	 */
+	EAttribute getPropertyFillerDateFuture_DateFutureYears();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerDatePast <em>Property Filler Date Past</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Property Filler Date Past</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerDatePast
+	 * @generated
+	 */
+	EClass getPropertyFillerDatePast();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerDatePast#getDatePastYears <em>Date Past Years</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Date Past Years</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerDatePast#getDatePastYears()
+	 * @see #getPropertyFillerDatePast()
+	 * @generated
+	 */
+	EAttribute getPropertyFillerDatePast_DatePastYears();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerDateRange <em>Property Filler Date Range</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Property Filler Date Range</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerDateRange
+	 * @generated
+	 */
+	EClass getPropertyFillerDateRange();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerDateRange#getDateBeginYears <em>Date Begin Years</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Date Begin Years</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerDateRange#getDateBeginYears()
+	 * @see #getPropertyFillerDateRange()
+	 * @generated
+	 */
+	EAttribute getPropertyFillerDateRange_DateBeginYears();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerDateRange#getDateEndYears <em>Date End Years</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Date End Years</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerDateRange#getDateEndYears()
+	 * @see #getPropertyFillerDateRange()
+	 * @generated
+	 */
+	EAttribute getPropertyFillerDateRange_DateEndYears();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedDoubleRange <em>Property Filler Signed Double Range</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Property Filler Signed Double Range</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedDoubleRange
+	 * @generated
+	 */
+	EClass getPropertyFillerSignedDoubleRange();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedDoubleRange#getDecimals <em>Decimals</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Decimals</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedDoubleRange#getDecimals()
+	 * @see #getPropertyFillerSignedDoubleRange()
+	 * @generated
+	 */
+	EAttribute getPropertyFillerSignedDoubleRange_Decimals();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedDoubleRange#getBeginRange <em>Begin Range</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Begin Range</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedDoubleRange#getBeginRange()
+	 * @see #getPropertyFillerSignedDoubleRange()
+	 * @generated
+	 */
+	EAttribute getPropertyFillerSignedDoubleRange_BeginRange();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedDoubleRange#getEndRange <em>End Range</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>End Range</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedDoubleRange#getEndRange()
+	 * @see #getPropertyFillerSignedDoubleRange()
+	 * @generated
+	 */
+	EAttribute getPropertyFillerSignedDoubleRange_EndRange();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedDoubleRange#getBeginRangeRef <em>Begin Range Ref</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Begin Range Ref</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedDoubleRange#getBeginRangeRef()
+	 * @see #getPropertyFillerSignedDoubleRange()
+	 * @generated
+	 */
+	EReference getPropertyFillerSignedDoubleRange_BeginRangeRef();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedDoubleRange#getEndRangeRef <em>End Range Ref</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>End Range Ref</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedDoubleRange#getEndRangeRef()
+	 * @see #getPropertyFillerSignedDoubleRange()
+	 * @generated
+	 */
+	EReference getPropertyFillerSignedDoubleRange_EndRangeRef();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedDoubleRange#getRounded <em>Rounded</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Rounded</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedDoubleRange#getRounded()
+	 * @see #getPropertyFillerSignedDoubleRange()
+	 * @generated
+	 */
+	EAttribute getPropertyFillerSignedDoubleRange_Rounded();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedDoubleRandom <em>Property Filler Signed Double Random</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Property Filler Signed Double Random</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedDoubleRandom
+	 * @generated
+	 */
+	EClass getPropertyFillerSignedDoubleRandom();
+
+	/**
+	 * Returns the meta object for the attribute list '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedDoubleRandom#getItems <em>Items</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute list '<em>Items</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedDoubleRandom#getItems()
+	 * @see #getPropertyFillerSignedDoubleRandom()
+	 * @generated
+	 */
+	EAttribute getPropertyFillerSignedDoubleRandom_Items();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedIntegerRange <em>Property Filler Signed Integer Range</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Property Filler Signed Integer Range</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedIntegerRange
+	 * @generated
+	 */
+	EClass getPropertyFillerSignedIntegerRange();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedIntegerRange#getBeginRange <em>Begin Range</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Begin Range</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedIntegerRange#getBeginRange()
+	 * @see #getPropertyFillerSignedIntegerRange()
+	 * @generated
+	 */
+	EAttribute getPropertyFillerSignedIntegerRange_BeginRange();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedIntegerRange#getEndRange <em>End Range</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>End Range</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedIntegerRange#getEndRange()
+	 * @see #getPropertyFillerSignedIntegerRange()
+	 * @generated
+	 */
+	EAttribute getPropertyFillerSignedIntegerRange_EndRange();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedIntegerRange#getBeginRangeRef <em>Begin Range Ref</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Begin Range Ref</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedIntegerRange#getBeginRangeRef()
+	 * @see #getPropertyFillerSignedIntegerRange()
+	 * @generated
+	 */
+	EReference getPropertyFillerSignedIntegerRange_BeginRangeRef();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedIntegerRange#getEndRangeRef <em>End Range Ref</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>End Range Ref</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedIntegerRange#getEndRangeRef()
+	 * @see #getPropertyFillerSignedIntegerRange()
+	 * @generated
+	 */
+	EReference getPropertyFillerSignedIntegerRange_EndRangeRef();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedIntegerRange#getRounded <em>Rounded</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Rounded</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedIntegerRange#getRounded()
+	 * @see #getPropertyFillerSignedIntegerRange()
+	 * @generated
+	 */
+	EAttribute getPropertyFillerSignedIntegerRange_Rounded();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedIntegerRandom <em>Property Filler Signed Integer Random</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Property Filler Signed Integer Random</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedIntegerRandom
+	 * @generated
+	 */
+	EClass getPropertyFillerSignedIntegerRandom();
+
+	/**
+	 * Returns the meta object for the attribute list '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedIntegerRandom#getItems <em>Items</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute list '<em>Items</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedIntegerRandom#getItems()
+	 * @see #getPropertyFillerSignedIntegerRandom()
+	 * @generated
+	 */
+	EAttribute getPropertyFillerSignedIntegerRandom_Items();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerTextRandom <em>Property Filler Text Random</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Property Filler Text Random</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerTextRandom
+	 * @generated
+	 */
+	EClass getPropertyFillerTextRandom();
+
+	/**
+	 * Returns the meta object for the attribute list '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerTextRandom#getItems <em>Items</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute list '<em>Items</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerTextRandom#getItems()
+	 * @see #getPropertyFillerTextRandom()
+	 * @generated
+	 */
+	EAttribute getPropertyFillerTextRandom_Items();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerTextParagraphs <em>Property Filler Text Paragraphs</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Property Filler Text Paragraphs</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerTextParagraphs
+	 * @generated
+	 */
+	EClass getPropertyFillerTextParagraphs();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerTextParagraphs#getCount <em>Count</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Count</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerTextParagraphs#getCount()
+	 * @see #getPropertyFillerTextParagraphs()
+	 * @generated
+	 */
+	EAttribute getPropertyFillerTextParagraphs_Count();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerTextSentences <em>Property Filler Text Sentences</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Property Filler Text Sentences</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerTextSentences
+	 * @generated
+	 */
+	EClass getPropertyFillerTextSentences();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerTextSentences#getCount <em>Count</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Count</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerTextSentences#getCount()
+	 * @see #getPropertyFillerTextSentences()
+	 * @generated
+	 */
+	EAttribute getPropertyFillerTextSentences_Count();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerTextWords <em>Property Filler Text Words</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Property Filler Text Words</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerTextWords
+	 * @generated
+	 */
+	EClass getPropertyFillerTextWords();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerTextWords#getCount <em>Count</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Count</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerTextWords#getCount()
+	 * @see #getPropertyFillerTextWords()
+	 * @generated
+	 */
+	EAttribute getPropertyFillerTextWords_Count();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedDoubleRange <em>Property Filler Unsigned Double Range</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Property Filler Unsigned Double Range</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedDoubleRange
+	 * @generated
+	 */
+	EClass getPropertyFillerUnsignedDoubleRange();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedDoubleRange#getDecimals <em>Decimals</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Decimals</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedDoubleRange#getDecimals()
+	 * @see #getPropertyFillerUnsignedDoubleRange()
+	 * @generated
+	 */
+	EAttribute getPropertyFillerUnsignedDoubleRange_Decimals();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedDoubleRange#getBeginRange <em>Begin Range</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Begin Range</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedDoubleRange#getBeginRange()
+	 * @see #getPropertyFillerUnsignedDoubleRange()
+	 * @generated
+	 */
+	EAttribute getPropertyFillerUnsignedDoubleRange_BeginRange();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedDoubleRange#getEndRange <em>End Range</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>End Range</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedDoubleRange#getEndRange()
+	 * @see #getPropertyFillerUnsignedDoubleRange()
+	 * @generated
+	 */
+	EAttribute getPropertyFillerUnsignedDoubleRange_EndRange();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedDoubleRange#getBeginRangeRef <em>Begin Range Ref</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Begin Range Ref</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedDoubleRange#getBeginRangeRef()
+	 * @see #getPropertyFillerUnsignedDoubleRange()
+	 * @generated
+	 */
+	EReference getPropertyFillerUnsignedDoubleRange_BeginRangeRef();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedDoubleRange#getEndRangeRef <em>End Range Ref</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>End Range Ref</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedDoubleRange#getEndRangeRef()
+	 * @see #getPropertyFillerUnsignedDoubleRange()
+	 * @generated
+	 */
+	EReference getPropertyFillerUnsignedDoubleRange_EndRangeRef();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedDoubleRange#getRounded <em>Rounded</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Rounded</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedDoubleRange#getRounded()
+	 * @see #getPropertyFillerUnsignedDoubleRange()
+	 * @generated
+	 */
+	EAttribute getPropertyFillerUnsignedDoubleRange_Rounded();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedDoubleRandom <em>Property Filler Unsigned Double Random</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Property Filler Unsigned Double Random</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedDoubleRandom
+	 * @generated
+	 */
+	EClass getPropertyFillerUnsignedDoubleRandom();
+
+	/**
+	 * Returns the meta object for the attribute list '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedDoubleRandom#getItems <em>Items</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute list '<em>Items</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedDoubleRandom#getItems()
+	 * @see #getPropertyFillerUnsignedDoubleRandom()
+	 * @generated
+	 */
+	EAttribute getPropertyFillerUnsignedDoubleRandom_Items();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedIntegerRange <em>Property Filler Unsigned Integer Range</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Property Filler Unsigned Integer Range</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedIntegerRange
+	 * @generated
+	 */
+	EClass getPropertyFillerUnsignedIntegerRange();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedIntegerRange#getBeginRange <em>Begin Range</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Begin Range</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedIntegerRange#getBeginRange()
+	 * @see #getPropertyFillerUnsignedIntegerRange()
+	 * @generated
+	 */
+	EAttribute getPropertyFillerUnsignedIntegerRange_BeginRange();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedIntegerRange#getEndRange <em>End Range</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>End Range</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedIntegerRange#getEndRange()
+	 * @see #getPropertyFillerUnsignedIntegerRange()
+	 * @generated
+	 */
+	EAttribute getPropertyFillerUnsignedIntegerRange_EndRange();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedIntegerRange#getBeginRangeRef <em>Begin Range Ref</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Begin Range Ref</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedIntegerRange#getBeginRangeRef()
+	 * @see #getPropertyFillerUnsignedIntegerRange()
+	 * @generated
+	 */
+	EReference getPropertyFillerUnsignedIntegerRange_BeginRangeRef();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedIntegerRange#getEndRangeRef <em>End Range Ref</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>End Range Ref</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedIntegerRange#getEndRangeRef()
+	 * @see #getPropertyFillerUnsignedIntegerRange()
+	 * @generated
+	 */
+	EReference getPropertyFillerUnsignedIntegerRange_EndRangeRef();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedIntegerRange#getRounded <em>Rounded</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Rounded</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedIntegerRange#getRounded()
+	 * @see #getPropertyFillerUnsignedIntegerRange()
+	 * @generated
+	 */
+	EAttribute getPropertyFillerUnsignedIntegerRange_Rounded();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedIntegerRandom <em>Property Filler Unsigned Integer Random</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Property Filler Unsigned Integer Random</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedIntegerRandom
+	 * @generated
+	 */
+	EClass getPropertyFillerUnsignedIntegerRandom();
+
+	/**
+	 * Returns the meta object for the attribute list '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedIntegerRandom#getItems <em>Items</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute list '<em>Items</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedIntegerRandom#getItems()
+	 * @see #getPropertyFillerUnsignedIntegerRandom()
+	 * @generated
+	 */
+	EAttribute getPropertyFillerUnsignedIntegerRandom_Items();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.entitymock.EntityMockDataTypes <em>Entity Mock Data Types</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Entity Mock Data Types</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDataTypes
+	 * @generated
+	 */
+	EClass getEntityMockDataTypes();
+
+	/**
+	 * Returns the meta object for the containment reference list '{@link org.eclipse.osbp.xtext.entitymock.EntityMockDataTypes#getDatatypes <em>Datatypes</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference list '<em>Datatypes</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDataTypes#getDatatypes()
+	 * @see #getEntityMockDataTypes()
+	 * @generated
+	 */
+	EReference getEntityMockDataTypes_Datatypes();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.entitymock.EntityMockDataType <em>Entity Mock Data Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Entity Mock Data Type</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDataType
+	 * @generated
+	 */
+	EClass getEntityMockDataType();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.xtext.entitymock.EntityMockDataType#getName <em>Name</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Name</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDataType#getName()
+	 * @see #getEntityMockDataType()
+	 * @generated
+	 */
+	EAttribute getEntityMockDataType_Name();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.entitymock.EntityMockEntities <em>Entity Mock Entities</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Entity Mock Entities</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockEntities
+	 * @generated
+	 */
+	EClass getEntityMockEntities();
+
+	/**
+	 * Returns the meta object for the containment reference list '{@link org.eclipse.osbp.xtext.entitymock.EntityMockEntities#getEntities <em>Entities</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference list '<em>Entities</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockEntities#getEntities()
+	 * @see #getEntityMockEntities()
+	 * @generated
+	 */
+	EReference getEntityMockEntities_Entities();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.entitymock.EntityMockEntity <em>Entity Mock Entity</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Entity Mock Entity</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockEntity
+	 * @generated
+	 */
+	EClass getEntityMockEntity();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.xtext.entitymock.EntityMockEntity#getName <em>Name</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Name</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockEntity#getName()
+	 * @see #getEntityMockEntity()
+	 * @generated
+	 */
+	EAttribute getEntityMockEntity_Name();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.osbp.xtext.entitymock.EntityMockEntity#getEntityRef <em>Entity Ref</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Entity Ref</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockEntity#getEntityRef()
+	 * @see #getEntityMockEntity()
+	 * @generated
+	 */
+	EReference getEntityMockEntity_EntityRef();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.xtext.entitymock.EntityMockEntity#getMinRows <em>Min Rows</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Min Rows</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockEntity#getMinRows()
+	 * @see #getEntityMockEntity()
+	 * @generated
+	 */
+	EAttribute getEntityMockEntity_MinRows();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.xtext.entitymock.EntityMockEntity#getMaxRows <em>Max Rows</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Max Rows</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockEntity#getMaxRows()
+	 * @see #getEntityMockEntity()
+	 * @generated
+	 */
+	EAttribute getEntityMockEntity_MaxRows();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.osbp.xtext.entitymock.EntityMockEntity#getIterate <em>Iterate</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Iterate</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockEntity#getIterate()
+	 * @see #getEntityMockEntity()
+	 * @generated
+	 */
+	EReference getEntityMockEntity_Iterate();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.osbp.xtext.entitymock.EntityMockEntity#getIterator <em>Iterator</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Iterator</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockEntity#getIterator()
+	 * @see #getEntityMockEntity()
+	 * @generated
+	 */
+	EReference getEntityMockEntity_Iterator();
+
+	/**
+	 * Returns the meta object for the containment reference list '{@link org.eclipse.osbp.xtext.entitymock.EntityMockEntity#getTemporaries <em>Temporaries</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference list '<em>Temporaries</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockEntity#getTemporaries()
+	 * @see #getEntityMockEntity()
+	 * @generated
+	 */
+	EReference getEntityMockEntity_Temporaries();
+
+	/**
+	 * Returns the meta object for the containment reference list '{@link org.eclipse.osbp.xtext.entitymock.EntityMockEntity#getAttributes <em>Attributes</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference list '<em>Attributes</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockEntity#getAttributes()
+	 * @see #getEntityMockEntity()
+	 * @generated
+	 */
+	EReference getEntityMockEntity_Attributes();
+
+	/**
+	 * Returns the meta object for the containment reference list '{@link org.eclipse.osbp.xtext.entitymock.EntityMockEntity#getCalculations <em>Calculations</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference list '<em>Calculations</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockEntity#getCalculations()
+	 * @see #getEntityMockEntity()
+	 * @generated
+	 */
+	EReference getEntityMockEntity_Calculations();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.osbp.xtext.entitymock.EntityMockEntity#getByResource <em>By Resource</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>By Resource</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockEntity#getByResource()
+	 * @see #getEntityMockEntity()
+	 * @generated
+	 */
+	EReference getEntityMockEntity_ByResource();
+
+	/**
+	 * Returns the meta object for the containment reference list '{@link org.eclipse.osbp.xtext.entitymock.EntityMockEntity#getByResourceAttributes <em>By Resource Attributes</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference list '<em>By Resource Attributes</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockEntity#getByResourceAttributes()
+	 * @see #getEntityMockEntity()
+	 * @generated
+	 */
+	EReference getEntityMockEntity_ByResourceAttributes();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.xtext.entitymock.EntityMockEntity#isCreateBlobMapping <em>Create Blob Mapping</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Create Blob Mapping</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockEntity#isCreateBlobMapping()
+	 * @see #getEntityMockEntity()
+	 * @generated
+	 */
+	EAttribute getEntityMockEntity_CreateBlobMapping();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.entitymock.IIterate <em>IIterate</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>IIterate</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.IIterate
+	 * @generated
+	 */
+	EClass getIIterate();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.entitymock.IntegerIterate <em>Integer Iterate</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Integer Iterate</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.IntegerIterate
+	 * @generated
+	 */
+	EClass getIntegerIterate();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.xtext.entitymock.IntegerIterate#getFrom <em>From</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>From</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.IntegerIterate#getFrom()
+	 * @see #getIntegerIterate()
+	 * @generated
+	 */
+	EAttribute getIntegerIterate_From();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.xtext.entitymock.IntegerIterate#getUntil <em>Until</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Until</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.IntegerIterate#getUntil()
+	 * @see #getIntegerIterate()
+	 * @generated
+	 */
+	EAttribute getIntegerIterate_Until();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.xtext.entitymock.IntegerIterate#getStep <em>Step</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Step</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.IntegerIterate#getStep()
+	 * @see #getIntegerIterate()
+	 * @generated
+	 */
+	EAttribute getIntegerIterate_Step();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.entitymock.DateIterate <em>Date Iterate</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Date Iterate</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.DateIterate
+	 * @generated
+	 */
+	EClass getDateIterate();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.osbp.xtext.entitymock.DateIterate#getFrom <em>From</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>From</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.DateIterate#getFrom()
+	 * @see #getDateIterate()
+	 * @generated
+	 */
+	EReference getDateIterate_From();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.osbp.xtext.entitymock.DateIterate#getUntil <em>Until</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Until</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.DateIterate#getUntil()
+	 * @see #getDateIterate()
+	 * @generated
+	 */
+	EReference getDateIterate_Until();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.xtext.entitymock.DateIterate#getStepCount <em>Step Count</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Step Count</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.DateIterate#getStepCount()
+	 * @see #getDateIterate()
+	 * @generated
+	 */
+	EAttribute getDateIterate_StepCount();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.xtext.entitymock.DateIterate#getStepType <em>Step Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Step Type</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.DateIterate#getStepType()
+	 * @see #getDateIterate()
+	 * @generated
+	 */
+	EAttribute getDateIterate_StepType();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.entitymock.Date <em>Date</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Date</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.Date
+	 * @generated
+	 */
+	EClass getDate();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.xtext.entitymock.Date#isYesterday <em>Yesterday</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Yesterday</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.Date#isYesterday()
+	 * @see #getDate()
+	 * @generated
+	 */
+	EAttribute getDate_Yesterday();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.xtext.entitymock.Date#isToday <em>Today</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Today</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.Date#isToday()
+	 * @see #getDate()
+	 * @generated
+	 */
+	EAttribute getDate_Today();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.xtext.entitymock.Date#isTomorrow <em>Tomorrow</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Tomorrow</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.Date#isTomorrow()
+	 * @see #getDate()
+	 * @generated
+	 */
+	EAttribute getDate_Tomorrow();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.xtext.entitymock.Date#getOffsetCount <em>Offset Count</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Offset Count</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.Date#getOffsetCount()
+	 * @see #getDate()
+	 * @generated
+	 */
+	EAttribute getDate_OffsetCount();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.xtext.entitymock.Date#getOffsetType <em>Offset Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Offset Type</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.Date#getOffsetType()
+	 * @see #getDate()
+	 * @generated
+	 */
+	EAttribute getDate_OffsetType();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.xtext.entitymock.Date#getYear <em>Year</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Year</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.Date#getYear()
+	 * @see #getDate()
+	 * @generated
+	 */
+	EAttribute getDate_Year();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.xtext.entitymock.Date#getMonth <em>Month</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Month</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.Date#getMonth()
+	 * @see #getDate()
+	 * @generated
+	 */
+	EAttribute getDate_Month();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.xtext.entitymock.Date#getDay <em>Day</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Day</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.Date#getDay()
+	 * @see #getDate()
+	 * @generated
+	 */
+	EAttribute getDate_Day();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.entitymock.EntityMockByResourceAttribute <em>Entity Mock By Resource Attribute</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Entity Mock By Resource Attribute</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockByResourceAttribute
+	 * @generated
+	 */
+	EClass getEntityMockByResourceAttribute();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.osbp.xtext.entitymock.EntityMockByResourceAttribute#getAttributeRef <em>Attribute Ref</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Attribute Ref</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockByResourceAttribute#getAttributeRef()
+	 * @see #getEntityMockByResourceAttribute()
+	 * @generated
+	 */
+	EReference getEntityMockByResourceAttribute_AttributeRef();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.osbp.xtext.entitymock.EntityMockByResourceAttribute#getResourceAttribute <em>Resource Attribute</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Resource Attribute</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockByResourceAttribute#getResourceAttribute()
+	 * @see #getEntityMockByResourceAttribute()
+	 * @generated
+	 */
+	EReference getEntityMockByResourceAttribute_ResourceAttribute();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.entitymock.EntityMockTemporary <em>Entity Mock Temporary</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Entity Mock Temporary</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockTemporary
+	 * @generated
+	 */
+	EClass getEntityMockTemporary();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.xtext.entitymock.EntityMockTemporary#getName <em>Name</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Name</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockTemporary#getName()
+	 * @see #getEntityMockTemporary()
+	 * @generated
+	 */
+	EAttribute getEntityMockTemporary_Name();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.osbp.xtext.entitymock.EntityMockTemporary#getObject <em>Object</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Object</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockTemporary#getObject()
+	 * @see #getEntityMockTemporary()
+	 * @generated
+	 */
+	EReference getEntityMockTemporary_Object();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.entitymock.IEntityMockObjectUsable <em>IEntity Mock Object Usable</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>IEntity Mock Object Usable</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.IEntityMockObjectUsable
+	 * @generated
+	 */
+	EClass getIEntityMockObjectUsable();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.entitymock.IEntityMockEntityUsable <em>IEntity Mock Entity Usable</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>IEntity Mock Entity Usable</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.IEntityMockEntityUsable
+	 * @generated
+	 */
+	EClass getIEntityMockEntityUsable();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.entitymock.IEntityMockAttribute <em>IEntity Mock Attribute</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>IEntity Mock Attribute</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.IEntityMockAttribute
+	 * @generated
+	 */
+	EClass getIEntityMockAttribute();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.entitymock.EntityMockReferencedObjectAttribute <em>Entity Mock Referenced Object Attribute</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Entity Mock Referenced Object Attribute</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockReferencedObjectAttribute
+	 * @generated
+	 */
+	EClass getEntityMockReferencedObjectAttribute();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.osbp.xtext.entitymock.EntityMockReferencedObjectAttribute#getTemporary <em>Temporary</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Temporary</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockReferencedObjectAttribute#getTemporary()
+	 * @see #getEntityMockReferencedObjectAttribute()
+	 * @generated
+	 */
+	EReference getEntityMockReferencedObjectAttribute_Temporary();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.eclipse.osbp.xtext.entitymock.EntityMockReferencedObjectAttribute#getEmbedded <em>Embedded</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>Embedded</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockReferencedObjectAttribute#getEmbedded()
+	 * @see #getEntityMockReferencedObjectAttribute()
+	 * @generated
+	 */
+	EReference getEntityMockReferencedObjectAttribute_Embedded();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.osbp.xtext.entitymock.EntityMockReferencedObjectAttribute#getAttribute <em>Attribute</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Attribute</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockReferencedObjectAttribute#getAttribute()
+	 * @see #getEntityMockReferencedObjectAttribute()
+	 * @generated
+	 */
+	EReference getEntityMockReferencedObjectAttribute_Attribute();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByObject <em>Entity Mock Attribute By Object</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Entity Mock Attribute By Object</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByObject
+	 * @generated
+	 */
+	EClass getEntityMockAttributeByObject();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByObject#getAttributeRef <em>Attribute Ref</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Attribute Ref</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByObject#getAttributeRef()
+	 * @see #getEntityMockAttributeByObject()
+	 * @generated
+	 */
+	EReference getEntityMockAttributeByObject_AttributeRef();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByObject#getReference <em>Reference</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Reference</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByObject#getReference()
+	 * @see #getEntityMockAttributeByObject()
+	 * @generated
+	 */
+	EReference getEntityMockAttributeByObject_Reference();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByObject#getResourceEnum <em>Resource Enum</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Resource Enum</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByObject#getResourceEnum()
+	 * @see #getEntityMockAttributeByObject()
+	 * @generated
+	 */
+	EReference getEntityMockAttributeByObject_ResourceEnum();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByObject#getResourceAttribute <em>Resource Attribute</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Resource Attribute</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByObject#getResourceAttribute()
+	 * @see #getEntityMockAttributeByObject()
+	 * @generated
+	 */
+	EReference getEntityMockAttributeByObject_ResourceAttribute();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.entitymock.EntityMockAttributeFiller <em>Entity Mock Attribute Filler</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Entity Mock Attribute Filler</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockAttributeFiller
+	 * @generated
+	 */
+	EClass getEntityMockAttributeFiller();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.osbp.xtext.entitymock.EntityMockAttributeFiller#getAttributeRef <em>Attribute Ref</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Attribute Ref</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockAttributeFiller#getAttributeRef()
+	 * @see #getEntityMockAttributeFiller()
+	 * @generated
+	 */
+	EReference getEntityMockAttributeFiller_AttributeRef();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.osbp.xtext.entitymock.EntityMockAttributeFiller#getFillerType <em>Filler Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Filler Type</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockAttributeFiller#getFillerType()
+	 * @see #getEntityMockAttributeFiller()
+	 * @generated
+	 */
+	EReference getEntityMockAttributeFiller_FillerType();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByReference <em>Entity Mock Attribute By Reference</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Entity Mock Attribute By Reference</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByReference
+	 * @generated
+	 */
+	EClass getEntityMockAttributeByReference();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByReference#getAttributeRef <em>Attribute Ref</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Attribute Ref</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByReference#getAttributeRef()
+	 * @see #getEntityMockAttributeByReference()
+	 * @generated
+	 */
+	EReference getEntityMockAttributeByReference_AttributeRef();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByReference#getMockedEntity <em>Mocked Entity</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Mocked Entity</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByReference#getMockedEntity()
+	 * @see #getEntityMockAttributeByReference()
+	 * @generated
+	 */
+	EReference getEntityMockAttributeByReference_MockedEntity();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByReference#getOptionalFor <em>Optional For</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Optional For</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByReference#getOptionalFor()
+	 * @see #getEntityMockAttributeByReference()
+	 * @generated
+	 */
+	EAttribute getEntityMockAttributeByReference_OptionalFor();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.entitymock.EntityMockEntityFunction <em>Entity Mock Entity Function</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Entity Mock Entity Function</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockEntityFunction
+	 * @generated
+	 */
+	EClass getEntityMockEntityFunction();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.osbp.xtext.entitymock.EntityMockEntityFunction#getAttributeRef <em>Attribute Ref</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Attribute Ref</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockEntityFunction#getAttributeRef()
+	 * @see #getEntityMockEntityFunction()
+	 * @generated
+	 */
+	EReference getEntityMockEntityFunction_AttributeRef();
+
+	/**
+	 * Returns the meta object for the containment reference list '{@link org.eclipse.osbp.xtext.entitymock.EntityMockEntityFunction#getParams <em>Params</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference list '<em>Params</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockEntityFunction#getParams()
+	 * @see #getEntityMockEntityFunction()
+	 * @generated
+	 */
+	EReference getEntityMockEntityFunction_Params();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.osbp.xtext.entitymock.EntityMockEntityFunction#getBody <em>Body</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Body</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockEntityFunction#getBody()
+	 * @see #getEntityMockEntityFunction()
+	 * @generated
+	 */
+	EReference getEntityMockEntityFunction_Body();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.entitymock.EntityMockEntityFunctionParameter <em>Entity Mock Entity Function Parameter</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Entity Mock Entity Function Parameter</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockEntityFunctionParameter
+	 * @generated
+	 */
+	EClass getEntityMockEntityFunctionParameter();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.osbp.xtext.entitymock.EntityMockEntityFunctionParameter#getAttributeRef <em>Attribute Ref</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Attribute Ref</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockEntityFunctionParameter#getAttributeRef()
+	 * @see #getEntityMockEntityFunctionParameter()
+	 * @generated
+	 */
+	EReference getEntityMockEntityFunctionParameter_AttributeRef();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.eclipse.osbp.xtext.entitymock.EntityMockEntityFunctionParameter#getReferencePaths <em>Reference Paths</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>Reference Paths</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockEntityFunctionParameter#getReferencePaths()
+	 * @see #getEntityMockEntityFunctionParameter()
+	 * @generated
+	 */
+	EReference getEntityMockEntityFunctionParameter_ReferencePaths();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.osbp.xtext.entitymock.EntityMockEntityFunctionParameter#getReferenceRef <em>Reference Ref</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Reference Ref</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockEntityFunctionParameter#getReferenceRef()
+	 * @see #getEntityMockEntityFunctionParameter()
+	 * @generated
+	 */
+	EReference getEntityMockEntityFunctionParameter_ReferenceRef();
+
+	/**
+	 * Returns the meta object for enum '{@link org.eclipse.osbp.xtext.entitymock.EDateStepType <em>EDate Step Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for enum '<em>EDate Step Type</em>'.
+	 * @see org.eclipse.osbp.xtext.entitymock.EDateStepType
+	 * @generated
+	 */
+	EEnum getEDateStepType();
+
+	/**
+	 * Returns the meta object for data type '{@link org.eclipse.emf.ecore.InternalEObject <em>Internal EObject</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for data type '<em>Internal EObject</em>'.
+	 * @see org.eclipse.emf.ecore.InternalEObject
+	 * @model instanceClass="org.eclipse.emf.ecore.InternalEObject"
+	 * @generated
+	 */
+	EDataType getInternalEObject();
+
+	/**
+	 * Returns the factory that creates the instances of the model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the factory that creates the instances of the model.
+	 * @generated
+	 */
+	EntityMockDSLFactory getEntityMockDSLFactory();
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * Defines literals for the meta objects that represent
+	 * <ul>
+	 *   <li>each class,</li>
+	 *   <li>each feature of each class,</li>
+	 *   <li>each operation of each class,</li>
+	 *   <li>each enum,</li>
+	 *   <li>and each data type</li>
+	 * </ul>
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	interface Literals {
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockModelImpl <em>Entity Mock Model</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockModelImpl
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getEntityMockModel()
+		 * @generated
+		 */
+		EClass ENTITY_MOCK_MODEL = eINSTANCE.getEntityMockModel();
+
+		/**
+		 * The meta object literal for the '<em><b>Packages</b></em>' containment reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ENTITY_MOCK_MODEL__PACKAGES = eINSTANCE.getEntityMockModel_Packages();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockPackageImpl <em>Entity Mock Package</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockPackageImpl
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getEntityMockPackage()
+		 * @generated
+		 */
+		EClass ENTITY_MOCK_PACKAGE = eINSTANCE.getEntityMockPackage();
+
+		/**
+		 * The meta object literal for the '<em><b>Run Priority</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute ENTITY_MOCK_PACKAGE__RUN_PRIORITY = eINSTANCE.getEntityMockPackage_RunPriority();
+
+		/**
+		 * The meta object literal for the '<em><b>Datainterchanges</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ENTITY_MOCK_PACKAGE__DATAINTERCHANGES = eINSTANCE.getEntityMockPackage_Datainterchanges();
+
+		/**
+		 * The meta object literal for the '<em><b>Resources</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ENTITY_MOCK_PACKAGE__RESOURCES = eINSTANCE.getEntityMockPackage_Resources();
+
+		/**
+		 * The meta object literal for the '<em><b>Objects</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ENTITY_MOCK_PACKAGE__OBJECTS = eINSTANCE.getEntityMockPackage_Objects();
+
+		/**
+		 * The meta object literal for the '<em><b>Datatypes</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ENTITY_MOCK_PACKAGE__DATATYPES = eINSTANCE.getEntityMockPackage_Datatypes();
+
+		/**
+		 * The meta object literal for the '<em><b>Entities</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ENTITY_MOCK_PACKAGE__ENTITIES = eINSTANCE.getEntityMockPackage_Entities();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.entitymock.impl.RunningDataInterchangesImpl <em>Running Data Interchanges</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.RunningDataInterchangesImpl
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getRunningDataInterchanges()
+		 * @generated
+		 */
+		EClass RUNNING_DATA_INTERCHANGES = eINSTANCE.getRunningDataInterchanges();
+
+		/**
+		 * The meta object literal for the '<em><b>Datainterchanges</b></em>' containment reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference RUNNING_DATA_INTERCHANGES__DATAINTERCHANGES = eINSTANCE.getRunningDataInterchanges_Datainterchanges();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.entitymock.impl.RunningDataInterchangeImpl <em>Running Data Interchange</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.RunningDataInterchangeImpl
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getRunningDataInterchange()
+		 * @generated
+		 */
+		EClass RUNNING_DATA_INTERCHANGE = eINSTANCE.getRunningDataInterchange();
+
+		/**
+		 * The meta object literal for the '<em><b>Datainterchange Ref</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference RUNNING_DATA_INTERCHANGE__DATAINTERCHANGE_REF = eINSTANCE.getRunningDataInterchange_DatainterchangeRef();
+
+		/**
+		 * The meta object literal for the '<em><b>File URL</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute RUNNING_DATA_INTERCHANGE__FILE_URL = eINSTANCE.getRunningDataInterchange_FileURL();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockLazyResolverImpl <em>Entity Mock Lazy Resolver</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockLazyResolverImpl
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getEntityMockLazyResolver()
+		 * @generated
+		 */
+		EClass ENTITY_MOCK_LAZY_RESOLVER = eINSTANCE.getEntityMockLazyResolver();
+
+		/**
+		 * The meta object literal for the '<em><b>EResolve Proxy</b></em>' operation.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EOperation ENTITY_MOCK_LAZY_RESOLVER___ERESOLVE_PROXY__INTERNALEOBJECT = eINSTANCE.getEntityMockLazyResolver__EResolveProxy__InternalEObject();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockResourcesImpl <em>Entity Mock Resources</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockResourcesImpl
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getEntityMockResources()
+		 * @generated
+		 */
+		EClass ENTITY_MOCK_RESOURCES = eINSTANCE.getEntityMockResources();
+
+		/**
+		 * The meta object literal for the '<em><b>Resources</b></em>' containment reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ENTITY_MOCK_RESOURCES__RESOURCES = eINSTANCE.getEntityMockResources_Resources();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockResourceImpl <em>Entity Mock Resource</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockResourceImpl
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getEntityMockResource()
+		 * @generated
+		 */
+		EClass ENTITY_MOCK_RESOURCE = eINSTANCE.getEntityMockResource();
+
+		/**
+		 * The meta object literal for the '<em><b>Attributes</b></em>' containment reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ENTITY_MOCK_RESOURCE__ATTRIBUTES = eINSTANCE.getEntityMockResource_Attributes();
+
+		/**
+		 * The meta object literal for the '<em><b>Datarows</b></em>' containment reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ENTITY_MOCK_RESOURCE__DATAROWS = eINSTANCE.getEntityMockResource_Datarows();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockResourceAttributeImpl <em>Entity Mock Resource Attribute</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockResourceAttributeImpl
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getEntityMockResourceAttribute()
+		 * @generated
+		 */
+		EClass ENTITY_MOCK_RESOURCE_ATTRIBUTE = eINSTANCE.getEntityMockResourceAttribute();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockResourceDataRowImpl <em>Entity Mock Resource Data Row</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockResourceDataRowImpl
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getEntityMockResourceDataRow()
+		 * @generated
+		 */
+		EClass ENTITY_MOCK_RESOURCE_DATA_ROW = eINSTANCE.getEntityMockResourceDataRow();
+
+		/**
+		 * The meta object literal for the '<em><b>Values</b></em>' attribute list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute ENTITY_MOCK_RESOURCE_DATA_ROW__VALUES = eINSTANCE.getEntityMockResourceDataRow_Values();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockObjectsImpl <em>Entity Mock Objects</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockObjectsImpl
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getEntityMockObjects()
+		 * @generated
+		 */
+		EClass ENTITY_MOCK_OBJECTS = eINSTANCE.getEntityMockObjects();
+
+		/**
+		 * The meta object literal for the '<em><b>Objects</b></em>' containment reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ENTITY_MOCK_OBJECTS__OBJECTS = eINSTANCE.getEntityMockObjects_Objects();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockObjectImpl <em>Entity Mock Object</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockObjectImpl
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getEntityMockObject()
+		 * @generated
+		 */
+		EClass ENTITY_MOCK_OBJECT = eINSTANCE.getEntityMockObject();
+
+		/**
+		 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute ENTITY_MOCK_OBJECT__NAME = eINSTANCE.getEntityMockObject_Name();
+
+		/**
+		 * The meta object literal for the '<em><b>Enumerations</b></em>' containment reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ENTITY_MOCK_OBJECT__ENUMERATIONS = eINSTANCE.getEntityMockObject_Enumerations();
+
+		/**
+		 * The meta object literal for the '<em><b>Attributes</b></em>' containment reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ENTITY_MOCK_OBJECT__ATTRIBUTES = eINSTANCE.getEntityMockObject_Attributes();
+
+		/**
+		 * The meta object literal for the '<em><b>Calculations</b></em>' containment reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ENTITY_MOCK_OBJECT__CALCULATIONS = eINSTANCE.getEntityMockObject_Calculations();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockObjectEnumImpl <em>Entity Mock Object Enum</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockObjectEnumImpl
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getEntityMockObjectEnum()
+		 * @generated
+		 */
+		EClass ENTITY_MOCK_OBJECT_ENUM = eINSTANCE.getEntityMockObjectEnum();
+
+		/**
+		 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute ENTITY_MOCK_OBJECT_ENUM__NAME = eINSTANCE.getEntityMockObjectEnum_Name();
+
+		/**
+		 * The meta object literal for the '<em><b>Using Resource</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ENTITY_MOCK_OBJECT_ENUM__USING_RESOURCE = eINSTANCE.getEntityMockObjectEnum_UsingResource();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.entitymock.impl.IEntityMockObjectAttributeImpl <em>IEntity Mock Object Attribute</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.IEntityMockObjectAttributeImpl
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getIEntityMockObjectAttribute()
+		 * @generated
+		 */
+		EClass IENTITY_MOCK_OBJECT_ATTRIBUTE = eINSTANCE.getIEntityMockObjectAttribute();
+
+		/**
+		 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute IENTITY_MOCK_OBJECT_ATTRIBUTE__NAME = eINSTANCE.getIEntityMockObjectAttribute_Name();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockObjectPlainValueImpl <em>Entity Mock Object Plain Value</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockObjectPlainValueImpl
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getEntityMockObjectPlainValue()
+		 * @generated
+		 */
+		EClass ENTITY_MOCK_OBJECT_PLAIN_VALUE = eINSTANCE.getEntityMockObjectPlainValue();
+
+		/**
+		 * The meta object literal for the '<em><b>Values</b></em>' attribute list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute ENTITY_MOCK_OBJECT_PLAIN_VALUE__VALUES = eINSTANCE.getEntityMockObjectPlainValue_Values();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockObjectResourceValueImpl <em>Entity Mock Object Resource Value</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockObjectResourceValueImpl
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getEntityMockObjectResourceValue()
+		 * @generated
+		 */
+		EClass ENTITY_MOCK_OBJECT_RESOURCE_VALUE = eINSTANCE.getEntityMockObjectResourceValue();
+
+		/**
+		 * The meta object literal for the '<em><b>Resource Enum</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ENTITY_MOCK_OBJECT_RESOURCE_VALUE__RESOURCE_ENUM = eINSTANCE.getEntityMockObjectResourceValue_ResourceEnum();
+
+		/**
+		 * The meta object literal for the '<em><b>Resource Attribute</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ENTITY_MOCK_OBJECT_RESOURCE_VALUE__RESOURCE_ATTRIBUTE = eINSTANCE.getEntityMockObjectResourceValue_ResourceAttribute();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockObjectArrayValueImpl <em>Entity Mock Object Array Value</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockObjectArrayValueImpl
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getEntityMockObjectArrayValue()
+		 * @generated
+		 */
+		EClass ENTITY_MOCK_OBJECT_ARRAY_VALUE = eINSTANCE.getEntityMockObjectArrayValue();
+
+		/**
+		 * The meta object literal for the '<em><b>Enumeration</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ENTITY_MOCK_OBJECT_ARRAY_VALUE__ENUMERATION = eINSTANCE.getEntityMockObjectArrayValue_Enumeration();
+
+		/**
+		 * The meta object literal for the '<em><b>Items</b></em>' containment reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ENTITY_MOCK_OBJECT_ARRAY_VALUE__ITEMS = eINSTANCE.getEntityMockObjectArrayValue_Items();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockObjectItemValueImpl <em>Entity Mock Object Item Value</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockObjectItemValueImpl
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getEntityMockObjectItemValue()
+		 * @generated
+		 */
+		EClass ENTITY_MOCK_OBJECT_ITEM_VALUE = eINSTANCE.getEntityMockObjectItemValue();
+
+		/**
+		 * The meta object literal for the '<em><b>Datarow</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ENTITY_MOCK_OBJECT_ITEM_VALUE__DATAROW = eINSTANCE.getEntityMockObjectItemValue_Datarow();
+
+		/**
+		 * The meta object literal for the '<em><b>Values</b></em>' attribute list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute ENTITY_MOCK_OBJECT_ITEM_VALUE__VALUES = eINSTANCE.getEntityMockObjectItemValue_Values();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockObjectEmbedImpl <em>Entity Mock Object Embed</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockObjectEmbedImpl
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getEntityMockObjectEmbed()
+		 * @generated
+		 */
+		EClass ENTITY_MOCK_OBJECT_EMBED = eINSTANCE.getEntityMockObjectEmbed();
+
+		/**
+		 * The meta object literal for the '<em><b>Object</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ENTITY_MOCK_OBJECT_EMBED__OBJECT = eINSTANCE.getEntityMockObjectEmbed_Object();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockObjectFunctionImpl <em>Entity Mock Object Function</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockObjectFunctionImpl
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getEntityMockObjectFunction()
+		 * @generated
+		 */
+		EClass ENTITY_MOCK_OBJECT_FUNCTION = eINSTANCE.getEntityMockObjectFunction();
+
+		/**
+		 * The meta object literal for the '<em><b>Oftype</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ENTITY_MOCK_OBJECT_FUNCTION__OFTYPE = eINSTANCE.getEntityMockObjectFunction_Oftype();
+
+		/**
+		 * The meta object literal for the '<em><b>Params</b></em>' containment reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ENTITY_MOCK_OBJECT_FUNCTION__PARAMS = eINSTANCE.getEntityMockObjectFunction_Params();
+
+		/**
+		 * The meta object literal for the '<em><b>Body</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ENTITY_MOCK_OBJECT_FUNCTION__BODY = eINSTANCE.getEntityMockObjectFunction_Body();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockObjectFunctionParameterImpl <em>Entity Mock Object Function Parameter</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockObjectFunctionParameterImpl
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getEntityMockObjectFunctionParameter()
+		 * @generated
+		 */
+		EClass ENTITY_MOCK_OBJECT_FUNCTION_PARAMETER = eINSTANCE.getEntityMockObjectFunctionParameter();
+
+		/**
+		 * The meta object literal for the '<em><b>Parameter Type</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ENTITY_MOCK_OBJECT_FUNCTION_PARAMETER__PARAMETER_TYPE = eINSTANCE.getEntityMockObjectFunctionParameter_ParameterType();
+
+		/**
+		 * The meta object literal for the '<em><b>Name</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ENTITY_MOCK_OBJECT_FUNCTION_PARAMETER__NAME = eINSTANCE.getEntityMockObjectFunctionParameter_Name();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockObjectFillImpl <em>Entity Mock Object Fill</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockObjectFillImpl
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getEntityMockObjectFill()
+		 * @generated
+		 */
+		EClass ENTITY_MOCK_OBJECT_FILL = eINSTANCE.getEntityMockObjectFill();
+
+		/**
+		 * The meta object literal for the '<em><b>Filler Type</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ENTITY_MOCK_OBJECT_FILL__FILLER_TYPE = eINSTANCE.getEntityMockObjectFill_FillerType();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerTypeImpl <em>Property Filler Type</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerTypeImpl
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getPropertyFillerType()
+		 * @generated
+		 */
+		EClass PROPERTY_FILLER_TYPE = eINSTANCE.getPropertyFillerType();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerDateTypeImpl <em>Property Filler Date Type</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerDateTypeImpl
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getPropertyFillerDateType()
+		 * @generated
+		 */
+		EClass PROPERTY_FILLER_DATE_TYPE = eINSTANCE.getPropertyFillerDateType();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerBooleanImpl <em>Property Filler Boolean</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerBooleanImpl
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getPropertyFillerBoolean()
+		 * @generated
+		 */
+		EClass PROPERTY_FILLER_BOOLEAN = eINSTANCE.getPropertyFillerBoolean();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerDoubleTypeImpl <em>Property Filler Double Type</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerDoubleTypeImpl
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getPropertyFillerDoubleType()
+		 * @generated
+		 */
+		EClass PROPERTY_FILLER_DOUBLE_TYPE = eINSTANCE.getPropertyFillerDoubleType();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerIntegerTypeImpl <em>Property Filler Integer Type</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerIntegerTypeImpl
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getPropertyFillerIntegerType()
+		 * @generated
+		 */
+		EClass PROPERTY_FILLER_INTEGER_TYPE = eINSTANCE.getPropertyFillerIntegerType();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerTextTypeImpl <em>Property Filler Text Type</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerTextTypeImpl
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getPropertyFillerTextType()
+		 * @generated
+		 */
+		EClass PROPERTY_FILLER_TEXT_TYPE = eINSTANCE.getPropertyFillerTextType();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerDateFutureImpl <em>Property Filler Date Future</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerDateFutureImpl
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getPropertyFillerDateFuture()
+		 * @generated
+		 */
+		EClass PROPERTY_FILLER_DATE_FUTURE = eINSTANCE.getPropertyFillerDateFuture();
+
+		/**
+		 * The meta object literal for the '<em><b>Date Future Years</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute PROPERTY_FILLER_DATE_FUTURE__DATE_FUTURE_YEARS = eINSTANCE.getPropertyFillerDateFuture_DateFutureYears();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerDatePastImpl <em>Property Filler Date Past</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerDatePastImpl
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getPropertyFillerDatePast()
+		 * @generated
+		 */
+		EClass PROPERTY_FILLER_DATE_PAST = eINSTANCE.getPropertyFillerDatePast();
+
+		/**
+		 * The meta object literal for the '<em><b>Date Past Years</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute PROPERTY_FILLER_DATE_PAST__DATE_PAST_YEARS = eINSTANCE.getPropertyFillerDatePast_DatePastYears();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerDateRangeImpl <em>Property Filler Date Range</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerDateRangeImpl
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getPropertyFillerDateRange()
+		 * @generated
+		 */
+		EClass PROPERTY_FILLER_DATE_RANGE = eINSTANCE.getPropertyFillerDateRange();
+
+		/**
+		 * The meta object literal for the '<em><b>Date Begin Years</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute PROPERTY_FILLER_DATE_RANGE__DATE_BEGIN_YEARS = eINSTANCE.getPropertyFillerDateRange_DateBeginYears();
+
+		/**
+		 * The meta object literal for the '<em><b>Date End Years</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute PROPERTY_FILLER_DATE_RANGE__DATE_END_YEARS = eINSTANCE.getPropertyFillerDateRange_DateEndYears();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerSignedDoubleRangeImpl <em>Property Filler Signed Double Range</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerSignedDoubleRangeImpl
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getPropertyFillerSignedDoubleRange()
+		 * @generated
+		 */
+		EClass PROPERTY_FILLER_SIGNED_DOUBLE_RANGE = eINSTANCE.getPropertyFillerSignedDoubleRange();
+
+		/**
+		 * The meta object literal for the '<em><b>Decimals</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute PROPERTY_FILLER_SIGNED_DOUBLE_RANGE__DECIMALS = eINSTANCE.getPropertyFillerSignedDoubleRange_Decimals();
+
+		/**
+		 * The meta object literal for the '<em><b>Begin Range</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute PROPERTY_FILLER_SIGNED_DOUBLE_RANGE__BEGIN_RANGE = eINSTANCE.getPropertyFillerSignedDoubleRange_BeginRange();
+
+		/**
+		 * The meta object literal for the '<em><b>End Range</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute PROPERTY_FILLER_SIGNED_DOUBLE_RANGE__END_RANGE = eINSTANCE.getPropertyFillerSignedDoubleRange_EndRange();
+
+		/**
+		 * The meta object literal for the '<em><b>Begin Range Ref</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference PROPERTY_FILLER_SIGNED_DOUBLE_RANGE__BEGIN_RANGE_REF = eINSTANCE.getPropertyFillerSignedDoubleRange_BeginRangeRef();
+
+		/**
+		 * The meta object literal for the '<em><b>End Range Ref</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference PROPERTY_FILLER_SIGNED_DOUBLE_RANGE__END_RANGE_REF = eINSTANCE.getPropertyFillerSignedDoubleRange_EndRangeRef();
+
+		/**
+		 * The meta object literal for the '<em><b>Rounded</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute PROPERTY_FILLER_SIGNED_DOUBLE_RANGE__ROUNDED = eINSTANCE.getPropertyFillerSignedDoubleRange_Rounded();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerSignedDoubleRandomImpl <em>Property Filler Signed Double Random</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerSignedDoubleRandomImpl
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getPropertyFillerSignedDoubleRandom()
+		 * @generated
+		 */
+		EClass PROPERTY_FILLER_SIGNED_DOUBLE_RANDOM = eINSTANCE.getPropertyFillerSignedDoubleRandom();
+
+		/**
+		 * The meta object literal for the '<em><b>Items</b></em>' attribute list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute PROPERTY_FILLER_SIGNED_DOUBLE_RANDOM__ITEMS = eINSTANCE.getPropertyFillerSignedDoubleRandom_Items();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerSignedIntegerRangeImpl <em>Property Filler Signed Integer Range</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerSignedIntegerRangeImpl
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getPropertyFillerSignedIntegerRange()
+		 * @generated
+		 */
+		EClass PROPERTY_FILLER_SIGNED_INTEGER_RANGE = eINSTANCE.getPropertyFillerSignedIntegerRange();
+
+		/**
+		 * The meta object literal for the '<em><b>Begin Range</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute PROPERTY_FILLER_SIGNED_INTEGER_RANGE__BEGIN_RANGE = eINSTANCE.getPropertyFillerSignedIntegerRange_BeginRange();
+
+		/**
+		 * The meta object literal for the '<em><b>End Range</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute PROPERTY_FILLER_SIGNED_INTEGER_RANGE__END_RANGE = eINSTANCE.getPropertyFillerSignedIntegerRange_EndRange();
+
+		/**
+		 * The meta object literal for the '<em><b>Begin Range Ref</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference PROPERTY_FILLER_SIGNED_INTEGER_RANGE__BEGIN_RANGE_REF = eINSTANCE.getPropertyFillerSignedIntegerRange_BeginRangeRef();
+
+		/**
+		 * The meta object literal for the '<em><b>End Range Ref</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference PROPERTY_FILLER_SIGNED_INTEGER_RANGE__END_RANGE_REF = eINSTANCE.getPropertyFillerSignedIntegerRange_EndRangeRef();
+
+		/**
+		 * The meta object literal for the '<em><b>Rounded</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute PROPERTY_FILLER_SIGNED_INTEGER_RANGE__ROUNDED = eINSTANCE.getPropertyFillerSignedIntegerRange_Rounded();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerSignedIntegerRandomImpl <em>Property Filler Signed Integer Random</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerSignedIntegerRandomImpl
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getPropertyFillerSignedIntegerRandom()
+		 * @generated
+		 */
+		EClass PROPERTY_FILLER_SIGNED_INTEGER_RANDOM = eINSTANCE.getPropertyFillerSignedIntegerRandom();
+
+		/**
+		 * The meta object literal for the '<em><b>Items</b></em>' attribute list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute PROPERTY_FILLER_SIGNED_INTEGER_RANDOM__ITEMS = eINSTANCE.getPropertyFillerSignedIntegerRandom_Items();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerTextRandomImpl <em>Property Filler Text Random</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerTextRandomImpl
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getPropertyFillerTextRandom()
+		 * @generated
+		 */
+		EClass PROPERTY_FILLER_TEXT_RANDOM = eINSTANCE.getPropertyFillerTextRandom();
+
+		/**
+		 * The meta object literal for the '<em><b>Items</b></em>' attribute list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute PROPERTY_FILLER_TEXT_RANDOM__ITEMS = eINSTANCE.getPropertyFillerTextRandom_Items();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerTextParagraphsImpl <em>Property Filler Text Paragraphs</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerTextParagraphsImpl
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getPropertyFillerTextParagraphs()
+		 * @generated
+		 */
+		EClass PROPERTY_FILLER_TEXT_PARAGRAPHS = eINSTANCE.getPropertyFillerTextParagraphs();
+
+		/**
+		 * The meta object literal for the '<em><b>Count</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute PROPERTY_FILLER_TEXT_PARAGRAPHS__COUNT = eINSTANCE.getPropertyFillerTextParagraphs_Count();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerTextSentencesImpl <em>Property Filler Text Sentences</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerTextSentencesImpl
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getPropertyFillerTextSentences()
+		 * @generated
+		 */
+		EClass PROPERTY_FILLER_TEXT_SENTENCES = eINSTANCE.getPropertyFillerTextSentences();
+
+		/**
+		 * The meta object literal for the '<em><b>Count</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute PROPERTY_FILLER_TEXT_SENTENCES__COUNT = eINSTANCE.getPropertyFillerTextSentences_Count();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerTextWordsImpl <em>Property Filler Text Words</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerTextWordsImpl
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getPropertyFillerTextWords()
+		 * @generated
+		 */
+		EClass PROPERTY_FILLER_TEXT_WORDS = eINSTANCE.getPropertyFillerTextWords();
+
+		/**
+		 * The meta object literal for the '<em><b>Count</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute PROPERTY_FILLER_TEXT_WORDS__COUNT = eINSTANCE.getPropertyFillerTextWords_Count();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerUnsignedDoubleRangeImpl <em>Property Filler Unsigned Double Range</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerUnsignedDoubleRangeImpl
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getPropertyFillerUnsignedDoubleRange()
+		 * @generated
+		 */
+		EClass PROPERTY_FILLER_UNSIGNED_DOUBLE_RANGE = eINSTANCE.getPropertyFillerUnsignedDoubleRange();
+
+		/**
+		 * The meta object literal for the '<em><b>Decimals</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute PROPERTY_FILLER_UNSIGNED_DOUBLE_RANGE__DECIMALS = eINSTANCE.getPropertyFillerUnsignedDoubleRange_Decimals();
+
+		/**
+		 * The meta object literal for the '<em><b>Begin Range</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute PROPERTY_FILLER_UNSIGNED_DOUBLE_RANGE__BEGIN_RANGE = eINSTANCE.getPropertyFillerUnsignedDoubleRange_BeginRange();
+
+		/**
+		 * The meta object literal for the '<em><b>End Range</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute PROPERTY_FILLER_UNSIGNED_DOUBLE_RANGE__END_RANGE = eINSTANCE.getPropertyFillerUnsignedDoubleRange_EndRange();
+
+		/**
+		 * The meta object literal for the '<em><b>Begin Range Ref</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference PROPERTY_FILLER_UNSIGNED_DOUBLE_RANGE__BEGIN_RANGE_REF = eINSTANCE.getPropertyFillerUnsignedDoubleRange_BeginRangeRef();
+
+		/**
+		 * The meta object literal for the '<em><b>End Range Ref</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference PROPERTY_FILLER_UNSIGNED_DOUBLE_RANGE__END_RANGE_REF = eINSTANCE.getPropertyFillerUnsignedDoubleRange_EndRangeRef();
+
+		/**
+		 * The meta object literal for the '<em><b>Rounded</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute PROPERTY_FILLER_UNSIGNED_DOUBLE_RANGE__ROUNDED = eINSTANCE.getPropertyFillerUnsignedDoubleRange_Rounded();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerUnsignedDoubleRandomImpl <em>Property Filler Unsigned Double Random</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerUnsignedDoubleRandomImpl
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getPropertyFillerUnsignedDoubleRandom()
+		 * @generated
+		 */
+		EClass PROPERTY_FILLER_UNSIGNED_DOUBLE_RANDOM = eINSTANCE.getPropertyFillerUnsignedDoubleRandom();
+
+		/**
+		 * The meta object literal for the '<em><b>Items</b></em>' attribute list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute PROPERTY_FILLER_UNSIGNED_DOUBLE_RANDOM__ITEMS = eINSTANCE.getPropertyFillerUnsignedDoubleRandom_Items();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerUnsignedIntegerRangeImpl <em>Property Filler Unsigned Integer Range</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerUnsignedIntegerRangeImpl
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getPropertyFillerUnsignedIntegerRange()
+		 * @generated
+		 */
+		EClass PROPERTY_FILLER_UNSIGNED_INTEGER_RANGE = eINSTANCE.getPropertyFillerUnsignedIntegerRange();
+
+		/**
+		 * The meta object literal for the '<em><b>Begin Range</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute PROPERTY_FILLER_UNSIGNED_INTEGER_RANGE__BEGIN_RANGE = eINSTANCE.getPropertyFillerUnsignedIntegerRange_BeginRange();
+
+		/**
+		 * The meta object literal for the '<em><b>End Range</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute PROPERTY_FILLER_UNSIGNED_INTEGER_RANGE__END_RANGE = eINSTANCE.getPropertyFillerUnsignedIntegerRange_EndRange();
+
+		/**
+		 * The meta object literal for the '<em><b>Begin Range Ref</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference PROPERTY_FILLER_UNSIGNED_INTEGER_RANGE__BEGIN_RANGE_REF = eINSTANCE.getPropertyFillerUnsignedIntegerRange_BeginRangeRef();
+
+		/**
+		 * The meta object literal for the '<em><b>End Range Ref</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference PROPERTY_FILLER_UNSIGNED_INTEGER_RANGE__END_RANGE_REF = eINSTANCE.getPropertyFillerUnsignedIntegerRange_EndRangeRef();
+
+		/**
+		 * The meta object literal for the '<em><b>Rounded</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute PROPERTY_FILLER_UNSIGNED_INTEGER_RANGE__ROUNDED = eINSTANCE.getPropertyFillerUnsignedIntegerRange_Rounded();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerUnsignedIntegerRandomImpl <em>Property Filler Unsigned Integer Random</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerUnsignedIntegerRandomImpl
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getPropertyFillerUnsignedIntegerRandom()
+		 * @generated
+		 */
+		EClass PROPERTY_FILLER_UNSIGNED_INTEGER_RANDOM = eINSTANCE.getPropertyFillerUnsignedIntegerRandom();
+
+		/**
+		 * The meta object literal for the '<em><b>Items</b></em>' attribute list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute PROPERTY_FILLER_UNSIGNED_INTEGER_RANDOM__ITEMS = eINSTANCE.getPropertyFillerUnsignedIntegerRandom_Items();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockDataTypesImpl <em>Entity Mock Data Types</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDataTypesImpl
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getEntityMockDataTypes()
+		 * @generated
+		 */
+		EClass ENTITY_MOCK_DATA_TYPES = eINSTANCE.getEntityMockDataTypes();
+
+		/**
+		 * The meta object literal for the '<em><b>Datatypes</b></em>' containment reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ENTITY_MOCK_DATA_TYPES__DATATYPES = eINSTANCE.getEntityMockDataTypes_Datatypes();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockDataTypeImpl <em>Entity Mock Data Type</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDataTypeImpl
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getEntityMockDataType()
+		 * @generated
+		 */
+		EClass ENTITY_MOCK_DATA_TYPE = eINSTANCE.getEntityMockDataType();
+
+		/**
+		 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute ENTITY_MOCK_DATA_TYPE__NAME = eINSTANCE.getEntityMockDataType_Name();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockEntitiesImpl <em>Entity Mock Entities</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockEntitiesImpl
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getEntityMockEntities()
+		 * @generated
+		 */
+		EClass ENTITY_MOCK_ENTITIES = eINSTANCE.getEntityMockEntities();
+
+		/**
+		 * The meta object literal for the '<em><b>Entities</b></em>' containment reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ENTITY_MOCK_ENTITIES__ENTITIES = eINSTANCE.getEntityMockEntities_Entities();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockEntityImpl <em>Entity Mock Entity</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockEntityImpl
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getEntityMockEntity()
+		 * @generated
+		 */
+		EClass ENTITY_MOCK_ENTITY = eINSTANCE.getEntityMockEntity();
+
+		/**
+		 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute ENTITY_MOCK_ENTITY__NAME = eINSTANCE.getEntityMockEntity_Name();
+
+		/**
+		 * The meta object literal for the '<em><b>Entity Ref</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ENTITY_MOCK_ENTITY__ENTITY_REF = eINSTANCE.getEntityMockEntity_EntityRef();
+
+		/**
+		 * The meta object literal for the '<em><b>Min Rows</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute ENTITY_MOCK_ENTITY__MIN_ROWS = eINSTANCE.getEntityMockEntity_MinRows();
+
+		/**
+		 * The meta object literal for the '<em><b>Max Rows</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute ENTITY_MOCK_ENTITY__MAX_ROWS = eINSTANCE.getEntityMockEntity_MaxRows();
+
+		/**
+		 * The meta object literal for the '<em><b>Iterate</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ENTITY_MOCK_ENTITY__ITERATE = eINSTANCE.getEntityMockEntity_Iterate();
+
+		/**
+		 * The meta object literal for the '<em><b>Iterator</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ENTITY_MOCK_ENTITY__ITERATOR = eINSTANCE.getEntityMockEntity_Iterator();
+
+		/**
+		 * The meta object literal for the '<em><b>Temporaries</b></em>' containment reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ENTITY_MOCK_ENTITY__TEMPORARIES = eINSTANCE.getEntityMockEntity_Temporaries();
+
+		/**
+		 * The meta object literal for the '<em><b>Attributes</b></em>' containment reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ENTITY_MOCK_ENTITY__ATTRIBUTES = eINSTANCE.getEntityMockEntity_Attributes();
+
+		/**
+		 * The meta object literal for the '<em><b>Calculations</b></em>' containment reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ENTITY_MOCK_ENTITY__CALCULATIONS = eINSTANCE.getEntityMockEntity_Calculations();
+
+		/**
+		 * The meta object literal for the '<em><b>By Resource</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ENTITY_MOCK_ENTITY__BY_RESOURCE = eINSTANCE.getEntityMockEntity_ByResource();
+
+		/**
+		 * The meta object literal for the '<em><b>By Resource Attributes</b></em>' containment reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ENTITY_MOCK_ENTITY__BY_RESOURCE_ATTRIBUTES = eINSTANCE.getEntityMockEntity_ByResourceAttributes();
+
+		/**
+		 * The meta object literal for the '<em><b>Create Blob Mapping</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute ENTITY_MOCK_ENTITY__CREATE_BLOB_MAPPING = eINSTANCE.getEntityMockEntity_CreateBlobMapping();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.entitymock.impl.IIterateImpl <em>IIterate</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.IIterateImpl
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getIIterate()
+		 * @generated
+		 */
+		EClass IITERATE = eINSTANCE.getIIterate();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.entitymock.impl.IntegerIterateImpl <em>Integer Iterate</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.IntegerIterateImpl
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getIntegerIterate()
+		 * @generated
+		 */
+		EClass INTEGER_ITERATE = eINSTANCE.getIntegerIterate();
+
+		/**
+		 * The meta object literal for the '<em><b>From</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute INTEGER_ITERATE__FROM = eINSTANCE.getIntegerIterate_From();
+
+		/**
+		 * The meta object literal for the '<em><b>Until</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute INTEGER_ITERATE__UNTIL = eINSTANCE.getIntegerIterate_Until();
+
+		/**
+		 * The meta object literal for the '<em><b>Step</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute INTEGER_ITERATE__STEP = eINSTANCE.getIntegerIterate_Step();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.entitymock.impl.DateIterateImpl <em>Date Iterate</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.DateIterateImpl
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getDateIterate()
+		 * @generated
+		 */
+		EClass DATE_ITERATE = eINSTANCE.getDateIterate();
+
+		/**
+		 * The meta object literal for the '<em><b>From</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference DATE_ITERATE__FROM = eINSTANCE.getDateIterate_From();
+
+		/**
+		 * The meta object literal for the '<em><b>Until</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference DATE_ITERATE__UNTIL = eINSTANCE.getDateIterate_Until();
+
+		/**
+		 * The meta object literal for the '<em><b>Step Count</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute DATE_ITERATE__STEP_COUNT = eINSTANCE.getDateIterate_StepCount();
+
+		/**
+		 * The meta object literal for the '<em><b>Step Type</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute DATE_ITERATE__STEP_TYPE = eINSTANCE.getDateIterate_StepType();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.entitymock.impl.DateImpl <em>Date</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.DateImpl
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getDate()
+		 * @generated
+		 */
+		EClass DATE = eINSTANCE.getDate();
+
+		/**
+		 * The meta object literal for the '<em><b>Yesterday</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute DATE__YESTERDAY = eINSTANCE.getDate_Yesterday();
+
+		/**
+		 * The meta object literal for the '<em><b>Today</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute DATE__TODAY = eINSTANCE.getDate_Today();
+
+		/**
+		 * The meta object literal for the '<em><b>Tomorrow</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute DATE__TOMORROW = eINSTANCE.getDate_Tomorrow();
+
+		/**
+		 * The meta object literal for the '<em><b>Offset Count</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute DATE__OFFSET_COUNT = eINSTANCE.getDate_OffsetCount();
+
+		/**
+		 * The meta object literal for the '<em><b>Offset Type</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute DATE__OFFSET_TYPE = eINSTANCE.getDate_OffsetType();
+
+		/**
+		 * The meta object literal for the '<em><b>Year</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute DATE__YEAR = eINSTANCE.getDate_Year();
+
+		/**
+		 * The meta object literal for the '<em><b>Month</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute DATE__MONTH = eINSTANCE.getDate_Month();
+
+		/**
+		 * The meta object literal for the '<em><b>Day</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute DATE__DAY = eINSTANCE.getDate_Day();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockByResourceAttributeImpl <em>Entity Mock By Resource Attribute</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockByResourceAttributeImpl
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getEntityMockByResourceAttribute()
+		 * @generated
+		 */
+		EClass ENTITY_MOCK_BY_RESOURCE_ATTRIBUTE = eINSTANCE.getEntityMockByResourceAttribute();
+
+		/**
+		 * The meta object literal for the '<em><b>Attribute Ref</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ENTITY_MOCK_BY_RESOURCE_ATTRIBUTE__ATTRIBUTE_REF = eINSTANCE.getEntityMockByResourceAttribute_AttributeRef();
+
+		/**
+		 * The meta object literal for the '<em><b>Resource Attribute</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ENTITY_MOCK_BY_RESOURCE_ATTRIBUTE__RESOURCE_ATTRIBUTE = eINSTANCE.getEntityMockByResourceAttribute_ResourceAttribute();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockTemporaryImpl <em>Entity Mock Temporary</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockTemporaryImpl
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getEntityMockTemporary()
+		 * @generated
+		 */
+		EClass ENTITY_MOCK_TEMPORARY = eINSTANCE.getEntityMockTemporary();
+
+		/**
+		 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute ENTITY_MOCK_TEMPORARY__NAME = eINSTANCE.getEntityMockTemporary_Name();
+
+		/**
+		 * The meta object literal for the '<em><b>Object</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ENTITY_MOCK_TEMPORARY__OBJECT = eINSTANCE.getEntityMockTemporary_Object();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.entitymock.impl.IEntityMockObjectUsableImpl <em>IEntity Mock Object Usable</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.IEntityMockObjectUsableImpl
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getIEntityMockObjectUsable()
+		 * @generated
+		 */
+		EClass IENTITY_MOCK_OBJECT_USABLE = eINSTANCE.getIEntityMockObjectUsable();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.entitymock.impl.IEntityMockEntityUsableImpl <em>IEntity Mock Entity Usable</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.IEntityMockEntityUsableImpl
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getIEntityMockEntityUsable()
+		 * @generated
+		 */
+		EClass IENTITY_MOCK_ENTITY_USABLE = eINSTANCE.getIEntityMockEntityUsable();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.entitymock.impl.IEntityMockAttributeImpl <em>IEntity Mock Attribute</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.IEntityMockAttributeImpl
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getIEntityMockAttribute()
+		 * @generated
+		 */
+		EClass IENTITY_MOCK_ATTRIBUTE = eINSTANCE.getIEntityMockAttribute();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockReferencedObjectAttributeImpl <em>Entity Mock Referenced Object Attribute</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockReferencedObjectAttributeImpl
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getEntityMockReferencedObjectAttribute()
+		 * @generated
+		 */
+		EClass ENTITY_MOCK_REFERENCED_OBJECT_ATTRIBUTE = eINSTANCE.getEntityMockReferencedObjectAttribute();
+
+		/**
+		 * The meta object literal for the '<em><b>Temporary</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ENTITY_MOCK_REFERENCED_OBJECT_ATTRIBUTE__TEMPORARY = eINSTANCE.getEntityMockReferencedObjectAttribute_Temporary();
+
+		/**
+		 * The meta object literal for the '<em><b>Embedded</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ENTITY_MOCK_REFERENCED_OBJECT_ATTRIBUTE__EMBEDDED = eINSTANCE.getEntityMockReferencedObjectAttribute_Embedded();
+
+		/**
+		 * The meta object literal for the '<em><b>Attribute</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ENTITY_MOCK_REFERENCED_OBJECT_ATTRIBUTE__ATTRIBUTE = eINSTANCE.getEntityMockReferencedObjectAttribute_Attribute();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockAttributeByObjectImpl <em>Entity Mock Attribute By Object</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockAttributeByObjectImpl
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getEntityMockAttributeByObject()
+		 * @generated
+		 */
+		EClass ENTITY_MOCK_ATTRIBUTE_BY_OBJECT = eINSTANCE.getEntityMockAttributeByObject();
+
+		/**
+		 * The meta object literal for the '<em><b>Attribute Ref</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ENTITY_MOCK_ATTRIBUTE_BY_OBJECT__ATTRIBUTE_REF = eINSTANCE.getEntityMockAttributeByObject_AttributeRef();
+
+		/**
+		 * The meta object literal for the '<em><b>Reference</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ENTITY_MOCK_ATTRIBUTE_BY_OBJECT__REFERENCE = eINSTANCE.getEntityMockAttributeByObject_Reference();
+
+		/**
+		 * The meta object literal for the '<em><b>Resource Enum</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ENTITY_MOCK_ATTRIBUTE_BY_OBJECT__RESOURCE_ENUM = eINSTANCE.getEntityMockAttributeByObject_ResourceEnum();
+
+		/**
+		 * The meta object literal for the '<em><b>Resource Attribute</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ENTITY_MOCK_ATTRIBUTE_BY_OBJECT__RESOURCE_ATTRIBUTE = eINSTANCE.getEntityMockAttributeByObject_ResourceAttribute();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockAttributeFillerImpl <em>Entity Mock Attribute Filler</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockAttributeFillerImpl
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getEntityMockAttributeFiller()
+		 * @generated
+		 */
+		EClass ENTITY_MOCK_ATTRIBUTE_FILLER = eINSTANCE.getEntityMockAttributeFiller();
+
+		/**
+		 * The meta object literal for the '<em><b>Attribute Ref</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ENTITY_MOCK_ATTRIBUTE_FILLER__ATTRIBUTE_REF = eINSTANCE.getEntityMockAttributeFiller_AttributeRef();
+
+		/**
+		 * The meta object literal for the '<em><b>Filler Type</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ENTITY_MOCK_ATTRIBUTE_FILLER__FILLER_TYPE = eINSTANCE.getEntityMockAttributeFiller_FillerType();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockAttributeByReferenceImpl <em>Entity Mock Attribute By Reference</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockAttributeByReferenceImpl
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getEntityMockAttributeByReference()
+		 * @generated
+		 */
+		EClass ENTITY_MOCK_ATTRIBUTE_BY_REFERENCE = eINSTANCE.getEntityMockAttributeByReference();
+
+		/**
+		 * The meta object literal for the '<em><b>Attribute Ref</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ENTITY_MOCK_ATTRIBUTE_BY_REFERENCE__ATTRIBUTE_REF = eINSTANCE.getEntityMockAttributeByReference_AttributeRef();
+
+		/**
+		 * The meta object literal for the '<em><b>Mocked Entity</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ENTITY_MOCK_ATTRIBUTE_BY_REFERENCE__MOCKED_ENTITY = eINSTANCE.getEntityMockAttributeByReference_MockedEntity();
+
+		/**
+		 * The meta object literal for the '<em><b>Optional For</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute ENTITY_MOCK_ATTRIBUTE_BY_REFERENCE__OPTIONAL_FOR = eINSTANCE.getEntityMockAttributeByReference_OptionalFor();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockEntityFunctionImpl <em>Entity Mock Entity Function</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockEntityFunctionImpl
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getEntityMockEntityFunction()
+		 * @generated
+		 */
+		EClass ENTITY_MOCK_ENTITY_FUNCTION = eINSTANCE.getEntityMockEntityFunction();
+
+		/**
+		 * The meta object literal for the '<em><b>Attribute Ref</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ENTITY_MOCK_ENTITY_FUNCTION__ATTRIBUTE_REF = eINSTANCE.getEntityMockEntityFunction_AttributeRef();
+
+		/**
+		 * The meta object literal for the '<em><b>Params</b></em>' containment reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ENTITY_MOCK_ENTITY_FUNCTION__PARAMS = eINSTANCE.getEntityMockEntityFunction_Params();
+
+		/**
+		 * The meta object literal for the '<em><b>Body</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ENTITY_MOCK_ENTITY_FUNCTION__BODY = eINSTANCE.getEntityMockEntityFunction_Body();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockEntityFunctionParameterImpl <em>Entity Mock Entity Function Parameter</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockEntityFunctionParameterImpl
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getEntityMockEntityFunctionParameter()
+		 * @generated
+		 */
+		EClass ENTITY_MOCK_ENTITY_FUNCTION_PARAMETER = eINSTANCE.getEntityMockEntityFunctionParameter();
+
+		/**
+		 * The meta object literal for the '<em><b>Attribute Ref</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ENTITY_MOCK_ENTITY_FUNCTION_PARAMETER__ATTRIBUTE_REF = eINSTANCE.getEntityMockEntityFunctionParameter_AttributeRef();
+
+		/**
+		 * The meta object literal for the '<em><b>Reference Paths</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ENTITY_MOCK_ENTITY_FUNCTION_PARAMETER__REFERENCE_PATHS = eINSTANCE.getEntityMockEntityFunctionParameter_ReferencePaths();
+
+		/**
+		 * The meta object literal for the '<em><b>Reference Ref</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ENTITY_MOCK_ENTITY_FUNCTION_PARAMETER__REFERENCE_REF = eINSTANCE.getEntityMockEntityFunctionParameter_ReferenceRef();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.entitymock.EDateStepType <em>EDate Step Type</em>}' enum.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.xtext.entitymock.EDateStepType
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getEDateStepType()
+		 * @generated
+		 */
+		EEnum EDATE_STEP_TYPE = eINSTANCE.getEDateStepType();
+
+		/**
+		 * The meta object literal for the '<em>Internal EObject</em>' data type.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.emf.ecore.InternalEObject
+		 * @see org.eclipse.osbp.xtext.entitymock.impl.EntityMockDSLPackageImpl#getInternalEObject()
+		 * @generated
+		 */
+		EDataType INTERNAL_EOBJECT = eINSTANCE.getInternalEObject();
+
+	}
+
+} //EntityMockDSLPackage
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockDataType.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockDataType.java
new file mode 100644
index 0000000..883968c
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockDataType.java
@@ -0,0 +1,61 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Entity Mock Data Type</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.EntityMockDataType#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockDataType()
+ * @model
+ * @generated
+ */
+public interface EntityMockDataType extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Name</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Name</em>' attribute.
+	 * @see #setName(String)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockDataType_Name()
+	 * @model unique="false"
+	 * @generated
+	 */
+	String getName();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.EntityMockDataType#getName <em>Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Name</em>' attribute.
+	 * @see #getName()
+	 * @generated
+	 */
+	void setName(String value);
+
+} // EntityMockDataType
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockDataTypes.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockDataTypes.java
new file mode 100644
index 0000000..c89d6e7
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockDataTypes.java
@@ -0,0 +1,53 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Entity Mock Data Types</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.EntityMockDataTypes#getDatatypes <em>Datatypes</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockDataTypes()
+ * @model
+ * @generated
+ */
+public interface EntityMockDataTypes extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Datatypes</b></em>' containment reference list.
+	 * The list contents are of type {@link org.eclipse.osbp.xtext.entitymock.EntityMockDataType}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Datatypes</em>' containment reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Datatypes</em>' containment reference list.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockDataTypes_Datatypes()
+	 * @model containment="true"
+	 * @generated
+	 */
+	EList<EntityMockDataType> getDatatypes();
+
+} // EntityMockDataTypes
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockEntities.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockEntities.java
new file mode 100644
index 0000000..000e26d
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockEntities.java
@@ -0,0 +1,53 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Entity Mock Entities</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.EntityMockEntities#getEntities <em>Entities</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockEntities()
+ * @model
+ * @generated
+ */
+public interface EntityMockEntities extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Entities</b></em>' containment reference list.
+	 * The list contents are of type {@link org.eclipse.osbp.xtext.entitymock.EntityMockEntity}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Entities</em>' containment reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Entities</em>' containment reference list.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockEntities_Entities()
+	 * @model containment="true"
+	 * @generated
+	 */
+	EList<EntityMockEntity> getEntities();
+
+} // EntityMockEntities
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockEntity.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockEntity.java
new file mode 100644
index 0000000..5b5be22
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockEntity.java
@@ -0,0 +1,321 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.osbp.dsl.semantic.entity.LEntity;
+import org.eclipse.osbp.dsl.semantic.entity.LEntityAttribute;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Entity Mock Entity</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.EntityMockEntity#getName <em>Name</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.EntityMockEntity#getEntityRef <em>Entity Ref</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.EntityMockEntity#getMinRows <em>Min Rows</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.EntityMockEntity#getMaxRows <em>Max Rows</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.EntityMockEntity#getIterate <em>Iterate</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.EntityMockEntity#getIterator <em>Iterator</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.EntityMockEntity#getTemporaries <em>Temporaries</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.EntityMockEntity#getAttributes <em>Attributes</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.EntityMockEntity#getCalculations <em>Calculations</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.EntityMockEntity#getByResource <em>By Resource</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.EntityMockEntity#getByResourceAttributes <em>By Resource Attributes</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.EntityMockEntity#isCreateBlobMapping <em>Create Blob Mapping</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockEntity()
+ * @model
+ * @generated
+ */
+public interface EntityMockEntity extends EntityMockLazyResolver {
+	/**
+	 * Returns the value of the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Name</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Name</em>' attribute.
+	 * @see #setName(String)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockEntity_Name()
+	 * @model unique="false"
+	 * @generated
+	 */
+	String getName();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.EntityMockEntity#getName <em>Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Name</em>' attribute.
+	 * @see #getName()
+	 * @generated
+	 */
+	void setName(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Entity Ref</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Entity Ref</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Entity Ref</em>' reference.
+	 * @see #setEntityRef(LEntity)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockEntity_EntityRef()
+	 * @model
+	 * @generated
+	 */
+	LEntity getEntityRef();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.EntityMockEntity#getEntityRef <em>Entity Ref</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Entity Ref</em>' reference.
+	 * @see #getEntityRef()
+	 * @generated
+	 */
+	void setEntityRef(LEntity value);
+
+	/**
+	 * Returns the value of the '<em><b>Min Rows</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Min Rows</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Min Rows</em>' attribute.
+	 * @see #setMinRows(int)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockEntity_MinRows()
+	 * @model unique="false"
+	 * @generated
+	 */
+	int getMinRows();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.EntityMockEntity#getMinRows <em>Min Rows</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Min Rows</em>' attribute.
+	 * @see #getMinRows()
+	 * @generated
+	 */
+	void setMinRows(int value);
+
+	/**
+	 * Returns the value of the '<em><b>Max Rows</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Max Rows</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Max Rows</em>' attribute.
+	 * @see #setMaxRows(int)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockEntity_MaxRows()
+	 * @model unique="false"
+	 * @generated
+	 */
+	int getMaxRows();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.EntityMockEntity#getMaxRows <em>Max Rows</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Max Rows</em>' attribute.
+	 * @see #getMaxRows()
+	 * @generated
+	 */
+	void setMaxRows(int value);
+
+	/**
+	 * Returns the value of the '<em><b>Iterate</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Iterate</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Iterate</em>' containment reference.
+	 * @see #setIterate(IIterate)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockEntity_Iterate()
+	 * @model containment="true"
+	 * @generated
+	 */
+	IIterate getIterate();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.EntityMockEntity#getIterate <em>Iterate</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Iterate</em>' containment reference.
+	 * @see #getIterate()
+	 * @generated
+	 */
+	void setIterate(IIterate value);
+
+	/**
+	 * Returns the value of the '<em><b>Iterator</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Iterator</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Iterator</em>' reference.
+	 * @see #setIterator(LEntityAttribute)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockEntity_Iterator()
+	 * @model
+	 * @generated
+	 */
+	LEntityAttribute getIterator();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.EntityMockEntity#getIterator <em>Iterator</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Iterator</em>' reference.
+	 * @see #getIterator()
+	 * @generated
+	 */
+	void setIterator(LEntityAttribute value);
+
+	/**
+	 * Returns the value of the '<em><b>Temporaries</b></em>' containment reference list.
+	 * The list contents are of type {@link org.eclipse.osbp.xtext.entitymock.EntityMockTemporary}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Temporaries</em>' containment reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Temporaries</em>' containment reference list.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockEntity_Temporaries()
+	 * @model containment="true"
+	 * @generated
+	 */
+	EList<EntityMockTemporary> getTemporaries();
+
+	/**
+	 * Returns the value of the '<em><b>Attributes</b></em>' containment reference list.
+	 * The list contents are of type {@link org.eclipse.osbp.xtext.entitymock.IEntityMockAttribute}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Attributes</em>' containment reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Attributes</em>' containment reference list.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockEntity_Attributes()
+	 * @model containment="true"
+	 * @generated
+	 */
+	EList<IEntityMockAttribute> getAttributes();
+
+	/**
+	 * Returns the value of the '<em><b>Calculations</b></em>' containment reference list.
+	 * The list contents are of type {@link org.eclipse.osbp.xtext.entitymock.EntityMockEntityFunction}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Calculations</em>' containment reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Calculations</em>' containment reference list.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockEntity_Calculations()
+	 * @model containment="true"
+	 * @generated
+	 */
+	EList<EntityMockEntityFunction> getCalculations();
+
+	/**
+	 * Returns the value of the '<em><b>By Resource</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>By Resource</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>By Resource</em>' reference.
+	 * @see #setByResource(EntityMockResource)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockEntity_ByResource()
+	 * @model
+	 * @generated
+	 */
+	EntityMockResource getByResource();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.EntityMockEntity#getByResource <em>By Resource</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>By Resource</em>' reference.
+	 * @see #getByResource()
+	 * @generated
+	 */
+	void setByResource(EntityMockResource value);
+
+	/**
+	 * Returns the value of the '<em><b>By Resource Attributes</b></em>' containment reference list.
+	 * The list contents are of type {@link org.eclipse.osbp.xtext.entitymock.EntityMockByResourceAttribute}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>By Resource Attributes</em>' containment reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>By Resource Attributes</em>' containment reference list.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockEntity_ByResourceAttributes()
+	 * @model containment="true"
+	 * @generated
+	 */
+	EList<EntityMockByResourceAttribute> getByResourceAttributes();
+
+	/**
+	 * Returns the value of the '<em><b>Create Blob Mapping</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Create Blob Mapping</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Create Blob Mapping</em>' attribute.
+	 * @see #setCreateBlobMapping(boolean)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockEntity_CreateBlobMapping()
+	 * @model unique="false"
+	 * @generated
+	 */
+	boolean isCreateBlobMapping();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.EntityMockEntity#isCreateBlobMapping <em>Create Blob Mapping</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Create Blob Mapping</em>' attribute.
+	 * @see #isCreateBlobMapping()
+	 * @generated
+	 */
+	void setCreateBlobMapping(boolean value);
+
+} // EntityMockEntity
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockEntityFunction.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockEntityFunction.java
new file mode 100644
index 0000000..3a818eb
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockEntityFunction.java
@@ -0,0 +1,109 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.osbp.dsl.semantic.entity.LEntityAttribute;
+
+import org.eclipse.xtext.xbase.XExpression;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Entity Mock Entity Function</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.EntityMockEntityFunction#getAttributeRef <em>Attribute Ref</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.EntityMockEntityFunction#getParams <em>Params</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.EntityMockEntityFunction#getBody <em>Body</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockEntityFunction()
+ * @model
+ * @generated
+ */
+public interface EntityMockEntityFunction extends IEntityMockEntityUsable {
+	/**
+	 * Returns the value of the '<em><b>Attribute Ref</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Attribute Ref</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Attribute Ref</em>' reference.
+	 * @see #setAttributeRef(LEntityAttribute)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockEntityFunction_AttributeRef()
+	 * @model
+	 * @generated
+	 */
+	LEntityAttribute getAttributeRef();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.EntityMockEntityFunction#getAttributeRef <em>Attribute Ref</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Attribute Ref</em>' reference.
+	 * @see #getAttributeRef()
+	 * @generated
+	 */
+	void setAttributeRef(LEntityAttribute value);
+
+	/**
+	 * Returns the value of the '<em><b>Params</b></em>' containment reference list.
+	 * The list contents are of type {@link org.eclipse.osbp.xtext.entitymock.EntityMockEntityFunctionParameter}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Params</em>' containment reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Params</em>' containment reference list.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockEntityFunction_Params()
+	 * @model containment="true"
+	 * @generated
+	 */
+	EList<EntityMockEntityFunctionParameter> getParams();
+
+	/**
+	 * Returns the value of the '<em><b>Body</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Body</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Body</em>' containment reference.
+	 * @see #setBody(XExpression)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockEntityFunction_Body()
+	 * @model containment="true"
+	 * @generated
+	 */
+	XExpression getBody();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.EntityMockEntityFunction#getBody <em>Body</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Body</em>' containment reference.
+	 * @see #getBody()
+	 * @generated
+	 */
+	void setBody(XExpression value);
+
+} // EntityMockEntityFunction
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockEntityFunctionParameter.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockEntityFunctionParameter.java
new file mode 100644
index 0000000..d92718e
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockEntityFunctionParameter.java
@@ -0,0 +1,110 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.osbp.dsl.semantic.entity.LEntityAttribute;
+import org.eclipse.osbp.dsl.semantic.entity.LEntityReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Entity Mock Entity Function Parameter</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.EntityMockEntityFunctionParameter#getAttributeRef <em>Attribute Ref</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.EntityMockEntityFunctionParameter#getReferencePaths <em>Reference Paths</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.EntityMockEntityFunctionParameter#getReferenceRef <em>Reference Ref</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockEntityFunctionParameter()
+ * @model
+ * @generated
+ */
+public interface EntityMockEntityFunctionParameter extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Attribute Ref</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Attribute Ref</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Attribute Ref</em>' reference.
+	 * @see #setAttributeRef(LEntityAttribute)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockEntityFunctionParameter_AttributeRef()
+	 * @model
+	 * @generated
+	 */
+	LEntityAttribute getAttributeRef();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.EntityMockEntityFunctionParameter#getAttributeRef <em>Attribute Ref</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Attribute Ref</em>' reference.
+	 * @see #getAttributeRef()
+	 * @generated
+	 */
+	void setAttributeRef(LEntityAttribute value);
+
+	/**
+	 * Returns the value of the '<em><b>Reference Paths</b></em>' reference list.
+	 * The list contents are of type {@link org.eclipse.osbp.dsl.semantic.entity.LEntityReference}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Reference Paths</em>' reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Reference Paths</em>' reference list.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockEntityFunctionParameter_ReferencePaths()
+	 * @model
+	 * @generated
+	 */
+	EList<LEntityReference> getReferencePaths();
+
+	/**
+	 * Returns the value of the '<em><b>Reference Ref</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Reference Ref</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Reference Ref</em>' reference.
+	 * @see #setReferenceRef(LEntityAttribute)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockEntityFunctionParameter_ReferenceRef()
+	 * @model
+	 * @generated
+	 */
+	LEntityAttribute getReferenceRef();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.EntityMockEntityFunctionParameter#getReferenceRef <em>Reference Ref</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Reference Ref</em>' reference.
+	 * @see #getReferenceRef()
+	 * @generated
+	 */
+	void setReferenceRef(LEntityAttribute value);
+
+} // EntityMockEntityFunctionParameter
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockLazyResolver.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockLazyResolver.java
new file mode 100644
index 0000000..cbee694
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockLazyResolver.java
@@ -0,0 +1,39 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.InternalEObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Entity Mock Lazy Resolver</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockLazyResolver()
+ * @model
+ * @generated
+ */
+public interface EntityMockLazyResolver extends EObject {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @model unique="false" proxyDataType="org.eclipse.osbp.xtext.entitymock.InternalEObject" proxyUnique="false"
+	 *        annotation="http://www.eclipse.org/emf/2002/GenModel body='<%org.eclipse.emf.ecore.resource.Resource%> _eResource = this.eResource();\n<%org.eclipse.emf.ecore.resource.ResourceSet%> _resourceSet = _eResource.getResourceSet();\nreturn <%org.eclipse.osbp.dsl.xtext.lazyresolver.api.EcoreUtil3%>.resolve(proxy, _resourceSet);'"
+	 * @generated
+	 */
+	EObject eResolveProxy(InternalEObject proxy);
+
+} // EntityMockLazyResolver
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockModel.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockModel.java
new file mode 100644
index 0000000..f1286eb
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockModel.java
@@ -0,0 +1,53 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Entity Mock Model</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.EntityMockModel#getPackages <em>Packages</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockModel()
+ * @model
+ * @generated
+ */
+public interface EntityMockModel extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Packages</b></em>' containment reference list.
+	 * The list contents are of type {@link org.eclipse.osbp.xtext.entitymock.EntityMockPackage}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Packages</em>' containment reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Packages</em>' containment reference list.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockModel_Packages()
+	 * @model containment="true"
+	 * @generated
+	 */
+	EList<EntityMockPackage> getPackages();
+
+} // EntityMockModel
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockObject.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockObject.java
new file mode 100644
index 0000000..535b36c
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockObject.java
@@ -0,0 +1,114 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Entity Mock Object</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.EntityMockObject#getName <em>Name</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.EntityMockObject#getEnumerations <em>Enumerations</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.EntityMockObject#getAttributes <em>Attributes</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.EntityMockObject#getCalculations <em>Calculations</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockObject()
+ * @model
+ * @generated
+ */
+public interface EntityMockObject extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Name</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Name</em>' attribute.
+	 * @see #setName(String)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockObject_Name()
+	 * @model unique="false"
+	 * @generated
+	 */
+	String getName();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.EntityMockObject#getName <em>Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Name</em>' attribute.
+	 * @see #getName()
+	 * @generated
+	 */
+	void setName(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Enumerations</b></em>' containment reference list.
+	 * The list contents are of type {@link org.eclipse.osbp.xtext.entitymock.EntityMockObjectEnum}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Enumerations</em>' containment reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Enumerations</em>' containment reference list.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockObject_Enumerations()
+	 * @model containment="true"
+	 * @generated
+	 */
+	EList<EntityMockObjectEnum> getEnumerations();
+
+	/**
+	 * Returns the value of the '<em><b>Attributes</b></em>' containment reference list.
+	 * The list contents are of type {@link org.eclipse.osbp.xtext.entitymock.IEntityMockObjectAttribute}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Attributes</em>' containment reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Attributes</em>' containment reference list.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockObject_Attributes()
+	 * @model containment="true"
+	 * @generated
+	 */
+	EList<IEntityMockObjectAttribute> getAttributes();
+
+	/**
+	 * Returns the value of the '<em><b>Calculations</b></em>' containment reference list.
+	 * The list contents are of type {@link org.eclipse.osbp.xtext.entitymock.EntityMockObjectFunction}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Calculations</em>' containment reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Calculations</em>' containment reference list.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockObject_Calculations()
+	 * @model containment="true"
+	 * @generated
+	 */
+	EList<EntityMockObjectFunction> getCalculations();
+
+} // EntityMockObject
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockObjectArrayValue.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockObjectArrayValue.java
new file mode 100644
index 0000000..eaa89f6
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockObjectArrayValue.java
@@ -0,0 +1,78 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Entity Mock Object Array Value</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.EntityMockObjectArrayValue#getEnumeration <em>Enumeration</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.EntityMockObjectArrayValue#getItems <em>Items</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockObjectArrayValue()
+ * @model
+ * @generated
+ */
+public interface EntityMockObjectArrayValue extends IEntityMockObjectAttribute, IEntityMockObjectUsable {
+	/**
+	 * Returns the value of the '<em><b>Enumeration</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Enumeration</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Enumeration</em>' reference.
+	 * @see #setEnumeration(EntityMockObjectEnum)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockObjectArrayValue_Enumeration()
+	 * @model
+	 * @generated
+	 */
+	EntityMockObjectEnum getEnumeration();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.EntityMockObjectArrayValue#getEnumeration <em>Enumeration</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Enumeration</em>' reference.
+	 * @see #getEnumeration()
+	 * @generated
+	 */
+	void setEnumeration(EntityMockObjectEnum value);
+
+	/**
+	 * Returns the value of the '<em><b>Items</b></em>' containment reference list.
+	 * The list contents are of type {@link org.eclipse.osbp.xtext.entitymock.EntityMockObjectItemValue}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Items</em>' containment reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Items</em>' containment reference list.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockObjectArrayValue_Items()
+	 * @model containment="true"
+	 * @generated
+	 */
+	EList<EntityMockObjectItemValue> getItems();
+
+} // EntityMockObjectArrayValue
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockObjectEmbed.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockObjectEmbed.java
new file mode 100644
index 0000000..ab031c8
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockObjectEmbed.java
@@ -0,0 +1,60 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Entity Mock Object Embed</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.EntityMockObjectEmbed#getObject <em>Object</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockObjectEmbed()
+ * @model
+ * @generated
+ */
+public interface EntityMockObjectEmbed extends IEntityMockObjectAttribute, IEntityMockObjectUsable, EntityMockLazyResolver {
+	/**
+	 * Returns the value of the '<em><b>Object</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Object</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Object</em>' reference.
+	 * @see #setObject(EntityMockObject)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockObjectEmbed_Object()
+	 * @model
+	 * @generated
+	 */
+	EntityMockObject getObject();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.EntityMockObjectEmbed#getObject <em>Object</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Object</em>' reference.
+	 * @see #getObject()
+	 * @generated
+	 */
+	void setObject(EntityMockObject value);
+
+} // EntityMockObjectEmbed
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockObjectEnum.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockObjectEnum.java
new file mode 100644
index 0000000..8231fb6
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockObjectEnum.java
@@ -0,0 +1,88 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock;
+
+import org.eclipse.osbp.dsl.semantic.common.types.LEnum;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Entity Mock Object Enum</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.EntityMockObjectEnum#getName <em>Name</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.EntityMockObjectEnum#getUsingResource <em>Using Resource</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockObjectEnum()
+ * @model
+ * @generated
+ */
+public interface EntityMockObjectEnum extends IEntityMockObjectUsable {
+	/**
+	 * Returns the value of the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Name</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Name</em>' attribute.
+	 * @see #setName(String)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockObjectEnum_Name()
+	 * @model unique="false"
+	 * @generated
+	 */
+	String getName();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.EntityMockObjectEnum#getName <em>Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Name</em>' attribute.
+	 * @see #getName()
+	 * @generated
+	 */
+	void setName(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Using Resource</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Using Resource</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Using Resource</em>' reference.
+	 * @see #setUsingResource(LEnum)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockObjectEnum_UsingResource()
+	 * @model
+	 * @generated
+	 */
+	LEnum getUsingResource();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.EntityMockObjectEnum#getUsingResource <em>Using Resource</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Using Resource</em>' reference.
+	 * @see #getUsingResource()
+	 * @generated
+	 */
+	void setUsingResource(LEnum value);
+
+} // EntityMockObjectEnum
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockObjectFill.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockObjectFill.java
new file mode 100644
index 0000000..482fe49
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockObjectFill.java
@@ -0,0 +1,60 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Entity Mock Object Fill</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.EntityMockObjectFill#getFillerType <em>Filler Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockObjectFill()
+ * @model
+ * @generated
+ */
+public interface EntityMockObjectFill extends IEntityMockObjectAttribute, IEntityMockObjectUsable {
+	/**
+	 * Returns the value of the '<em><b>Filler Type</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Filler Type</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Filler Type</em>' containment reference.
+	 * @see #setFillerType(PropertyFillerType)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockObjectFill_FillerType()
+	 * @model containment="true"
+	 * @generated
+	 */
+	PropertyFillerType getFillerType();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.EntityMockObjectFill#getFillerType <em>Filler Type</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Filler Type</em>' containment reference.
+	 * @see #getFillerType()
+	 * @generated
+	 */
+	void setFillerType(PropertyFillerType value);
+
+} // EntityMockObjectFill
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockObjectFunction.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockObjectFunction.java
new file mode 100644
index 0000000..a668087
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockObjectFunction.java
@@ -0,0 +1,109 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.xtext.common.types.JvmTypeReference;
+
+import org.eclipse.xtext.xbase.XExpression;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Entity Mock Object Function</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.EntityMockObjectFunction#getOftype <em>Oftype</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.EntityMockObjectFunction#getParams <em>Params</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.EntityMockObjectFunction#getBody <em>Body</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockObjectFunction()
+ * @model
+ * @generated
+ */
+public interface EntityMockObjectFunction extends IEntityMockObjectAttribute, IEntityMockObjectUsable {
+	/**
+	 * Returns the value of the '<em><b>Oftype</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Oftype</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Oftype</em>' containment reference.
+	 * @see #setOftype(JvmTypeReference)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockObjectFunction_Oftype()
+	 * @model containment="true"
+	 * @generated
+	 */
+	JvmTypeReference getOftype();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.EntityMockObjectFunction#getOftype <em>Oftype</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Oftype</em>' containment reference.
+	 * @see #getOftype()
+	 * @generated
+	 */
+	void setOftype(JvmTypeReference value);
+
+	/**
+	 * Returns the value of the '<em><b>Params</b></em>' containment reference list.
+	 * The list contents are of type {@link org.eclipse.osbp.xtext.entitymock.EntityMockObjectFunctionParameter}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Params</em>' containment reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Params</em>' containment reference list.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockObjectFunction_Params()
+	 * @model containment="true"
+	 * @generated
+	 */
+	EList<EntityMockObjectFunctionParameter> getParams();
+
+	/**
+	 * Returns the value of the '<em><b>Body</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Body</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Body</em>' containment reference.
+	 * @see #setBody(XExpression)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockObjectFunction_Body()
+	 * @model containment="true"
+	 * @generated
+	 */
+	XExpression getBody();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.EntityMockObjectFunction#getBody <em>Body</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Body</em>' containment reference.
+	 * @see #getBody()
+	 * @generated
+	 */
+	void setBody(XExpression value);
+
+} // EntityMockObjectFunction
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockObjectFunctionParameter.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockObjectFunctionParameter.java
new file mode 100644
index 0000000..9797ebb
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockObjectFunctionParameter.java
@@ -0,0 +1,90 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.xtext.common.types.JvmTypeReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Entity Mock Object Function Parameter</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.EntityMockObjectFunctionParameter#getParameterType <em>Parameter Type</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.EntityMockObjectFunctionParameter#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockObjectFunctionParameter()
+ * @model
+ * @generated
+ */
+public interface EntityMockObjectFunctionParameter extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Parameter Type</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Parameter Type</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Parameter Type</em>' containment reference.
+	 * @see #setParameterType(JvmTypeReference)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockObjectFunctionParameter_ParameterType()
+	 * @model containment="true"
+	 * @generated
+	 */
+	JvmTypeReference getParameterType();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.EntityMockObjectFunctionParameter#getParameterType <em>Parameter Type</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Parameter Type</em>' containment reference.
+	 * @see #getParameterType()
+	 * @generated
+	 */
+	void setParameterType(JvmTypeReference value);
+
+	/**
+	 * Returns the value of the '<em><b>Name</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Name</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Name</em>' reference.
+	 * @see #setName(IEntityMockObjectUsable)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockObjectFunctionParameter_Name()
+	 * @model
+	 * @generated
+	 */
+	IEntityMockObjectUsable getName();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.EntityMockObjectFunctionParameter#getName <em>Name</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Name</em>' reference.
+	 * @see #getName()
+	 * @generated
+	 */
+	void setName(IEntityMockObjectUsable value);
+
+} // EntityMockObjectFunctionParameter
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockObjectItemValue.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockObjectItemValue.java
new file mode 100644
index 0000000..0400378
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockObjectItemValue.java
@@ -0,0 +1,82 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.osbp.dsl.semantic.common.types.LEnumLiteral;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Entity Mock Object Item Value</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.EntityMockObjectItemValue#getDatarow <em>Datarow</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.EntityMockObjectItemValue#getValues <em>Values</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockObjectItemValue()
+ * @model
+ * @generated
+ */
+public interface EntityMockObjectItemValue extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Datarow</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Datarow</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Datarow</em>' reference.
+	 * @see #setDatarow(LEnumLiteral)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockObjectItemValue_Datarow()
+	 * @model
+	 * @generated
+	 */
+	LEnumLiteral getDatarow();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.EntityMockObjectItemValue#getDatarow <em>Datarow</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Datarow</em>' reference.
+	 * @see #getDatarow()
+	 * @generated
+	 */
+	void setDatarow(LEnumLiteral value);
+
+	/**
+	 * Returns the value of the '<em><b>Values</b></em>' attribute list.
+	 * The list contents are of type {@link java.lang.String}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Values</em>' attribute list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Values</em>' attribute list.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockObjectItemValue_Values()
+	 * @model unique="false"
+	 * @generated
+	 */
+	EList<String> getValues();
+
+} // EntityMockObjectItemValue
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockObjectPlainValue.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockObjectPlainValue.java
new file mode 100644
index 0000000..78a3cde
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockObjectPlainValue.java
@@ -0,0 +1,51 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Entity Mock Object Plain Value</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.EntityMockObjectPlainValue#getValues <em>Values</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockObjectPlainValue()
+ * @model
+ * @generated
+ */
+public interface EntityMockObjectPlainValue extends IEntityMockObjectAttribute, IEntityMockObjectUsable {
+	/**
+	 * Returns the value of the '<em><b>Values</b></em>' attribute list.
+	 * The list contents are of type {@link java.lang.String}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Values</em>' attribute list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Values</em>' attribute list.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockObjectPlainValue_Values()
+	 * @model unique="false"
+	 * @generated
+	 */
+	EList<String> getValues();
+
+} // EntityMockObjectPlainValue
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockObjectResourceValue.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockObjectResourceValue.java
new file mode 100644
index 0000000..d65b3cf
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockObjectResourceValue.java
@@ -0,0 +1,87 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Entity Mock Object Resource Value</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.EntityMockObjectResourceValue#getResourceEnum <em>Resource Enum</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.EntityMockObjectResourceValue#getResourceAttribute <em>Resource Attribute</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockObjectResourceValue()
+ * @model
+ * @generated
+ */
+public interface EntityMockObjectResourceValue extends IEntityMockObjectAttribute, IEntityMockObjectUsable {
+	/**
+	 * Returns the value of the '<em><b>Resource Enum</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Resource Enum</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Resource Enum</em>' reference.
+	 * @see #setResourceEnum(EntityMockObjectEnum)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockObjectResourceValue_ResourceEnum()
+	 * @model
+	 * @generated
+	 */
+	EntityMockObjectEnum getResourceEnum();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.EntityMockObjectResourceValue#getResourceEnum <em>Resource Enum</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Resource Enum</em>' reference.
+	 * @see #getResourceEnum()
+	 * @generated
+	 */
+	void setResourceEnum(EntityMockObjectEnum value);
+
+	/**
+	 * Returns the value of the '<em><b>Resource Attribute</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Resource Attribute</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Resource Attribute</em>' reference.
+	 * @see #setResourceAttribute(EntityMockResourceAttribute)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockObjectResourceValue_ResourceAttribute()
+	 * @model
+	 * @generated
+	 */
+	EntityMockResourceAttribute getResourceAttribute();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.EntityMockObjectResourceValue#getResourceAttribute <em>Resource Attribute</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Resource Attribute</em>' reference.
+	 * @see #getResourceAttribute()
+	 * @generated
+	 */
+	void setResourceAttribute(EntityMockResourceAttribute value);
+
+} // EntityMockObjectResourceValue
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockObjects.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockObjects.java
new file mode 100644
index 0000000..9c49ca7
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockObjects.java
@@ -0,0 +1,53 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Entity Mock Objects</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.EntityMockObjects#getObjects <em>Objects</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockObjects()
+ * @model
+ * @generated
+ */
+public interface EntityMockObjects extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Objects</b></em>' containment reference list.
+	 * The list contents are of type {@link org.eclipse.osbp.xtext.entitymock.EntityMockObject}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Objects</em>' containment reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Objects</em>' containment reference list.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockObjects_Objects()
+	 * @model containment="true"
+	 * @generated
+	 */
+	EList<EntityMockObject> getObjects();
+
+} // EntityMockObjects
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockPackage.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockPackage.java
new file mode 100644
index 0000000..4bacbb5
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockPackage.java
@@ -0,0 +1,196 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock;
+
+import org.eclipse.osbp.dsl.semantic.common.types.LPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Entity Mock Package</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.EntityMockPackage#getRunPriority <em>Run Priority</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.EntityMockPackage#getDatainterchanges <em>Datainterchanges</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.EntityMockPackage#getResources <em>Resources</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.EntityMockPackage#getObjects <em>Objects</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.EntityMockPackage#getDatatypes <em>Datatypes</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.EntityMockPackage#getEntities <em>Entities</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockPackage()
+ * @model
+ * @generated
+ */
+public interface EntityMockPackage extends LPackage {
+	/**
+	 * Returns the value of the '<em><b>Run Priority</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Run Priority</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Run Priority</em>' attribute.
+	 * @see #setRunPriority(int)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockPackage_RunPriority()
+	 * @model unique="false"
+	 * @generated
+	 */
+	int getRunPriority();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.EntityMockPackage#getRunPriority <em>Run Priority</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Run Priority</em>' attribute.
+	 * @see #getRunPriority()
+	 * @generated
+	 */
+	void setRunPriority(int value);
+
+	/**
+	 * Returns the value of the '<em><b>Datainterchanges</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Datainterchanges</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Datainterchanges</em>' containment reference.
+	 * @see #setDatainterchanges(RunningDataInterchanges)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockPackage_Datainterchanges()
+	 * @model containment="true"
+	 * @generated
+	 */
+	RunningDataInterchanges getDatainterchanges();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.EntityMockPackage#getDatainterchanges <em>Datainterchanges</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Datainterchanges</em>' containment reference.
+	 * @see #getDatainterchanges()
+	 * @generated
+	 */
+	void setDatainterchanges(RunningDataInterchanges value);
+
+	/**
+	 * Returns the value of the '<em><b>Resources</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Resources</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Resources</em>' containment reference.
+	 * @see #setResources(EntityMockResources)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockPackage_Resources()
+	 * @model containment="true"
+	 * @generated
+	 */
+	EntityMockResources getResources();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.EntityMockPackage#getResources <em>Resources</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Resources</em>' containment reference.
+	 * @see #getResources()
+	 * @generated
+	 */
+	void setResources(EntityMockResources value);
+
+	/**
+	 * Returns the value of the '<em><b>Objects</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Objects</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Objects</em>' containment reference.
+	 * @see #setObjects(EntityMockObjects)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockPackage_Objects()
+	 * @model containment="true"
+	 * @generated
+	 */
+	EntityMockObjects getObjects();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.EntityMockPackage#getObjects <em>Objects</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Objects</em>' containment reference.
+	 * @see #getObjects()
+	 * @generated
+	 */
+	void setObjects(EntityMockObjects value);
+
+	/**
+	 * Returns the value of the '<em><b>Datatypes</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Datatypes</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Datatypes</em>' containment reference.
+	 * @see #setDatatypes(EntityMockDataTypes)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockPackage_Datatypes()
+	 * @model containment="true"
+	 * @generated
+	 */
+	EntityMockDataTypes getDatatypes();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.EntityMockPackage#getDatatypes <em>Datatypes</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Datatypes</em>' containment reference.
+	 * @see #getDatatypes()
+	 * @generated
+	 */
+	void setDatatypes(EntityMockDataTypes value);
+
+	/**
+	 * Returns the value of the '<em><b>Entities</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Entities</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Entities</em>' containment reference.
+	 * @see #setEntities(EntityMockEntities)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockPackage_Entities()
+	 * @model containment="true"
+	 * @generated
+	 */
+	EntityMockEntities getEntities();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.EntityMockPackage#getEntities <em>Entities</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Entities</em>' containment reference.
+	 * @see #getEntities()
+	 * @generated
+	 */
+	void setEntities(EntityMockEntities value);
+
+} // EntityMockPackage
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockReferencedObjectAttribute.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockReferencedObjectAttribute.java
new file mode 100644
index 0000000..ea25aa0
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockReferencedObjectAttribute.java
@@ -0,0 +1,105 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Entity Mock Referenced Object Attribute</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.EntityMockReferencedObjectAttribute#getTemporary <em>Temporary</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.EntityMockReferencedObjectAttribute#getEmbedded <em>Embedded</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.EntityMockReferencedObjectAttribute#getAttribute <em>Attribute</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockReferencedObjectAttribute()
+ * @model
+ * @generated
+ */
+public interface EntityMockReferencedObjectAttribute extends EntityMockLazyResolver {
+	/**
+	 * Returns the value of the '<em><b>Temporary</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Temporary</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Temporary</em>' reference.
+	 * @see #setTemporary(EntityMockTemporary)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockReferencedObjectAttribute_Temporary()
+	 * @model
+	 * @generated
+	 */
+	EntityMockTemporary getTemporary();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.EntityMockReferencedObjectAttribute#getTemporary <em>Temporary</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Temporary</em>' reference.
+	 * @see #getTemporary()
+	 * @generated
+	 */
+	void setTemporary(EntityMockTemporary value);
+
+	/**
+	 * Returns the value of the '<em><b>Embedded</b></em>' reference list.
+	 * The list contents are of type {@link org.eclipse.osbp.xtext.entitymock.EntityMockObjectEmbed}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Embedded</em>' reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Embedded</em>' reference list.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockReferencedObjectAttribute_Embedded()
+	 * @model
+	 * @generated
+	 */
+	EList<EntityMockObjectEmbed> getEmbedded();
+
+	/**
+	 * Returns the value of the '<em><b>Attribute</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Attribute</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Attribute</em>' reference.
+	 * @see #setAttribute(IEntityMockObjectUsable)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockReferencedObjectAttribute_Attribute()
+	 * @model
+	 * @generated
+	 */
+	IEntityMockObjectUsable getAttribute();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.EntityMockReferencedObjectAttribute#getAttribute <em>Attribute</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Attribute</em>' reference.
+	 * @see #getAttribute()
+	 * @generated
+	 */
+	void setAttribute(IEntityMockObjectUsable value);
+
+} // EntityMockReferencedObjectAttribute
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockResource.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockResource.java
new file mode 100644
index 0000000..21385b1
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockResource.java
@@ -0,0 +1,70 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.osbp.dsl.semantic.common.types.LEnum;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Entity Mock Resource</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.EntityMockResource#getAttributes <em>Attributes</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.EntityMockResource#getDatarows <em>Datarows</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockResource()
+ * @model
+ * @generated
+ */
+public interface EntityMockResource extends LEnum {
+	/**
+	 * Returns the value of the '<em><b>Attributes</b></em>' containment reference list.
+	 * The list contents are of type {@link org.eclipse.osbp.xtext.entitymock.EntityMockResourceAttribute}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Attributes</em>' containment reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Attributes</em>' containment reference list.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockResource_Attributes()
+	 * @model containment="true"
+	 * @generated
+	 */
+	EList<EntityMockResourceAttribute> getAttributes();
+
+	/**
+	 * Returns the value of the '<em><b>Datarows</b></em>' containment reference list.
+	 * The list contents are of type {@link org.eclipse.osbp.xtext.entitymock.EntityMockResourceDataRow}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Datarows</em>' containment reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Datarows</em>' containment reference list.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockResource_Datarows()
+	 * @model containment="true"
+	 * @generated
+	 */
+	EList<EntityMockResourceDataRow> getDatarows();
+
+} // EntityMockResource
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockResourceAttribute.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockResourceAttribute.java
new file mode 100644
index 0000000..f80eb92
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockResourceAttribute.java
@@ -0,0 +1,29 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock;
+
+import org.eclipse.osbp.dsl.semantic.common.types.LEnum;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Entity Mock Resource Attribute</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockResourceAttribute()
+ * @model
+ * @generated
+ */
+public interface EntityMockResourceAttribute extends LEnum {
+} // EntityMockResourceAttribute
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockResourceDataRow.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockResourceDataRow.java
new file mode 100644
index 0000000..a902b1b
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockResourceDataRow.java
@@ -0,0 +1,53 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.osbp.dsl.semantic.common.types.LEnumLiteral;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Entity Mock Resource Data Row</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.EntityMockResourceDataRow#getValues <em>Values</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockResourceDataRow()
+ * @model
+ * @generated
+ */
+public interface EntityMockResourceDataRow extends LEnumLiteral {
+	/**
+	 * Returns the value of the '<em><b>Values</b></em>' attribute list.
+	 * The list contents are of type {@link java.lang.String}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Values</em>' attribute list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Values</em>' attribute list.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockResourceDataRow_Values()
+	 * @model unique="false"
+	 * @generated
+	 */
+	EList<String> getValues();
+
+} // EntityMockResourceDataRow
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockResources.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockResources.java
new file mode 100644
index 0000000..cfd027e
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockResources.java
@@ -0,0 +1,53 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Entity Mock Resources</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.EntityMockResources#getResources <em>Resources</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockResources()
+ * @model
+ * @generated
+ */
+public interface EntityMockResources extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Resources</b></em>' containment reference list.
+	 * The list contents are of type {@link org.eclipse.osbp.xtext.entitymock.EntityMockResource}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Resources</em>' containment reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Resources</em>' containment reference list.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockResources_Resources()
+	 * @model containment="true"
+	 * @generated
+	 */
+	EList<EntityMockResource> getResources();
+
+} // EntityMockResources
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockTemporary.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockTemporary.java
new file mode 100644
index 0000000..94e0d15
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/EntityMockTemporary.java
@@ -0,0 +1,87 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Entity Mock Temporary</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.EntityMockTemporary#getName <em>Name</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.EntityMockTemporary#getObject <em>Object</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockTemporary()
+ * @model
+ * @generated
+ */
+public interface EntityMockTemporary extends EntityMockLazyResolver {
+	/**
+	 * Returns the value of the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Name</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Name</em>' attribute.
+	 * @see #setName(String)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockTemporary_Name()
+	 * @model unique="false"
+	 * @generated
+	 */
+	String getName();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.EntityMockTemporary#getName <em>Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Name</em>' attribute.
+	 * @see #getName()
+	 * @generated
+	 */
+	void setName(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Object</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Object</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Object</em>' reference.
+	 * @see #setObject(EntityMockObject)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getEntityMockTemporary_Object()
+	 * @model
+	 * @generated
+	 */
+	EntityMockObject getObject();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.EntityMockTemporary#getObject <em>Object</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Object</em>' reference.
+	 * @see #getObject()
+	 * @generated
+	 */
+	void setObject(EntityMockObject value);
+
+} // EntityMockTemporary
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/IEntityMockAttribute.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/IEntityMockAttribute.java
new file mode 100644
index 0000000..9565121
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/IEntityMockAttribute.java
@@ -0,0 +1,28 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>IEntity Mock Attribute</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getIEntityMockAttribute()
+ * @model
+ * @generated
+ */
+public interface IEntityMockAttribute extends IEntityMockEntityUsable {
+} // IEntityMockAttribute
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/IEntityMockEntityUsable.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/IEntityMockEntityUsable.java
new file mode 100644
index 0000000..b2f4dfd
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/IEntityMockEntityUsable.java
@@ -0,0 +1,28 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>IEntity Mock Entity Usable</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getIEntityMockEntityUsable()
+ * @model
+ * @generated
+ */
+public interface IEntityMockEntityUsable extends EntityMockLazyResolver {
+} // IEntityMockEntityUsable
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/IEntityMockObjectAttribute.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/IEntityMockObjectAttribute.java
new file mode 100644
index 0000000..3f550ea
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/IEntityMockObjectAttribute.java
@@ -0,0 +1,60 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>IEntity Mock Object Attribute</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.IEntityMockObjectAttribute#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getIEntityMockObjectAttribute()
+ * @model
+ * @generated
+ */
+public interface IEntityMockObjectAttribute extends EntityMockLazyResolver {
+	/**
+	 * Returns the value of the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Name</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Name</em>' attribute.
+	 * @see #setName(String)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getIEntityMockObjectAttribute_Name()
+	 * @model unique="false"
+	 * @generated
+	 */
+	String getName();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.IEntityMockObjectAttribute#getName <em>Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Name</em>' attribute.
+	 * @see #getName()
+	 * @generated
+	 */
+	void setName(String value);
+
+} // IEntityMockObjectAttribute
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/IEntityMockObjectUsable.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/IEntityMockObjectUsable.java
new file mode 100644
index 0000000..f8acb56
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/IEntityMockObjectUsable.java
@@ -0,0 +1,28 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>IEntity Mock Object Usable</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getIEntityMockObjectUsable()
+ * @model
+ * @generated
+ */
+public interface IEntityMockObjectUsable extends EntityMockLazyResolver {
+} // IEntityMockObjectUsable
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/IIterate.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/IIterate.java
new file mode 100644
index 0000000..5d5ab98
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/IIterate.java
@@ -0,0 +1,29 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>IIterate</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getIIterate()
+ * @model
+ * @generated
+ */
+public interface IIterate extends EObject {
+} // IIterate
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/IntegerIterate.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/IntegerIterate.java
new file mode 100644
index 0000000..2d992cd
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/IntegerIterate.java
@@ -0,0 +1,114 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Integer Iterate</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.IntegerIterate#getFrom <em>From</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.IntegerIterate#getUntil <em>Until</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.IntegerIterate#getStep <em>Step</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getIntegerIterate()
+ * @model
+ * @generated
+ */
+public interface IntegerIterate extends IIterate {
+	/**
+	 * Returns the value of the '<em><b>From</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>From</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>From</em>' attribute.
+	 * @see #setFrom(int)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getIntegerIterate_From()
+	 * @model unique="false"
+	 * @generated
+	 */
+	int getFrom();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.IntegerIterate#getFrom <em>From</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>From</em>' attribute.
+	 * @see #getFrom()
+	 * @generated
+	 */
+	void setFrom(int value);
+
+	/**
+	 * Returns the value of the '<em><b>Until</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Until</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Until</em>' attribute.
+	 * @see #setUntil(int)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getIntegerIterate_Until()
+	 * @model unique="false"
+	 * @generated
+	 */
+	int getUntil();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.IntegerIterate#getUntil <em>Until</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Until</em>' attribute.
+	 * @see #getUntil()
+	 * @generated
+	 */
+	void setUntil(int value);
+
+	/**
+	 * Returns the value of the '<em><b>Step</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Step</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Step</em>' attribute.
+	 * @see #setStep(int)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getIntegerIterate_Step()
+	 * @model unique="false"
+	 * @generated
+	 */
+	int getStep();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.IntegerIterate#getStep <em>Step</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Step</em>' attribute.
+	 * @see #getStep()
+	 * @generated
+	 */
+	void setStep(int value);
+
+} // IntegerIterate
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/PropertyFillerBoolean.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/PropertyFillerBoolean.java
new file mode 100644
index 0000000..72ec8ce
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/PropertyFillerBoolean.java
@@ -0,0 +1,28 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Property Filler Boolean</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getPropertyFillerBoolean()
+ * @model
+ * @generated
+ */
+public interface PropertyFillerBoolean extends PropertyFillerType {
+} // PropertyFillerBoolean
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/PropertyFillerDateFuture.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/PropertyFillerDateFuture.java
new file mode 100644
index 0000000..c4969bf
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/PropertyFillerDateFuture.java
@@ -0,0 +1,60 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Property Filler Date Future</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerDateFuture#getDateFutureYears <em>Date Future Years</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getPropertyFillerDateFuture()
+ * @model
+ * @generated
+ */
+public interface PropertyFillerDateFuture extends PropertyFillerDateType {
+	/**
+	 * Returns the value of the '<em><b>Date Future Years</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Date Future Years</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Date Future Years</em>' attribute.
+	 * @see #setDateFutureYears(int)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getPropertyFillerDateFuture_DateFutureYears()
+	 * @model unique="false"
+	 * @generated
+	 */
+	int getDateFutureYears();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerDateFuture#getDateFutureYears <em>Date Future Years</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Date Future Years</em>' attribute.
+	 * @see #getDateFutureYears()
+	 * @generated
+	 */
+	void setDateFutureYears(int value);
+
+} // PropertyFillerDateFuture
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/PropertyFillerDatePast.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/PropertyFillerDatePast.java
new file mode 100644
index 0000000..d8c4bed
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/PropertyFillerDatePast.java
@@ -0,0 +1,60 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Property Filler Date Past</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerDatePast#getDatePastYears <em>Date Past Years</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getPropertyFillerDatePast()
+ * @model
+ * @generated
+ */
+public interface PropertyFillerDatePast extends PropertyFillerDateType {
+	/**
+	 * Returns the value of the '<em><b>Date Past Years</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Date Past Years</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Date Past Years</em>' attribute.
+	 * @see #setDatePastYears(int)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getPropertyFillerDatePast_DatePastYears()
+	 * @model unique="false"
+	 * @generated
+	 */
+	int getDatePastYears();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerDatePast#getDatePastYears <em>Date Past Years</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Date Past Years</em>' attribute.
+	 * @see #getDatePastYears()
+	 * @generated
+	 */
+	void setDatePastYears(int value);
+
+} // PropertyFillerDatePast
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/PropertyFillerDateRange.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/PropertyFillerDateRange.java
new file mode 100644
index 0000000..aabff41
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/PropertyFillerDateRange.java
@@ -0,0 +1,87 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Property Filler Date Range</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerDateRange#getDateBeginYears <em>Date Begin Years</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerDateRange#getDateEndYears <em>Date End Years</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getPropertyFillerDateRange()
+ * @model
+ * @generated
+ */
+public interface PropertyFillerDateRange extends PropertyFillerDateType {
+	/**
+	 * Returns the value of the '<em><b>Date Begin Years</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Date Begin Years</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Date Begin Years</em>' attribute.
+	 * @see #setDateBeginYears(int)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getPropertyFillerDateRange_DateBeginYears()
+	 * @model unique="false"
+	 * @generated
+	 */
+	int getDateBeginYears();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerDateRange#getDateBeginYears <em>Date Begin Years</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Date Begin Years</em>' attribute.
+	 * @see #getDateBeginYears()
+	 * @generated
+	 */
+	void setDateBeginYears(int value);
+
+	/**
+	 * Returns the value of the '<em><b>Date End Years</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Date End Years</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Date End Years</em>' attribute.
+	 * @see #setDateEndYears(int)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getPropertyFillerDateRange_DateEndYears()
+	 * @model unique="false"
+	 * @generated
+	 */
+	int getDateEndYears();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerDateRange#getDateEndYears <em>Date End Years</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Date End Years</em>' attribute.
+	 * @see #getDateEndYears()
+	 * @generated
+	 */
+	void setDateEndYears(int value);
+
+} // PropertyFillerDateRange
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/PropertyFillerDateType.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/PropertyFillerDateType.java
new file mode 100644
index 0000000..1994b6d
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/PropertyFillerDateType.java
@@ -0,0 +1,28 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Property Filler Date Type</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getPropertyFillerDateType()
+ * @model
+ * @generated
+ */
+public interface PropertyFillerDateType extends PropertyFillerType {
+} // PropertyFillerDateType
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/PropertyFillerDoubleType.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/PropertyFillerDoubleType.java
new file mode 100644
index 0000000..6188ad5
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/PropertyFillerDoubleType.java
@@ -0,0 +1,28 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Property Filler Double Type</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getPropertyFillerDoubleType()
+ * @model
+ * @generated
+ */
+public interface PropertyFillerDoubleType extends PropertyFillerType {
+} // PropertyFillerDoubleType
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/PropertyFillerIntegerType.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/PropertyFillerIntegerType.java
new file mode 100644
index 0000000..3f3db0d
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/PropertyFillerIntegerType.java
@@ -0,0 +1,28 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Property Filler Integer Type</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getPropertyFillerIntegerType()
+ * @model
+ * @generated
+ */
+public interface PropertyFillerIntegerType extends PropertyFillerType {
+} // PropertyFillerIntegerType
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/PropertyFillerSignedDoubleRandom.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/PropertyFillerSignedDoubleRandom.java
new file mode 100644
index 0000000..54cc92b
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/PropertyFillerSignedDoubleRandom.java
@@ -0,0 +1,51 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Property Filler Signed Double Random</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedDoubleRandom#getItems <em>Items</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getPropertyFillerSignedDoubleRandom()
+ * @model
+ * @generated
+ */
+public interface PropertyFillerSignedDoubleRandom extends PropertyFillerDoubleType {
+	/**
+	 * Returns the value of the '<em><b>Items</b></em>' attribute list.
+	 * The list contents are of type {@link java.lang.Double}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Items</em>' attribute list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Items</em>' attribute list.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getPropertyFillerSignedDoubleRandom_Items()
+	 * @model unique="false"
+	 * @generated
+	 */
+	EList<Double> getItems();
+
+} // PropertyFillerSignedDoubleRandom
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/PropertyFillerSignedDoubleRange.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/PropertyFillerSignedDoubleRange.java
new file mode 100644
index 0000000..9e330f7
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/PropertyFillerSignedDoubleRange.java
@@ -0,0 +1,196 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock;
+
+import org.eclipse.osbp.dsl.semantic.entity.LEntityAttribute;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Property Filler Signed Double Range</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedDoubleRange#getDecimals <em>Decimals</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedDoubleRange#getBeginRange <em>Begin Range</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedDoubleRange#getEndRange <em>End Range</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedDoubleRange#getBeginRangeRef <em>Begin Range Ref</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedDoubleRange#getEndRangeRef <em>End Range Ref</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedDoubleRange#getRounded <em>Rounded</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getPropertyFillerSignedDoubleRange()
+ * @model
+ * @generated
+ */
+public interface PropertyFillerSignedDoubleRange extends PropertyFillerDoubleType {
+	/**
+	 * Returns the value of the '<em><b>Decimals</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Decimals</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Decimals</em>' attribute.
+	 * @see #setDecimals(int)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getPropertyFillerSignedDoubleRange_Decimals()
+	 * @model unique="false"
+	 * @generated
+	 */
+	int getDecimals();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedDoubleRange#getDecimals <em>Decimals</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Decimals</em>' attribute.
+	 * @see #getDecimals()
+	 * @generated
+	 */
+	void setDecimals(int value);
+
+	/**
+	 * Returns the value of the '<em><b>Begin Range</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Begin Range</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Begin Range</em>' attribute.
+	 * @see #setBeginRange(double)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getPropertyFillerSignedDoubleRange_BeginRange()
+	 * @model unique="false"
+	 * @generated
+	 */
+	double getBeginRange();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedDoubleRange#getBeginRange <em>Begin Range</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Begin Range</em>' attribute.
+	 * @see #getBeginRange()
+	 * @generated
+	 */
+	void setBeginRange(double value);
+
+	/**
+	 * Returns the value of the '<em><b>End Range</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>End Range</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>End Range</em>' attribute.
+	 * @see #setEndRange(double)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getPropertyFillerSignedDoubleRange_EndRange()
+	 * @model unique="false"
+	 * @generated
+	 */
+	double getEndRange();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedDoubleRange#getEndRange <em>End Range</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>End Range</em>' attribute.
+	 * @see #getEndRange()
+	 * @generated
+	 */
+	void setEndRange(double value);
+
+	/**
+	 * Returns the value of the '<em><b>Begin Range Ref</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Begin Range Ref</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Begin Range Ref</em>' reference.
+	 * @see #setBeginRangeRef(LEntityAttribute)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getPropertyFillerSignedDoubleRange_BeginRangeRef()
+	 * @model
+	 * @generated
+	 */
+	LEntityAttribute getBeginRangeRef();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedDoubleRange#getBeginRangeRef <em>Begin Range Ref</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Begin Range Ref</em>' reference.
+	 * @see #getBeginRangeRef()
+	 * @generated
+	 */
+	void setBeginRangeRef(LEntityAttribute value);
+
+	/**
+	 * Returns the value of the '<em><b>End Range Ref</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>End Range Ref</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>End Range Ref</em>' reference.
+	 * @see #setEndRangeRef(LEntityAttribute)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getPropertyFillerSignedDoubleRange_EndRangeRef()
+	 * @model
+	 * @generated
+	 */
+	LEntityAttribute getEndRangeRef();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedDoubleRange#getEndRangeRef <em>End Range Ref</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>End Range Ref</em>' reference.
+	 * @see #getEndRangeRef()
+	 * @generated
+	 */
+	void setEndRangeRef(LEntityAttribute value);
+
+	/**
+	 * Returns the value of the '<em><b>Rounded</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Rounded</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Rounded</em>' attribute.
+	 * @see #setRounded(double)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getPropertyFillerSignedDoubleRange_Rounded()
+	 * @model unique="false"
+	 * @generated
+	 */
+	double getRounded();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedDoubleRange#getRounded <em>Rounded</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Rounded</em>' attribute.
+	 * @see #getRounded()
+	 * @generated
+	 */
+	void setRounded(double value);
+
+} // PropertyFillerSignedDoubleRange
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/PropertyFillerSignedIntegerRandom.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/PropertyFillerSignedIntegerRandom.java
new file mode 100644
index 0000000..4c0ffbb
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/PropertyFillerSignedIntegerRandom.java
@@ -0,0 +1,51 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Property Filler Signed Integer Random</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedIntegerRandom#getItems <em>Items</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getPropertyFillerSignedIntegerRandom()
+ * @model
+ * @generated
+ */
+public interface PropertyFillerSignedIntegerRandom extends PropertyFillerIntegerType {
+	/**
+	 * Returns the value of the '<em><b>Items</b></em>' attribute list.
+	 * The list contents are of type {@link java.lang.Integer}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Items</em>' attribute list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Items</em>' attribute list.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getPropertyFillerSignedIntegerRandom_Items()
+	 * @model unique="false"
+	 * @generated
+	 */
+	EList<Integer> getItems();
+
+} // PropertyFillerSignedIntegerRandom
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/PropertyFillerSignedIntegerRange.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/PropertyFillerSignedIntegerRange.java
new file mode 100644
index 0000000..7284cd4
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/PropertyFillerSignedIntegerRange.java
@@ -0,0 +1,169 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock;
+
+import org.eclipse.osbp.dsl.semantic.entity.LEntityAttribute;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Property Filler Signed Integer Range</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedIntegerRange#getBeginRange <em>Begin Range</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedIntegerRange#getEndRange <em>End Range</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedIntegerRange#getBeginRangeRef <em>Begin Range Ref</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedIntegerRange#getEndRangeRef <em>End Range Ref</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedIntegerRange#getRounded <em>Rounded</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getPropertyFillerSignedIntegerRange()
+ * @model
+ * @generated
+ */
+public interface PropertyFillerSignedIntegerRange extends PropertyFillerIntegerType {
+	/**
+	 * Returns the value of the '<em><b>Begin Range</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Begin Range</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Begin Range</em>' attribute.
+	 * @see #setBeginRange(int)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getPropertyFillerSignedIntegerRange_BeginRange()
+	 * @model unique="false"
+	 * @generated
+	 */
+	int getBeginRange();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedIntegerRange#getBeginRange <em>Begin Range</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Begin Range</em>' attribute.
+	 * @see #getBeginRange()
+	 * @generated
+	 */
+	void setBeginRange(int value);
+
+	/**
+	 * Returns the value of the '<em><b>End Range</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>End Range</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>End Range</em>' attribute.
+	 * @see #setEndRange(int)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getPropertyFillerSignedIntegerRange_EndRange()
+	 * @model unique="false"
+	 * @generated
+	 */
+	int getEndRange();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedIntegerRange#getEndRange <em>End Range</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>End Range</em>' attribute.
+	 * @see #getEndRange()
+	 * @generated
+	 */
+	void setEndRange(int value);
+
+	/**
+	 * Returns the value of the '<em><b>Begin Range Ref</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Begin Range Ref</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Begin Range Ref</em>' reference.
+	 * @see #setBeginRangeRef(LEntityAttribute)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getPropertyFillerSignedIntegerRange_BeginRangeRef()
+	 * @model
+	 * @generated
+	 */
+	LEntityAttribute getBeginRangeRef();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedIntegerRange#getBeginRangeRef <em>Begin Range Ref</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Begin Range Ref</em>' reference.
+	 * @see #getBeginRangeRef()
+	 * @generated
+	 */
+	void setBeginRangeRef(LEntityAttribute value);
+
+	/**
+	 * Returns the value of the '<em><b>End Range Ref</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>End Range Ref</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>End Range Ref</em>' reference.
+	 * @see #setEndRangeRef(LEntityAttribute)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getPropertyFillerSignedIntegerRange_EndRangeRef()
+	 * @model
+	 * @generated
+	 */
+	LEntityAttribute getEndRangeRef();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedIntegerRange#getEndRangeRef <em>End Range Ref</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>End Range Ref</em>' reference.
+	 * @see #getEndRangeRef()
+	 * @generated
+	 */
+	void setEndRangeRef(LEntityAttribute value);
+
+	/**
+	 * Returns the value of the '<em><b>Rounded</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Rounded</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Rounded</em>' attribute.
+	 * @see #setRounded(int)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getPropertyFillerSignedIntegerRange_Rounded()
+	 * @model unique="false"
+	 * @generated
+	 */
+	int getRounded();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedIntegerRange#getRounded <em>Rounded</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Rounded</em>' attribute.
+	 * @see #getRounded()
+	 * @generated
+	 */
+	void setRounded(int value);
+
+} // PropertyFillerSignedIntegerRange
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/PropertyFillerTextParagraphs.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/PropertyFillerTextParagraphs.java
new file mode 100644
index 0000000..10469dc
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/PropertyFillerTextParagraphs.java
@@ -0,0 +1,60 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Property Filler Text Paragraphs</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerTextParagraphs#getCount <em>Count</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getPropertyFillerTextParagraphs()
+ * @model
+ * @generated
+ */
+public interface PropertyFillerTextParagraphs extends PropertyFillerTextType {
+	/**
+	 * Returns the value of the '<em><b>Count</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Count</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Count</em>' attribute.
+	 * @see #setCount(int)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getPropertyFillerTextParagraphs_Count()
+	 * @model unique="false"
+	 * @generated
+	 */
+	int getCount();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerTextParagraphs#getCount <em>Count</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Count</em>' attribute.
+	 * @see #getCount()
+	 * @generated
+	 */
+	void setCount(int value);
+
+} // PropertyFillerTextParagraphs
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/PropertyFillerTextRandom.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/PropertyFillerTextRandom.java
new file mode 100644
index 0000000..2c9fcf6
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/PropertyFillerTextRandom.java
@@ -0,0 +1,51 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Property Filler Text Random</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerTextRandom#getItems <em>Items</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getPropertyFillerTextRandom()
+ * @model
+ * @generated
+ */
+public interface PropertyFillerTextRandom extends PropertyFillerTextType {
+	/**
+	 * Returns the value of the '<em><b>Items</b></em>' attribute list.
+	 * The list contents are of type {@link java.lang.String}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Items</em>' attribute list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Items</em>' attribute list.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getPropertyFillerTextRandom_Items()
+	 * @model unique="false"
+	 * @generated
+	 */
+	EList<String> getItems();
+
+} // PropertyFillerTextRandom
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/PropertyFillerTextSentences.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/PropertyFillerTextSentences.java
new file mode 100644
index 0000000..81428a8
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/PropertyFillerTextSentences.java
@@ -0,0 +1,60 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Property Filler Text Sentences</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerTextSentences#getCount <em>Count</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getPropertyFillerTextSentences()
+ * @model
+ * @generated
+ */
+public interface PropertyFillerTextSentences extends PropertyFillerTextType {
+	/**
+	 * Returns the value of the '<em><b>Count</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Count</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Count</em>' attribute.
+	 * @see #setCount(int)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getPropertyFillerTextSentences_Count()
+	 * @model unique="false"
+	 * @generated
+	 */
+	int getCount();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerTextSentences#getCount <em>Count</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Count</em>' attribute.
+	 * @see #getCount()
+	 * @generated
+	 */
+	void setCount(int value);
+
+} // PropertyFillerTextSentences
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/PropertyFillerTextType.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/PropertyFillerTextType.java
new file mode 100644
index 0000000..b13cf2f
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/PropertyFillerTextType.java
@@ -0,0 +1,28 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Property Filler Text Type</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getPropertyFillerTextType()
+ * @model
+ * @generated
+ */
+public interface PropertyFillerTextType extends PropertyFillerType {
+} // PropertyFillerTextType
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/PropertyFillerTextWords.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/PropertyFillerTextWords.java
new file mode 100644
index 0000000..da8f76d
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/PropertyFillerTextWords.java
@@ -0,0 +1,60 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Property Filler Text Words</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerTextWords#getCount <em>Count</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getPropertyFillerTextWords()
+ * @model
+ * @generated
+ */
+public interface PropertyFillerTextWords extends PropertyFillerTextType {
+	/**
+	 * Returns the value of the '<em><b>Count</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Count</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Count</em>' attribute.
+	 * @see #setCount(int)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getPropertyFillerTextWords_Count()
+	 * @model unique="false"
+	 * @generated
+	 */
+	int getCount();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerTextWords#getCount <em>Count</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Count</em>' attribute.
+	 * @see #getCount()
+	 * @generated
+	 */
+	void setCount(int value);
+
+} // PropertyFillerTextWords
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/PropertyFillerType.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/PropertyFillerType.java
new file mode 100644
index 0000000..8550796
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/PropertyFillerType.java
@@ -0,0 +1,28 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Property Filler Type</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getPropertyFillerType()
+ * @model
+ * @generated
+ */
+public interface PropertyFillerType extends EntityMockLazyResolver {
+} // PropertyFillerType
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/PropertyFillerUnsignedDoubleRandom.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/PropertyFillerUnsignedDoubleRandom.java
new file mode 100644
index 0000000..d0a3939
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/PropertyFillerUnsignedDoubleRandom.java
@@ -0,0 +1,51 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Property Filler Unsigned Double Random</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedDoubleRandom#getItems <em>Items</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getPropertyFillerUnsignedDoubleRandom()
+ * @model
+ * @generated
+ */
+public interface PropertyFillerUnsignedDoubleRandom extends PropertyFillerDoubleType {
+	/**
+	 * Returns the value of the '<em><b>Items</b></em>' attribute list.
+	 * The list contents are of type {@link java.lang.Double}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Items</em>' attribute list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Items</em>' attribute list.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getPropertyFillerUnsignedDoubleRandom_Items()
+	 * @model unique="false"
+	 * @generated
+	 */
+	EList<Double> getItems();
+
+} // PropertyFillerUnsignedDoubleRandom
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/PropertyFillerUnsignedDoubleRange.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/PropertyFillerUnsignedDoubleRange.java
new file mode 100644
index 0000000..b26b415
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/PropertyFillerUnsignedDoubleRange.java
@@ -0,0 +1,196 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock;
+
+import org.eclipse.osbp.dsl.semantic.entity.LEntityAttribute;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Property Filler Unsigned Double Range</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedDoubleRange#getDecimals <em>Decimals</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedDoubleRange#getBeginRange <em>Begin Range</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedDoubleRange#getEndRange <em>End Range</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedDoubleRange#getBeginRangeRef <em>Begin Range Ref</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedDoubleRange#getEndRangeRef <em>End Range Ref</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedDoubleRange#getRounded <em>Rounded</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getPropertyFillerUnsignedDoubleRange()
+ * @model
+ * @generated
+ */
+public interface PropertyFillerUnsignedDoubleRange extends PropertyFillerDoubleType {
+	/**
+	 * Returns the value of the '<em><b>Decimals</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Decimals</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Decimals</em>' attribute.
+	 * @see #setDecimals(int)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getPropertyFillerUnsignedDoubleRange_Decimals()
+	 * @model unique="false"
+	 * @generated
+	 */
+	int getDecimals();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedDoubleRange#getDecimals <em>Decimals</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Decimals</em>' attribute.
+	 * @see #getDecimals()
+	 * @generated
+	 */
+	void setDecimals(int value);
+
+	/**
+	 * Returns the value of the '<em><b>Begin Range</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Begin Range</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Begin Range</em>' attribute.
+	 * @see #setBeginRange(double)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getPropertyFillerUnsignedDoubleRange_BeginRange()
+	 * @model unique="false"
+	 * @generated
+	 */
+	double getBeginRange();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedDoubleRange#getBeginRange <em>Begin Range</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Begin Range</em>' attribute.
+	 * @see #getBeginRange()
+	 * @generated
+	 */
+	void setBeginRange(double value);
+
+	/**
+	 * Returns the value of the '<em><b>End Range</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>End Range</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>End Range</em>' attribute.
+	 * @see #setEndRange(double)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getPropertyFillerUnsignedDoubleRange_EndRange()
+	 * @model unique="false"
+	 * @generated
+	 */
+	double getEndRange();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedDoubleRange#getEndRange <em>End Range</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>End Range</em>' attribute.
+	 * @see #getEndRange()
+	 * @generated
+	 */
+	void setEndRange(double value);
+
+	/**
+	 * Returns the value of the '<em><b>Begin Range Ref</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Begin Range Ref</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Begin Range Ref</em>' reference.
+	 * @see #setBeginRangeRef(LEntityAttribute)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getPropertyFillerUnsignedDoubleRange_BeginRangeRef()
+	 * @model
+	 * @generated
+	 */
+	LEntityAttribute getBeginRangeRef();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedDoubleRange#getBeginRangeRef <em>Begin Range Ref</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Begin Range Ref</em>' reference.
+	 * @see #getBeginRangeRef()
+	 * @generated
+	 */
+	void setBeginRangeRef(LEntityAttribute value);
+
+	/**
+	 * Returns the value of the '<em><b>End Range Ref</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>End Range Ref</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>End Range Ref</em>' reference.
+	 * @see #setEndRangeRef(LEntityAttribute)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getPropertyFillerUnsignedDoubleRange_EndRangeRef()
+	 * @model
+	 * @generated
+	 */
+	LEntityAttribute getEndRangeRef();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedDoubleRange#getEndRangeRef <em>End Range Ref</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>End Range Ref</em>' reference.
+	 * @see #getEndRangeRef()
+	 * @generated
+	 */
+	void setEndRangeRef(LEntityAttribute value);
+
+	/**
+	 * Returns the value of the '<em><b>Rounded</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Rounded</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Rounded</em>' attribute.
+	 * @see #setRounded(double)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getPropertyFillerUnsignedDoubleRange_Rounded()
+	 * @model unique="false"
+	 * @generated
+	 */
+	double getRounded();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedDoubleRange#getRounded <em>Rounded</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Rounded</em>' attribute.
+	 * @see #getRounded()
+	 * @generated
+	 */
+	void setRounded(double value);
+
+} // PropertyFillerUnsignedDoubleRange
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/PropertyFillerUnsignedIntegerRandom.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/PropertyFillerUnsignedIntegerRandom.java
new file mode 100644
index 0000000..2329309
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/PropertyFillerUnsignedIntegerRandom.java
@@ -0,0 +1,51 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Property Filler Unsigned Integer Random</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedIntegerRandom#getItems <em>Items</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getPropertyFillerUnsignedIntegerRandom()
+ * @model
+ * @generated
+ */
+public interface PropertyFillerUnsignedIntegerRandom extends PropertyFillerIntegerType {
+	/**
+	 * Returns the value of the '<em><b>Items</b></em>' attribute list.
+	 * The list contents are of type {@link java.lang.Integer}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Items</em>' attribute list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Items</em>' attribute list.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getPropertyFillerUnsignedIntegerRandom_Items()
+	 * @model unique="false"
+	 * @generated
+	 */
+	EList<Integer> getItems();
+
+} // PropertyFillerUnsignedIntegerRandom
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/PropertyFillerUnsignedIntegerRange.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/PropertyFillerUnsignedIntegerRange.java
new file mode 100644
index 0000000..0cd0e86
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/PropertyFillerUnsignedIntegerRange.java
@@ -0,0 +1,169 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock;
+
+import org.eclipse.osbp.dsl.semantic.entity.LEntityAttribute;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Property Filler Unsigned Integer Range</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedIntegerRange#getBeginRange <em>Begin Range</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedIntegerRange#getEndRange <em>End Range</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedIntegerRange#getBeginRangeRef <em>Begin Range Ref</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedIntegerRange#getEndRangeRef <em>End Range Ref</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedIntegerRange#getRounded <em>Rounded</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getPropertyFillerUnsignedIntegerRange()
+ * @model
+ * @generated
+ */
+public interface PropertyFillerUnsignedIntegerRange extends PropertyFillerIntegerType {
+	/**
+	 * Returns the value of the '<em><b>Begin Range</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Begin Range</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Begin Range</em>' attribute.
+	 * @see #setBeginRange(int)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getPropertyFillerUnsignedIntegerRange_BeginRange()
+	 * @model unique="false"
+	 * @generated
+	 */
+	int getBeginRange();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedIntegerRange#getBeginRange <em>Begin Range</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Begin Range</em>' attribute.
+	 * @see #getBeginRange()
+	 * @generated
+	 */
+	void setBeginRange(int value);
+
+	/**
+	 * Returns the value of the '<em><b>End Range</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>End Range</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>End Range</em>' attribute.
+	 * @see #setEndRange(int)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getPropertyFillerUnsignedIntegerRange_EndRange()
+	 * @model unique="false"
+	 * @generated
+	 */
+	int getEndRange();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedIntegerRange#getEndRange <em>End Range</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>End Range</em>' attribute.
+	 * @see #getEndRange()
+	 * @generated
+	 */
+	void setEndRange(int value);
+
+	/**
+	 * Returns the value of the '<em><b>Begin Range Ref</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Begin Range Ref</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Begin Range Ref</em>' reference.
+	 * @see #setBeginRangeRef(LEntityAttribute)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getPropertyFillerUnsignedIntegerRange_BeginRangeRef()
+	 * @model
+	 * @generated
+	 */
+	LEntityAttribute getBeginRangeRef();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedIntegerRange#getBeginRangeRef <em>Begin Range Ref</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Begin Range Ref</em>' reference.
+	 * @see #getBeginRangeRef()
+	 * @generated
+	 */
+	void setBeginRangeRef(LEntityAttribute value);
+
+	/**
+	 * Returns the value of the '<em><b>End Range Ref</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>End Range Ref</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>End Range Ref</em>' reference.
+	 * @see #setEndRangeRef(LEntityAttribute)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getPropertyFillerUnsignedIntegerRange_EndRangeRef()
+	 * @model
+	 * @generated
+	 */
+	LEntityAttribute getEndRangeRef();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedIntegerRange#getEndRangeRef <em>End Range Ref</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>End Range Ref</em>' reference.
+	 * @see #getEndRangeRef()
+	 * @generated
+	 */
+	void setEndRangeRef(LEntityAttribute value);
+
+	/**
+	 * Returns the value of the '<em><b>Rounded</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Rounded</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Rounded</em>' attribute.
+	 * @see #setRounded(int)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getPropertyFillerUnsignedIntegerRange_Rounded()
+	 * @model unique="false"
+	 * @generated
+	 */
+	int getRounded();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedIntegerRange#getRounded <em>Rounded</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Rounded</em>' attribute.
+	 * @see #getRounded()
+	 * @generated
+	 */
+	void setRounded(int value);
+
+} // PropertyFillerUnsignedIntegerRange
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/RunningDataInterchange.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/RunningDataInterchange.java
new file mode 100644
index 0000000..3e2a8d2
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/RunningDataInterchange.java
@@ -0,0 +1,90 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.osbp.xtext.datainterchange.DataInterchange;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Running Data Interchange</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.RunningDataInterchange#getDatainterchangeRef <em>Datainterchange Ref</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.RunningDataInterchange#getFileURL <em>File URL</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getRunningDataInterchange()
+ * @model
+ * @generated
+ */
+public interface RunningDataInterchange extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Datainterchange Ref</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Datainterchange Ref</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Datainterchange Ref</em>' reference.
+	 * @see #setDatainterchangeRef(DataInterchange)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getRunningDataInterchange_DatainterchangeRef()
+	 * @model
+	 * @generated
+	 */
+	DataInterchange getDatainterchangeRef();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.RunningDataInterchange#getDatainterchangeRef <em>Datainterchange Ref</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Datainterchange Ref</em>' reference.
+	 * @see #getDatainterchangeRef()
+	 * @generated
+	 */
+	void setDatainterchangeRef(DataInterchange value);
+
+	/**
+	 * Returns the value of the '<em><b>File URL</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>File URL</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>File URL</em>' attribute.
+	 * @see #setFileURL(String)
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getRunningDataInterchange_FileURL()
+	 * @model unique="false"
+	 * @generated
+	 */
+	String getFileURL();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.entitymock.RunningDataInterchange#getFileURL <em>File URL</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>File URL</em>' attribute.
+	 * @see #getFileURL()
+	 * @generated
+	 */
+	void setFileURL(String value);
+
+} // RunningDataInterchange
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/RunningDataInterchanges.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/RunningDataInterchanges.java
new file mode 100644
index 0000000..0aeacd8
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/RunningDataInterchanges.java
@@ -0,0 +1,53 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Running Data Interchanges</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.RunningDataInterchanges#getDatainterchanges <em>Datainterchanges</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getRunningDataInterchanges()
+ * @model
+ * @generated
+ */
+public interface RunningDataInterchanges extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Datainterchanges</b></em>' containment reference list.
+	 * The list contents are of type {@link org.eclipse.osbp.xtext.entitymock.RunningDataInterchange}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Datainterchanges</em>' containment reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Datainterchanges</em>' containment reference list.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#getRunningDataInterchanges_Datainterchanges()
+	 * @model containment="true"
+	 * @generated
+	 */
+	EList<RunningDataInterchange> getDatainterchanges();
+
+} // RunningDataInterchanges
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/DateImpl.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/DateImpl.java
new file mode 100644
index 0000000..fcb8289
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/DateImpl.java
@@ -0,0 +1,553 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.osbp.xtext.entitymock.Date;
+import org.eclipse.osbp.xtext.entitymock.EDateStepType;
+import org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Date</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.DateImpl#isYesterday <em>Yesterday</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.DateImpl#isToday <em>Today</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.DateImpl#isTomorrow <em>Tomorrow</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.DateImpl#getOffsetCount <em>Offset Count</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.DateImpl#getOffsetType <em>Offset Type</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.DateImpl#getYear <em>Year</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.DateImpl#getMonth <em>Month</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.DateImpl#getDay <em>Day</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class DateImpl extends MinimalEObjectImpl.Container implements Date {
+	/**
+	 * The default value of the '{@link #isYesterday() <em>Yesterday</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isYesterday()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final boolean YESTERDAY_EDEFAULT = false;
+
+	/**
+	 * The cached value of the '{@link #isYesterday() <em>Yesterday</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isYesterday()
+	 * @generated
+	 * @ordered
+	 */
+	protected boolean yesterday = YESTERDAY_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #isToday() <em>Today</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isToday()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final boolean TODAY_EDEFAULT = false;
+
+	/**
+	 * The cached value of the '{@link #isToday() <em>Today</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isToday()
+	 * @generated
+	 * @ordered
+	 */
+	protected boolean today = TODAY_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #isTomorrow() <em>Tomorrow</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isTomorrow()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final boolean TOMORROW_EDEFAULT = false;
+
+	/**
+	 * The cached value of the '{@link #isTomorrow() <em>Tomorrow</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isTomorrow()
+	 * @generated
+	 * @ordered
+	 */
+	protected boolean tomorrow = TOMORROW_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getOffsetCount() <em>Offset Count</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getOffsetCount()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int OFFSET_COUNT_EDEFAULT = 0;
+
+	/**
+	 * The cached value of the '{@link #getOffsetCount() <em>Offset Count</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getOffsetCount()
+	 * @generated
+	 * @ordered
+	 */
+	protected int offsetCount = OFFSET_COUNT_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getOffsetType() <em>Offset Type</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getOffsetType()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final EDateStepType OFFSET_TYPE_EDEFAULT = EDateStepType.DAYS;
+
+	/**
+	 * The cached value of the '{@link #getOffsetType() <em>Offset Type</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getOffsetType()
+	 * @generated
+	 * @ordered
+	 */
+	protected EDateStepType offsetType = OFFSET_TYPE_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getYear() <em>Year</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getYear()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int YEAR_EDEFAULT = 0;
+
+	/**
+	 * The cached value of the '{@link #getYear() <em>Year</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getYear()
+	 * @generated
+	 * @ordered
+	 */
+	protected int year = YEAR_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getMonth() <em>Month</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMonth()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int MONTH_EDEFAULT = 0;
+
+	/**
+	 * The cached value of the '{@link #getMonth() <em>Month</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMonth()
+	 * @generated
+	 * @ordered
+	 */
+	protected int month = MONTH_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getDay() <em>Day</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDay()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int DAY_EDEFAULT = 0;
+
+	/**
+	 * The cached value of the '{@link #getDay() <em>Day</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDay()
+	 * @generated
+	 * @ordered
+	 */
+	protected int day = DAY_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected DateImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return EntityMockDSLPackage.Literals.DATE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean isYesterday() {
+		return yesterday;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setYesterday(boolean newYesterday) {
+		boolean oldYesterday = yesterday;
+		yesterday = newYesterday;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.DATE__YESTERDAY, oldYesterday, yesterday));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean isToday() {
+		return today;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setToday(boolean newToday) {
+		boolean oldToday = today;
+		today = newToday;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.DATE__TODAY, oldToday, today));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean isTomorrow() {
+		return tomorrow;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setTomorrow(boolean newTomorrow) {
+		boolean oldTomorrow = tomorrow;
+		tomorrow = newTomorrow;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.DATE__TOMORROW, oldTomorrow, tomorrow));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getOffsetCount() {
+		return offsetCount;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setOffsetCount(int newOffsetCount) {
+		int oldOffsetCount = offsetCount;
+		offsetCount = newOffsetCount;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.DATE__OFFSET_COUNT, oldOffsetCount, offsetCount));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EDateStepType getOffsetType() {
+		return offsetType;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setOffsetType(EDateStepType newOffsetType) {
+		EDateStepType oldOffsetType = offsetType;
+		offsetType = newOffsetType == null ? OFFSET_TYPE_EDEFAULT : newOffsetType;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.DATE__OFFSET_TYPE, oldOffsetType, offsetType));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getYear() {
+		return year;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setYear(int newYear) {
+		int oldYear = year;
+		year = newYear;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.DATE__YEAR, oldYear, year));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getMonth() {
+		return month;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setMonth(int newMonth) {
+		int oldMonth = month;
+		month = newMonth;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.DATE__MONTH, oldMonth, month));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getDay() {
+		return day;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setDay(int newDay) {
+		int oldDay = day;
+		day = newDay;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.DATE__DAY, oldDay, day));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case EntityMockDSLPackage.DATE__YESTERDAY:
+				return isYesterday();
+			case EntityMockDSLPackage.DATE__TODAY:
+				return isToday();
+			case EntityMockDSLPackage.DATE__TOMORROW:
+				return isTomorrow();
+			case EntityMockDSLPackage.DATE__OFFSET_COUNT:
+				return getOffsetCount();
+			case EntityMockDSLPackage.DATE__OFFSET_TYPE:
+				return getOffsetType();
+			case EntityMockDSLPackage.DATE__YEAR:
+				return getYear();
+			case EntityMockDSLPackage.DATE__MONTH:
+				return getMonth();
+			case EntityMockDSLPackage.DATE__DAY:
+				return getDay();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case EntityMockDSLPackage.DATE__YESTERDAY:
+				setYesterday((Boolean)newValue);
+				return;
+			case EntityMockDSLPackage.DATE__TODAY:
+				setToday((Boolean)newValue);
+				return;
+			case EntityMockDSLPackage.DATE__TOMORROW:
+				setTomorrow((Boolean)newValue);
+				return;
+			case EntityMockDSLPackage.DATE__OFFSET_COUNT:
+				setOffsetCount((Integer)newValue);
+				return;
+			case EntityMockDSLPackage.DATE__OFFSET_TYPE:
+				setOffsetType((EDateStepType)newValue);
+				return;
+			case EntityMockDSLPackage.DATE__YEAR:
+				setYear((Integer)newValue);
+				return;
+			case EntityMockDSLPackage.DATE__MONTH:
+				setMonth((Integer)newValue);
+				return;
+			case EntityMockDSLPackage.DATE__DAY:
+				setDay((Integer)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.DATE__YESTERDAY:
+				setYesterday(YESTERDAY_EDEFAULT);
+				return;
+			case EntityMockDSLPackage.DATE__TODAY:
+				setToday(TODAY_EDEFAULT);
+				return;
+			case EntityMockDSLPackage.DATE__TOMORROW:
+				setTomorrow(TOMORROW_EDEFAULT);
+				return;
+			case EntityMockDSLPackage.DATE__OFFSET_COUNT:
+				setOffsetCount(OFFSET_COUNT_EDEFAULT);
+				return;
+			case EntityMockDSLPackage.DATE__OFFSET_TYPE:
+				setOffsetType(OFFSET_TYPE_EDEFAULT);
+				return;
+			case EntityMockDSLPackage.DATE__YEAR:
+				setYear(YEAR_EDEFAULT);
+				return;
+			case EntityMockDSLPackage.DATE__MONTH:
+				setMonth(MONTH_EDEFAULT);
+				return;
+			case EntityMockDSLPackage.DATE__DAY:
+				setDay(DAY_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.DATE__YESTERDAY:
+				return yesterday != YESTERDAY_EDEFAULT;
+			case EntityMockDSLPackage.DATE__TODAY:
+				return today != TODAY_EDEFAULT;
+			case EntityMockDSLPackage.DATE__TOMORROW:
+				return tomorrow != TOMORROW_EDEFAULT;
+			case EntityMockDSLPackage.DATE__OFFSET_COUNT:
+				return offsetCount != OFFSET_COUNT_EDEFAULT;
+			case EntityMockDSLPackage.DATE__OFFSET_TYPE:
+				return offsetType != OFFSET_TYPE_EDEFAULT;
+			case EntityMockDSLPackage.DATE__YEAR:
+				return year != YEAR_EDEFAULT;
+			case EntityMockDSLPackage.DATE__MONTH:
+				return month != MONTH_EDEFAULT;
+			case EntityMockDSLPackage.DATE__DAY:
+				return day != DAY_EDEFAULT;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (yesterday: ");
+		result.append(yesterday);
+		result.append(", today: ");
+		result.append(today);
+		result.append(", tomorrow: ");
+		result.append(tomorrow);
+		result.append(", offsetCount: ");
+		result.append(offsetCount);
+		result.append(", offsetType: ");
+		result.append(offsetType);
+		result.append(", year: ");
+		result.append(year);
+		result.append(", month: ");
+		result.append(month);
+		result.append(", day: ");
+		result.append(day);
+		result.append(')');
+		return result.toString();
+	}
+
+} //DateImpl
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/DateIterateImpl.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/DateIterateImpl.java
new file mode 100644
index 0000000..1e761d7
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/DateIterateImpl.java
@@ -0,0 +1,375 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.osbp.xtext.entitymock.Date;
+import org.eclipse.osbp.xtext.entitymock.DateIterate;
+import org.eclipse.osbp.xtext.entitymock.EDateStepType;
+import org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Date Iterate</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.DateIterateImpl#getFrom <em>From</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.DateIterateImpl#getUntil <em>Until</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.DateIterateImpl#getStepCount <em>Step Count</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.DateIterateImpl#getStepType <em>Step Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class DateIterateImpl extends IIterateImpl implements DateIterate {
+	/**
+	 * The cached value of the '{@link #getFrom() <em>From</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getFrom()
+	 * @generated
+	 * @ordered
+	 */
+	protected Date from;
+
+	/**
+	 * The cached value of the '{@link #getUntil() <em>Until</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getUntil()
+	 * @generated
+	 * @ordered
+	 */
+	protected Date until;
+
+	/**
+	 * The default value of the '{@link #getStepCount() <em>Step Count</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getStepCount()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int STEP_COUNT_EDEFAULT = 0;
+
+	/**
+	 * The cached value of the '{@link #getStepCount() <em>Step Count</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getStepCount()
+	 * @generated
+	 * @ordered
+	 */
+	protected int stepCount = STEP_COUNT_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getStepType() <em>Step Type</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getStepType()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final EDateStepType STEP_TYPE_EDEFAULT = EDateStepType.DAYS;
+
+	/**
+	 * The cached value of the '{@link #getStepType() <em>Step Type</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getStepType()
+	 * @generated
+	 * @ordered
+	 */
+	protected EDateStepType stepType = STEP_TYPE_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected DateIterateImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return EntityMockDSLPackage.Literals.DATE_ITERATE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Date getFrom() {
+		return from;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetFrom(Date newFrom, NotificationChain msgs) {
+		Date oldFrom = from;
+		from = newFrom;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.DATE_ITERATE__FROM, oldFrom, newFrom);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setFrom(Date newFrom) {
+		if (newFrom != from) {
+			NotificationChain msgs = null;
+			if (from != null)
+				msgs = ((InternalEObject)from).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - EntityMockDSLPackage.DATE_ITERATE__FROM, null, msgs);
+			if (newFrom != null)
+				msgs = ((InternalEObject)newFrom).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EntityMockDSLPackage.DATE_ITERATE__FROM, null, msgs);
+			msgs = basicSetFrom(newFrom, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.DATE_ITERATE__FROM, newFrom, newFrom));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Date getUntil() {
+		return until;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetUntil(Date newUntil, NotificationChain msgs) {
+		Date oldUntil = until;
+		until = newUntil;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.DATE_ITERATE__UNTIL, oldUntil, newUntil);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setUntil(Date newUntil) {
+		if (newUntil != until) {
+			NotificationChain msgs = null;
+			if (until != null)
+				msgs = ((InternalEObject)until).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - EntityMockDSLPackage.DATE_ITERATE__UNTIL, null, msgs);
+			if (newUntil != null)
+				msgs = ((InternalEObject)newUntil).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EntityMockDSLPackage.DATE_ITERATE__UNTIL, null, msgs);
+			msgs = basicSetUntil(newUntil, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.DATE_ITERATE__UNTIL, newUntil, newUntil));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getStepCount() {
+		return stepCount;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setStepCount(int newStepCount) {
+		int oldStepCount = stepCount;
+		stepCount = newStepCount;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.DATE_ITERATE__STEP_COUNT, oldStepCount, stepCount));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EDateStepType getStepType() {
+		return stepType;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setStepType(EDateStepType newStepType) {
+		EDateStepType oldStepType = stepType;
+		stepType = newStepType == null ? STEP_TYPE_EDEFAULT : newStepType;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.DATE_ITERATE__STEP_TYPE, oldStepType, stepType));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case EntityMockDSLPackage.DATE_ITERATE__FROM:
+				return basicSetFrom(null, msgs);
+			case EntityMockDSLPackage.DATE_ITERATE__UNTIL:
+				return basicSetUntil(null, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case EntityMockDSLPackage.DATE_ITERATE__FROM:
+				return getFrom();
+			case EntityMockDSLPackage.DATE_ITERATE__UNTIL:
+				return getUntil();
+			case EntityMockDSLPackage.DATE_ITERATE__STEP_COUNT:
+				return getStepCount();
+			case EntityMockDSLPackage.DATE_ITERATE__STEP_TYPE:
+				return getStepType();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case EntityMockDSLPackage.DATE_ITERATE__FROM:
+				setFrom((Date)newValue);
+				return;
+			case EntityMockDSLPackage.DATE_ITERATE__UNTIL:
+				setUntil((Date)newValue);
+				return;
+			case EntityMockDSLPackage.DATE_ITERATE__STEP_COUNT:
+				setStepCount((Integer)newValue);
+				return;
+			case EntityMockDSLPackage.DATE_ITERATE__STEP_TYPE:
+				setStepType((EDateStepType)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.DATE_ITERATE__FROM:
+				setFrom((Date)null);
+				return;
+			case EntityMockDSLPackage.DATE_ITERATE__UNTIL:
+				setUntil((Date)null);
+				return;
+			case EntityMockDSLPackage.DATE_ITERATE__STEP_COUNT:
+				setStepCount(STEP_COUNT_EDEFAULT);
+				return;
+			case EntityMockDSLPackage.DATE_ITERATE__STEP_TYPE:
+				setStepType(STEP_TYPE_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.DATE_ITERATE__FROM:
+				return from != null;
+			case EntityMockDSLPackage.DATE_ITERATE__UNTIL:
+				return until != null;
+			case EntityMockDSLPackage.DATE_ITERATE__STEP_COUNT:
+				return stepCount != STEP_COUNT_EDEFAULT;
+			case EntityMockDSLPackage.DATE_ITERATE__STEP_TYPE:
+				return stepType != STEP_TYPE_EDEFAULT;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (stepCount: ");
+		result.append(stepCount);
+		result.append(", stepType: ");
+		result.append(stepType);
+		result.append(')');
+		return result.toString();
+	}
+
+} //DateIterateImpl
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockAttributeByObjectImpl.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockAttributeByObjectImpl.java
new file mode 100644
index 0000000..791e292
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockAttributeByObjectImpl.java
@@ -0,0 +1,370 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.osbp.dsl.semantic.entity.LEntityAttribute;
+
+import org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByObject;
+import org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectEnum;
+import org.eclipse.osbp.xtext.entitymock.EntityMockReferencedObjectAttribute;
+import org.eclipse.osbp.xtext.entitymock.EntityMockResourceAttribute;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Entity Mock Attribute By Object</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockAttributeByObjectImpl#getAttributeRef <em>Attribute Ref</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockAttributeByObjectImpl#getReference <em>Reference</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockAttributeByObjectImpl#getResourceEnum <em>Resource Enum</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockAttributeByObjectImpl#getResourceAttribute <em>Resource Attribute</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class EntityMockAttributeByObjectImpl extends IEntityMockAttributeImpl implements EntityMockAttributeByObject {
+	/**
+	 * The cached value of the '{@link #getAttributeRef() <em>Attribute Ref</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getAttributeRef()
+	 * @generated
+	 * @ordered
+	 */
+	protected LEntityAttribute attributeRef;
+
+	/**
+	 * The cached value of the '{@link #getReference() <em>Reference</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getReference()
+	 * @generated
+	 * @ordered
+	 */
+	protected EntityMockReferencedObjectAttribute reference;
+
+	/**
+	 * The cached value of the '{@link #getResourceEnum() <em>Resource Enum</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getResourceEnum()
+	 * @generated
+	 * @ordered
+	 */
+	protected EntityMockObjectEnum resourceEnum;
+
+	/**
+	 * The cached value of the '{@link #getResourceAttribute() <em>Resource Attribute</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getResourceAttribute()
+	 * @generated
+	 * @ordered
+	 */
+	protected EntityMockResourceAttribute resourceAttribute;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EntityMockAttributeByObjectImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return EntityMockDSLPackage.Literals.ENTITY_MOCK_ATTRIBUTE_BY_OBJECT;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public LEntityAttribute getAttributeRef() {
+		if (attributeRef != null && attributeRef.eIsProxy()) {
+			InternalEObject oldAttributeRef = (InternalEObject)attributeRef;
+			attributeRef = (LEntityAttribute)eResolveProxy(oldAttributeRef);
+			if (attributeRef != oldAttributeRef) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, EntityMockDSLPackage.ENTITY_MOCK_ATTRIBUTE_BY_OBJECT__ATTRIBUTE_REF, oldAttributeRef, attributeRef));
+			}
+		}
+		return attributeRef;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public LEntityAttribute basicGetAttributeRef() {
+		return attributeRef;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setAttributeRef(LEntityAttribute newAttributeRef) {
+		LEntityAttribute oldAttributeRef = attributeRef;
+		attributeRef = newAttributeRef;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.ENTITY_MOCK_ATTRIBUTE_BY_OBJECT__ATTRIBUTE_REF, oldAttributeRef, attributeRef));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EntityMockReferencedObjectAttribute getReference() {
+		return reference;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetReference(EntityMockReferencedObjectAttribute newReference, NotificationChain msgs) {
+		EntityMockReferencedObjectAttribute oldReference = reference;
+		reference = newReference;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.ENTITY_MOCK_ATTRIBUTE_BY_OBJECT__REFERENCE, oldReference, newReference);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setReference(EntityMockReferencedObjectAttribute newReference) {
+		if (newReference != reference) {
+			NotificationChain msgs = null;
+			if (reference != null)
+				msgs = ((InternalEObject)reference).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - EntityMockDSLPackage.ENTITY_MOCK_ATTRIBUTE_BY_OBJECT__REFERENCE, null, msgs);
+			if (newReference != null)
+				msgs = ((InternalEObject)newReference).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EntityMockDSLPackage.ENTITY_MOCK_ATTRIBUTE_BY_OBJECT__REFERENCE, null, msgs);
+			msgs = basicSetReference(newReference, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.ENTITY_MOCK_ATTRIBUTE_BY_OBJECT__REFERENCE, newReference, newReference));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EntityMockObjectEnum getResourceEnum() {
+		if (resourceEnum != null && resourceEnum.eIsProxy()) {
+			InternalEObject oldResourceEnum = (InternalEObject)resourceEnum;
+			resourceEnum = (EntityMockObjectEnum)eResolveProxy(oldResourceEnum);
+			if (resourceEnum != oldResourceEnum) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, EntityMockDSLPackage.ENTITY_MOCK_ATTRIBUTE_BY_OBJECT__RESOURCE_ENUM, oldResourceEnum, resourceEnum));
+			}
+		}
+		return resourceEnum;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EntityMockObjectEnum basicGetResourceEnum() {
+		return resourceEnum;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setResourceEnum(EntityMockObjectEnum newResourceEnum) {
+		EntityMockObjectEnum oldResourceEnum = resourceEnum;
+		resourceEnum = newResourceEnum;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.ENTITY_MOCK_ATTRIBUTE_BY_OBJECT__RESOURCE_ENUM, oldResourceEnum, resourceEnum));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EntityMockResourceAttribute getResourceAttribute() {
+		if (resourceAttribute != null && resourceAttribute.eIsProxy()) {
+			InternalEObject oldResourceAttribute = (InternalEObject)resourceAttribute;
+			resourceAttribute = (EntityMockResourceAttribute)eResolveProxy(oldResourceAttribute);
+			if (resourceAttribute != oldResourceAttribute) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, EntityMockDSLPackage.ENTITY_MOCK_ATTRIBUTE_BY_OBJECT__RESOURCE_ATTRIBUTE, oldResourceAttribute, resourceAttribute));
+			}
+		}
+		return resourceAttribute;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EntityMockResourceAttribute basicGetResourceAttribute() {
+		return resourceAttribute;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setResourceAttribute(EntityMockResourceAttribute newResourceAttribute) {
+		EntityMockResourceAttribute oldResourceAttribute = resourceAttribute;
+		resourceAttribute = newResourceAttribute;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.ENTITY_MOCK_ATTRIBUTE_BY_OBJECT__RESOURCE_ATTRIBUTE, oldResourceAttribute, resourceAttribute));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_ATTRIBUTE_BY_OBJECT__REFERENCE:
+				return basicSetReference(null, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_ATTRIBUTE_BY_OBJECT__ATTRIBUTE_REF:
+				if (resolve) return getAttributeRef();
+				return basicGetAttributeRef();
+			case EntityMockDSLPackage.ENTITY_MOCK_ATTRIBUTE_BY_OBJECT__REFERENCE:
+				return getReference();
+			case EntityMockDSLPackage.ENTITY_MOCK_ATTRIBUTE_BY_OBJECT__RESOURCE_ENUM:
+				if (resolve) return getResourceEnum();
+				return basicGetResourceEnum();
+			case EntityMockDSLPackage.ENTITY_MOCK_ATTRIBUTE_BY_OBJECT__RESOURCE_ATTRIBUTE:
+				if (resolve) return getResourceAttribute();
+				return basicGetResourceAttribute();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_ATTRIBUTE_BY_OBJECT__ATTRIBUTE_REF:
+				setAttributeRef((LEntityAttribute)newValue);
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_ATTRIBUTE_BY_OBJECT__REFERENCE:
+				setReference((EntityMockReferencedObjectAttribute)newValue);
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_ATTRIBUTE_BY_OBJECT__RESOURCE_ENUM:
+				setResourceEnum((EntityMockObjectEnum)newValue);
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_ATTRIBUTE_BY_OBJECT__RESOURCE_ATTRIBUTE:
+				setResourceAttribute((EntityMockResourceAttribute)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_ATTRIBUTE_BY_OBJECT__ATTRIBUTE_REF:
+				setAttributeRef((LEntityAttribute)null);
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_ATTRIBUTE_BY_OBJECT__REFERENCE:
+				setReference((EntityMockReferencedObjectAttribute)null);
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_ATTRIBUTE_BY_OBJECT__RESOURCE_ENUM:
+				setResourceEnum((EntityMockObjectEnum)null);
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_ATTRIBUTE_BY_OBJECT__RESOURCE_ATTRIBUTE:
+				setResourceAttribute((EntityMockResourceAttribute)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_ATTRIBUTE_BY_OBJECT__ATTRIBUTE_REF:
+				return attributeRef != null;
+			case EntityMockDSLPackage.ENTITY_MOCK_ATTRIBUTE_BY_OBJECT__REFERENCE:
+				return reference != null;
+			case EntityMockDSLPackage.ENTITY_MOCK_ATTRIBUTE_BY_OBJECT__RESOURCE_ENUM:
+				return resourceEnum != null;
+			case EntityMockDSLPackage.ENTITY_MOCK_ATTRIBUTE_BY_OBJECT__RESOURCE_ATTRIBUTE:
+				return resourceAttribute != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //EntityMockAttributeByObjectImpl
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockAttributeByReferenceImpl.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockAttributeByReferenceImpl.java
new file mode 100644
index 0000000..432b69f
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockAttributeByReferenceImpl.java
@@ -0,0 +1,297 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.osbp.dsl.semantic.entity.LEntityReference;
+
+import org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByReference;
+import org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage;
+import org.eclipse.osbp.xtext.entitymock.EntityMockEntity;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Entity Mock Attribute By Reference</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockAttributeByReferenceImpl#getAttributeRef <em>Attribute Ref</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockAttributeByReferenceImpl#getMockedEntity <em>Mocked Entity</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockAttributeByReferenceImpl#getOptionalFor <em>Optional For</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class EntityMockAttributeByReferenceImpl extends IEntityMockAttributeImpl implements EntityMockAttributeByReference {
+	/**
+	 * The cached value of the '{@link #getAttributeRef() <em>Attribute Ref</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getAttributeRef()
+	 * @generated
+	 * @ordered
+	 */
+	protected LEntityReference attributeRef;
+
+	/**
+	 * The cached value of the '{@link #getMockedEntity() <em>Mocked Entity</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMockedEntity()
+	 * @generated
+	 * @ordered
+	 */
+	protected EntityMockEntity mockedEntity;
+
+	/**
+	 * The default value of the '{@link #getOptionalFor() <em>Optional For</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getOptionalFor()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int OPTIONAL_FOR_EDEFAULT = 0;
+
+	/**
+	 * The cached value of the '{@link #getOptionalFor() <em>Optional For</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getOptionalFor()
+	 * @generated
+	 * @ordered
+	 */
+	protected int optionalFor = OPTIONAL_FOR_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EntityMockAttributeByReferenceImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return EntityMockDSLPackage.Literals.ENTITY_MOCK_ATTRIBUTE_BY_REFERENCE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public LEntityReference getAttributeRef() {
+		if (attributeRef != null && attributeRef.eIsProxy()) {
+			InternalEObject oldAttributeRef = (InternalEObject)attributeRef;
+			attributeRef = (LEntityReference)eResolveProxy(oldAttributeRef);
+			if (attributeRef != oldAttributeRef) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, EntityMockDSLPackage.ENTITY_MOCK_ATTRIBUTE_BY_REFERENCE__ATTRIBUTE_REF, oldAttributeRef, attributeRef));
+			}
+		}
+		return attributeRef;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public LEntityReference basicGetAttributeRef() {
+		return attributeRef;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setAttributeRef(LEntityReference newAttributeRef) {
+		LEntityReference oldAttributeRef = attributeRef;
+		attributeRef = newAttributeRef;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.ENTITY_MOCK_ATTRIBUTE_BY_REFERENCE__ATTRIBUTE_REF, oldAttributeRef, attributeRef));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EntityMockEntity getMockedEntity() {
+		if (mockedEntity != null && mockedEntity.eIsProxy()) {
+			InternalEObject oldMockedEntity = (InternalEObject)mockedEntity;
+			mockedEntity = (EntityMockEntity)eResolveProxy(oldMockedEntity);
+			if (mockedEntity != oldMockedEntity) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, EntityMockDSLPackage.ENTITY_MOCK_ATTRIBUTE_BY_REFERENCE__MOCKED_ENTITY, oldMockedEntity, mockedEntity));
+			}
+		}
+		return mockedEntity;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EntityMockEntity basicGetMockedEntity() {
+		return mockedEntity;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setMockedEntity(EntityMockEntity newMockedEntity) {
+		EntityMockEntity oldMockedEntity = mockedEntity;
+		mockedEntity = newMockedEntity;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.ENTITY_MOCK_ATTRIBUTE_BY_REFERENCE__MOCKED_ENTITY, oldMockedEntity, mockedEntity));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getOptionalFor() {
+		return optionalFor;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setOptionalFor(int newOptionalFor) {
+		int oldOptionalFor = optionalFor;
+		optionalFor = newOptionalFor;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.ENTITY_MOCK_ATTRIBUTE_BY_REFERENCE__OPTIONAL_FOR, oldOptionalFor, optionalFor));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_ATTRIBUTE_BY_REFERENCE__ATTRIBUTE_REF:
+				if (resolve) return getAttributeRef();
+				return basicGetAttributeRef();
+			case EntityMockDSLPackage.ENTITY_MOCK_ATTRIBUTE_BY_REFERENCE__MOCKED_ENTITY:
+				if (resolve) return getMockedEntity();
+				return basicGetMockedEntity();
+			case EntityMockDSLPackage.ENTITY_MOCK_ATTRIBUTE_BY_REFERENCE__OPTIONAL_FOR:
+				return getOptionalFor();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_ATTRIBUTE_BY_REFERENCE__ATTRIBUTE_REF:
+				setAttributeRef((LEntityReference)newValue);
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_ATTRIBUTE_BY_REFERENCE__MOCKED_ENTITY:
+				setMockedEntity((EntityMockEntity)newValue);
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_ATTRIBUTE_BY_REFERENCE__OPTIONAL_FOR:
+				setOptionalFor((Integer)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_ATTRIBUTE_BY_REFERENCE__ATTRIBUTE_REF:
+				setAttributeRef((LEntityReference)null);
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_ATTRIBUTE_BY_REFERENCE__MOCKED_ENTITY:
+				setMockedEntity((EntityMockEntity)null);
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_ATTRIBUTE_BY_REFERENCE__OPTIONAL_FOR:
+				setOptionalFor(OPTIONAL_FOR_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_ATTRIBUTE_BY_REFERENCE__ATTRIBUTE_REF:
+				return attributeRef != null;
+			case EntityMockDSLPackage.ENTITY_MOCK_ATTRIBUTE_BY_REFERENCE__MOCKED_ENTITY:
+				return mockedEntity != null;
+			case EntityMockDSLPackage.ENTITY_MOCK_ATTRIBUTE_BY_REFERENCE__OPTIONAL_FOR:
+				return optionalFor != OPTIONAL_FOR_EDEFAULT;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (optionalFor: ");
+		result.append(optionalFor);
+		result.append(')');
+		return result.toString();
+	}
+
+} //EntityMockAttributeByReferenceImpl
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockAttributeFillerImpl.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockAttributeFillerImpl.java
new file mode 100644
index 0000000..75d0701
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockAttributeFillerImpl.java
@@ -0,0 +1,248 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.osbp.dsl.semantic.entity.LEntityAttribute;
+
+import org.eclipse.osbp.xtext.entitymock.EntityMockAttributeFiller;
+import org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerType;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Entity Mock Attribute Filler</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockAttributeFillerImpl#getAttributeRef <em>Attribute Ref</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockAttributeFillerImpl#getFillerType <em>Filler Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class EntityMockAttributeFillerImpl extends IEntityMockAttributeImpl implements EntityMockAttributeFiller {
+	/**
+	 * The cached value of the '{@link #getAttributeRef() <em>Attribute Ref</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getAttributeRef()
+	 * @generated
+	 * @ordered
+	 */
+	protected LEntityAttribute attributeRef;
+
+	/**
+	 * The cached value of the '{@link #getFillerType() <em>Filler Type</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getFillerType()
+	 * @generated
+	 * @ordered
+	 */
+	protected PropertyFillerType fillerType;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EntityMockAttributeFillerImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return EntityMockDSLPackage.Literals.ENTITY_MOCK_ATTRIBUTE_FILLER;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public LEntityAttribute getAttributeRef() {
+		if (attributeRef != null && attributeRef.eIsProxy()) {
+			InternalEObject oldAttributeRef = (InternalEObject)attributeRef;
+			attributeRef = (LEntityAttribute)eResolveProxy(oldAttributeRef);
+			if (attributeRef != oldAttributeRef) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, EntityMockDSLPackage.ENTITY_MOCK_ATTRIBUTE_FILLER__ATTRIBUTE_REF, oldAttributeRef, attributeRef));
+			}
+		}
+		return attributeRef;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public LEntityAttribute basicGetAttributeRef() {
+		return attributeRef;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setAttributeRef(LEntityAttribute newAttributeRef) {
+		LEntityAttribute oldAttributeRef = attributeRef;
+		attributeRef = newAttributeRef;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.ENTITY_MOCK_ATTRIBUTE_FILLER__ATTRIBUTE_REF, oldAttributeRef, attributeRef));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public PropertyFillerType getFillerType() {
+		return fillerType;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetFillerType(PropertyFillerType newFillerType, NotificationChain msgs) {
+		PropertyFillerType oldFillerType = fillerType;
+		fillerType = newFillerType;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.ENTITY_MOCK_ATTRIBUTE_FILLER__FILLER_TYPE, oldFillerType, newFillerType);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setFillerType(PropertyFillerType newFillerType) {
+		if (newFillerType != fillerType) {
+			NotificationChain msgs = null;
+			if (fillerType != null)
+				msgs = ((InternalEObject)fillerType).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - EntityMockDSLPackage.ENTITY_MOCK_ATTRIBUTE_FILLER__FILLER_TYPE, null, msgs);
+			if (newFillerType != null)
+				msgs = ((InternalEObject)newFillerType).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EntityMockDSLPackage.ENTITY_MOCK_ATTRIBUTE_FILLER__FILLER_TYPE, null, msgs);
+			msgs = basicSetFillerType(newFillerType, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.ENTITY_MOCK_ATTRIBUTE_FILLER__FILLER_TYPE, newFillerType, newFillerType));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_ATTRIBUTE_FILLER__FILLER_TYPE:
+				return basicSetFillerType(null, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_ATTRIBUTE_FILLER__ATTRIBUTE_REF:
+				if (resolve) return getAttributeRef();
+				return basicGetAttributeRef();
+			case EntityMockDSLPackage.ENTITY_MOCK_ATTRIBUTE_FILLER__FILLER_TYPE:
+				return getFillerType();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_ATTRIBUTE_FILLER__ATTRIBUTE_REF:
+				setAttributeRef((LEntityAttribute)newValue);
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_ATTRIBUTE_FILLER__FILLER_TYPE:
+				setFillerType((PropertyFillerType)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_ATTRIBUTE_FILLER__ATTRIBUTE_REF:
+				setAttributeRef((LEntityAttribute)null);
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_ATTRIBUTE_FILLER__FILLER_TYPE:
+				setFillerType((PropertyFillerType)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_ATTRIBUTE_FILLER__ATTRIBUTE_REF:
+				return attributeRef != null;
+			case EntityMockDSLPackage.ENTITY_MOCK_ATTRIBUTE_FILLER__FILLER_TYPE:
+				return fillerType != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //EntityMockAttributeFillerImpl
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockByResourceAttributeImpl.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockByResourceAttributeImpl.java
new file mode 100644
index 0000000..7ec3015
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockByResourceAttributeImpl.java
@@ -0,0 +1,230 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.osbp.dsl.semantic.entity.LEntityAttribute;
+
+import org.eclipse.osbp.xtext.entitymock.EntityMockByResourceAttribute;
+import org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage;
+import org.eclipse.osbp.xtext.entitymock.EntityMockResourceAttribute;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Entity Mock By Resource Attribute</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockByResourceAttributeImpl#getAttributeRef <em>Attribute Ref</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockByResourceAttributeImpl#getResourceAttribute <em>Resource Attribute</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class EntityMockByResourceAttributeImpl extends MinimalEObjectImpl.Container implements EntityMockByResourceAttribute {
+	/**
+	 * The cached value of the '{@link #getAttributeRef() <em>Attribute Ref</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getAttributeRef()
+	 * @generated
+	 * @ordered
+	 */
+	protected LEntityAttribute attributeRef;
+
+	/**
+	 * The cached value of the '{@link #getResourceAttribute() <em>Resource Attribute</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getResourceAttribute()
+	 * @generated
+	 * @ordered
+	 */
+	protected EntityMockResourceAttribute resourceAttribute;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EntityMockByResourceAttributeImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return EntityMockDSLPackage.Literals.ENTITY_MOCK_BY_RESOURCE_ATTRIBUTE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public LEntityAttribute getAttributeRef() {
+		if (attributeRef != null && attributeRef.eIsProxy()) {
+			InternalEObject oldAttributeRef = (InternalEObject)attributeRef;
+			attributeRef = (LEntityAttribute)eResolveProxy(oldAttributeRef);
+			if (attributeRef != oldAttributeRef) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, EntityMockDSLPackage.ENTITY_MOCK_BY_RESOURCE_ATTRIBUTE__ATTRIBUTE_REF, oldAttributeRef, attributeRef));
+			}
+		}
+		return attributeRef;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public LEntityAttribute basicGetAttributeRef() {
+		return attributeRef;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setAttributeRef(LEntityAttribute newAttributeRef) {
+		LEntityAttribute oldAttributeRef = attributeRef;
+		attributeRef = newAttributeRef;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.ENTITY_MOCK_BY_RESOURCE_ATTRIBUTE__ATTRIBUTE_REF, oldAttributeRef, attributeRef));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EntityMockResourceAttribute getResourceAttribute() {
+		if (resourceAttribute != null && resourceAttribute.eIsProxy()) {
+			InternalEObject oldResourceAttribute = (InternalEObject)resourceAttribute;
+			resourceAttribute = (EntityMockResourceAttribute)eResolveProxy(oldResourceAttribute);
+			if (resourceAttribute != oldResourceAttribute) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, EntityMockDSLPackage.ENTITY_MOCK_BY_RESOURCE_ATTRIBUTE__RESOURCE_ATTRIBUTE, oldResourceAttribute, resourceAttribute));
+			}
+		}
+		return resourceAttribute;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EntityMockResourceAttribute basicGetResourceAttribute() {
+		return resourceAttribute;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setResourceAttribute(EntityMockResourceAttribute newResourceAttribute) {
+		EntityMockResourceAttribute oldResourceAttribute = resourceAttribute;
+		resourceAttribute = newResourceAttribute;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.ENTITY_MOCK_BY_RESOURCE_ATTRIBUTE__RESOURCE_ATTRIBUTE, oldResourceAttribute, resourceAttribute));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_BY_RESOURCE_ATTRIBUTE__ATTRIBUTE_REF:
+				if (resolve) return getAttributeRef();
+				return basicGetAttributeRef();
+			case EntityMockDSLPackage.ENTITY_MOCK_BY_RESOURCE_ATTRIBUTE__RESOURCE_ATTRIBUTE:
+				if (resolve) return getResourceAttribute();
+				return basicGetResourceAttribute();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_BY_RESOURCE_ATTRIBUTE__ATTRIBUTE_REF:
+				setAttributeRef((LEntityAttribute)newValue);
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_BY_RESOURCE_ATTRIBUTE__RESOURCE_ATTRIBUTE:
+				setResourceAttribute((EntityMockResourceAttribute)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_BY_RESOURCE_ATTRIBUTE__ATTRIBUTE_REF:
+				setAttributeRef((LEntityAttribute)null);
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_BY_RESOURCE_ATTRIBUTE__RESOURCE_ATTRIBUTE:
+				setResourceAttribute((EntityMockResourceAttribute)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_BY_RESOURCE_ATTRIBUTE__ATTRIBUTE_REF:
+				return attributeRef != null;
+			case EntityMockDSLPackage.ENTITY_MOCK_BY_RESOURCE_ATTRIBUTE__RESOURCE_ATTRIBUTE:
+				return resourceAttribute != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //EntityMockByResourceAttributeImpl
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockDSLFactoryImpl.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockDSLFactoryImpl.java
new file mode 100644
index 0000000..d15db23
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockDSLFactoryImpl.java
@@ -0,0 +1,840 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.osbp.xtext.entitymock.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class EntityMockDSLFactoryImpl extends EFactoryImpl implements EntityMockDSLFactory {
+	/**
+	 * Creates the default factory implementation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static EntityMockDSLFactory init() {
+		try {
+			EntityMockDSLFactory theEntityMockDSLFactory = (EntityMockDSLFactory)EPackage.Registry.INSTANCE.getEFactory(EntityMockDSLPackage.eNS_URI);
+			if (theEntityMockDSLFactory != null) {
+				return theEntityMockDSLFactory;
+			}
+		}
+		catch (Exception exception) {
+			EcorePlugin.INSTANCE.log(exception);
+		}
+		return new EntityMockDSLFactoryImpl();
+	}
+
+	/**
+	 * Creates an instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EntityMockDSLFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EObject create(EClass eClass) {
+		switch (eClass.getClassifierID()) {
+			case EntityMockDSLPackage.ENTITY_MOCK_MODEL: return createEntityMockModel();
+			case EntityMockDSLPackage.ENTITY_MOCK_PACKAGE: return createEntityMockPackage();
+			case EntityMockDSLPackage.RUNNING_DATA_INTERCHANGES: return createRunningDataInterchanges();
+			case EntityMockDSLPackage.RUNNING_DATA_INTERCHANGE: return createRunningDataInterchange();
+			case EntityMockDSLPackage.ENTITY_MOCK_LAZY_RESOLVER: return createEntityMockLazyResolver();
+			case EntityMockDSLPackage.ENTITY_MOCK_RESOURCES: return createEntityMockResources();
+			case EntityMockDSLPackage.ENTITY_MOCK_RESOURCE: return createEntityMockResource();
+			case EntityMockDSLPackage.ENTITY_MOCK_RESOURCE_ATTRIBUTE: return createEntityMockResourceAttribute();
+			case EntityMockDSLPackage.ENTITY_MOCK_RESOURCE_DATA_ROW: return createEntityMockResourceDataRow();
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECTS: return createEntityMockObjects();
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT: return createEntityMockObject();
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_ENUM: return createEntityMockObjectEnum();
+			case EntityMockDSLPackage.IENTITY_MOCK_OBJECT_ATTRIBUTE: return createIEntityMockObjectAttribute();
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_PLAIN_VALUE: return createEntityMockObjectPlainValue();
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_RESOURCE_VALUE: return createEntityMockObjectResourceValue();
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_ARRAY_VALUE: return createEntityMockObjectArrayValue();
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_ITEM_VALUE: return createEntityMockObjectItemValue();
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_EMBED: return createEntityMockObjectEmbed();
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_FUNCTION: return createEntityMockObjectFunction();
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_FUNCTION_PARAMETER: return createEntityMockObjectFunctionParameter();
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_FILL: return createEntityMockObjectFill();
+			case EntityMockDSLPackage.PROPERTY_FILLER_TYPE: return createPropertyFillerType();
+			case EntityMockDSLPackage.PROPERTY_FILLER_DATE_TYPE: return createPropertyFillerDateType();
+			case EntityMockDSLPackage.PROPERTY_FILLER_BOOLEAN: return createPropertyFillerBoolean();
+			case EntityMockDSLPackage.PROPERTY_FILLER_DOUBLE_TYPE: return createPropertyFillerDoubleType();
+			case EntityMockDSLPackage.PROPERTY_FILLER_INTEGER_TYPE: return createPropertyFillerIntegerType();
+			case EntityMockDSLPackage.PROPERTY_FILLER_TEXT_TYPE: return createPropertyFillerTextType();
+			case EntityMockDSLPackage.PROPERTY_FILLER_DATE_FUTURE: return createPropertyFillerDateFuture();
+			case EntityMockDSLPackage.PROPERTY_FILLER_DATE_PAST: return createPropertyFillerDatePast();
+			case EntityMockDSLPackage.PROPERTY_FILLER_DATE_RANGE: return createPropertyFillerDateRange();
+			case EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_DOUBLE_RANGE: return createPropertyFillerSignedDoubleRange();
+			case EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_DOUBLE_RANDOM: return createPropertyFillerSignedDoubleRandom();
+			case EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_INTEGER_RANGE: return createPropertyFillerSignedIntegerRange();
+			case EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_INTEGER_RANDOM: return createPropertyFillerSignedIntegerRandom();
+			case EntityMockDSLPackage.PROPERTY_FILLER_TEXT_RANDOM: return createPropertyFillerTextRandom();
+			case EntityMockDSLPackage.PROPERTY_FILLER_TEXT_PARAGRAPHS: return createPropertyFillerTextParagraphs();
+			case EntityMockDSLPackage.PROPERTY_FILLER_TEXT_SENTENCES: return createPropertyFillerTextSentences();
+			case EntityMockDSLPackage.PROPERTY_FILLER_TEXT_WORDS: return createPropertyFillerTextWords();
+			case EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_DOUBLE_RANGE: return createPropertyFillerUnsignedDoubleRange();
+			case EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_DOUBLE_RANDOM: return createPropertyFillerUnsignedDoubleRandom();
+			case EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_INTEGER_RANGE: return createPropertyFillerUnsignedIntegerRange();
+			case EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_INTEGER_RANDOM: return createPropertyFillerUnsignedIntegerRandom();
+			case EntityMockDSLPackage.ENTITY_MOCK_DATA_TYPES: return createEntityMockDataTypes();
+			case EntityMockDSLPackage.ENTITY_MOCK_DATA_TYPE: return createEntityMockDataType();
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITIES: return createEntityMockEntities();
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY: return createEntityMockEntity();
+			case EntityMockDSLPackage.IITERATE: return createIIterate();
+			case EntityMockDSLPackage.INTEGER_ITERATE: return createIntegerIterate();
+			case EntityMockDSLPackage.DATE_ITERATE: return createDateIterate();
+			case EntityMockDSLPackage.DATE: return createDate();
+			case EntityMockDSLPackage.ENTITY_MOCK_BY_RESOURCE_ATTRIBUTE: return createEntityMockByResourceAttribute();
+			case EntityMockDSLPackage.ENTITY_MOCK_TEMPORARY: return createEntityMockTemporary();
+			case EntityMockDSLPackage.IENTITY_MOCK_OBJECT_USABLE: return createIEntityMockObjectUsable();
+			case EntityMockDSLPackage.IENTITY_MOCK_ENTITY_USABLE: return createIEntityMockEntityUsable();
+			case EntityMockDSLPackage.IENTITY_MOCK_ATTRIBUTE: return createIEntityMockAttribute();
+			case EntityMockDSLPackage.ENTITY_MOCK_REFERENCED_OBJECT_ATTRIBUTE: return createEntityMockReferencedObjectAttribute();
+			case EntityMockDSLPackage.ENTITY_MOCK_ATTRIBUTE_BY_OBJECT: return createEntityMockAttributeByObject();
+			case EntityMockDSLPackage.ENTITY_MOCK_ATTRIBUTE_FILLER: return createEntityMockAttributeFiller();
+			case EntityMockDSLPackage.ENTITY_MOCK_ATTRIBUTE_BY_REFERENCE: return createEntityMockAttributeByReference();
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY_FUNCTION: return createEntityMockEntityFunction();
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY_FUNCTION_PARAMETER: return createEntityMockEntityFunctionParameter();
+			default:
+				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object createFromString(EDataType eDataType, String initialValue) {
+		switch (eDataType.getClassifierID()) {
+			case EntityMockDSLPackage.EDATE_STEP_TYPE:
+				return createEDateStepTypeFromString(eDataType, initialValue);
+			case EntityMockDSLPackage.INTERNAL_EOBJECT:
+				return createInternalEObjectFromString(eDataType, initialValue);
+			default:
+				throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String convertToString(EDataType eDataType, Object instanceValue) {
+		switch (eDataType.getClassifierID()) {
+			case EntityMockDSLPackage.EDATE_STEP_TYPE:
+				return convertEDateStepTypeToString(eDataType, instanceValue);
+			case EntityMockDSLPackage.INTERNAL_EOBJECT:
+				return convertInternalEObjectToString(eDataType, instanceValue);
+			default:
+				throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EntityMockModel createEntityMockModel() {
+		EntityMockModelImpl entityMockModel = new EntityMockModelImpl();
+		return entityMockModel;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EntityMockPackage createEntityMockPackage() {
+		EntityMockPackageImpl entityMockPackage = new EntityMockPackageImpl();
+		return entityMockPackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public RunningDataInterchanges createRunningDataInterchanges() {
+		RunningDataInterchangesImpl runningDataInterchanges = new RunningDataInterchangesImpl();
+		return runningDataInterchanges;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public RunningDataInterchange createRunningDataInterchange() {
+		RunningDataInterchangeImpl runningDataInterchange = new RunningDataInterchangeImpl();
+		return runningDataInterchange;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EntityMockLazyResolver createEntityMockLazyResolver() {
+		EntityMockLazyResolverImpl entityMockLazyResolver = new EntityMockLazyResolverImpl();
+		return entityMockLazyResolver;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EntityMockResources createEntityMockResources() {
+		EntityMockResourcesImpl entityMockResources = new EntityMockResourcesImpl();
+		return entityMockResources;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EntityMockResource createEntityMockResource() {
+		EntityMockResourceImpl entityMockResource = new EntityMockResourceImpl();
+		return entityMockResource;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EntityMockResourceAttribute createEntityMockResourceAttribute() {
+		EntityMockResourceAttributeImpl entityMockResourceAttribute = new EntityMockResourceAttributeImpl();
+		return entityMockResourceAttribute;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EntityMockResourceDataRow createEntityMockResourceDataRow() {
+		EntityMockResourceDataRowImpl entityMockResourceDataRow = new EntityMockResourceDataRowImpl();
+		return entityMockResourceDataRow;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EntityMockObjects createEntityMockObjects() {
+		EntityMockObjectsImpl entityMockObjects = new EntityMockObjectsImpl();
+		return entityMockObjects;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EntityMockObject createEntityMockObject() {
+		EntityMockObjectImpl entityMockObject = new EntityMockObjectImpl();
+		return entityMockObject;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EntityMockObjectEnum createEntityMockObjectEnum() {
+		EntityMockObjectEnumImpl entityMockObjectEnum = new EntityMockObjectEnumImpl();
+		return entityMockObjectEnum;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IEntityMockObjectAttribute createIEntityMockObjectAttribute() {
+		IEntityMockObjectAttributeImpl iEntityMockObjectAttribute = new IEntityMockObjectAttributeImpl();
+		return iEntityMockObjectAttribute;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EntityMockObjectPlainValue createEntityMockObjectPlainValue() {
+		EntityMockObjectPlainValueImpl entityMockObjectPlainValue = new EntityMockObjectPlainValueImpl();
+		return entityMockObjectPlainValue;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EntityMockObjectResourceValue createEntityMockObjectResourceValue() {
+		EntityMockObjectResourceValueImpl entityMockObjectResourceValue = new EntityMockObjectResourceValueImpl();
+		return entityMockObjectResourceValue;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EntityMockObjectArrayValue createEntityMockObjectArrayValue() {
+		EntityMockObjectArrayValueImpl entityMockObjectArrayValue = new EntityMockObjectArrayValueImpl();
+		return entityMockObjectArrayValue;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EntityMockObjectItemValue createEntityMockObjectItemValue() {
+		EntityMockObjectItemValueImpl entityMockObjectItemValue = new EntityMockObjectItemValueImpl();
+		return entityMockObjectItemValue;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EntityMockObjectEmbed createEntityMockObjectEmbed() {
+		EntityMockObjectEmbedImpl entityMockObjectEmbed = new EntityMockObjectEmbedImpl();
+		return entityMockObjectEmbed;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EntityMockObjectFunction createEntityMockObjectFunction() {
+		EntityMockObjectFunctionImpl entityMockObjectFunction = new EntityMockObjectFunctionImpl();
+		return entityMockObjectFunction;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EntityMockObjectFunctionParameter createEntityMockObjectFunctionParameter() {
+		EntityMockObjectFunctionParameterImpl entityMockObjectFunctionParameter = new EntityMockObjectFunctionParameterImpl();
+		return entityMockObjectFunctionParameter;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EntityMockObjectFill createEntityMockObjectFill() {
+		EntityMockObjectFillImpl entityMockObjectFill = new EntityMockObjectFillImpl();
+		return entityMockObjectFill;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public PropertyFillerType createPropertyFillerType() {
+		PropertyFillerTypeImpl propertyFillerType = new PropertyFillerTypeImpl();
+		return propertyFillerType;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public PropertyFillerDateType createPropertyFillerDateType() {
+		PropertyFillerDateTypeImpl propertyFillerDateType = new PropertyFillerDateTypeImpl();
+		return propertyFillerDateType;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public PropertyFillerBoolean createPropertyFillerBoolean() {
+		PropertyFillerBooleanImpl propertyFillerBoolean = new PropertyFillerBooleanImpl();
+		return propertyFillerBoolean;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public PropertyFillerDoubleType createPropertyFillerDoubleType() {
+		PropertyFillerDoubleTypeImpl propertyFillerDoubleType = new PropertyFillerDoubleTypeImpl();
+		return propertyFillerDoubleType;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public PropertyFillerIntegerType createPropertyFillerIntegerType() {
+		PropertyFillerIntegerTypeImpl propertyFillerIntegerType = new PropertyFillerIntegerTypeImpl();
+		return propertyFillerIntegerType;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public PropertyFillerTextType createPropertyFillerTextType() {
+		PropertyFillerTextTypeImpl propertyFillerTextType = new PropertyFillerTextTypeImpl();
+		return propertyFillerTextType;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public PropertyFillerDateFuture createPropertyFillerDateFuture() {
+		PropertyFillerDateFutureImpl propertyFillerDateFuture = new PropertyFillerDateFutureImpl();
+		return propertyFillerDateFuture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public PropertyFillerDatePast createPropertyFillerDatePast() {
+		PropertyFillerDatePastImpl propertyFillerDatePast = new PropertyFillerDatePastImpl();
+		return propertyFillerDatePast;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public PropertyFillerDateRange createPropertyFillerDateRange() {
+		PropertyFillerDateRangeImpl propertyFillerDateRange = new PropertyFillerDateRangeImpl();
+		return propertyFillerDateRange;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public PropertyFillerSignedDoubleRange createPropertyFillerSignedDoubleRange() {
+		PropertyFillerSignedDoubleRangeImpl propertyFillerSignedDoubleRange = new PropertyFillerSignedDoubleRangeImpl();
+		return propertyFillerSignedDoubleRange;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public PropertyFillerSignedDoubleRandom createPropertyFillerSignedDoubleRandom() {
+		PropertyFillerSignedDoubleRandomImpl propertyFillerSignedDoubleRandom = new PropertyFillerSignedDoubleRandomImpl();
+		return propertyFillerSignedDoubleRandom;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public PropertyFillerSignedIntegerRange createPropertyFillerSignedIntegerRange() {
+		PropertyFillerSignedIntegerRangeImpl propertyFillerSignedIntegerRange = new PropertyFillerSignedIntegerRangeImpl();
+		return propertyFillerSignedIntegerRange;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public PropertyFillerSignedIntegerRandom createPropertyFillerSignedIntegerRandom() {
+		PropertyFillerSignedIntegerRandomImpl propertyFillerSignedIntegerRandom = new PropertyFillerSignedIntegerRandomImpl();
+		return propertyFillerSignedIntegerRandom;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public PropertyFillerTextRandom createPropertyFillerTextRandom() {
+		PropertyFillerTextRandomImpl propertyFillerTextRandom = new PropertyFillerTextRandomImpl();
+		return propertyFillerTextRandom;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public PropertyFillerTextParagraphs createPropertyFillerTextParagraphs() {
+		PropertyFillerTextParagraphsImpl propertyFillerTextParagraphs = new PropertyFillerTextParagraphsImpl();
+		return propertyFillerTextParagraphs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public PropertyFillerTextSentences createPropertyFillerTextSentences() {
+		PropertyFillerTextSentencesImpl propertyFillerTextSentences = new PropertyFillerTextSentencesImpl();
+		return propertyFillerTextSentences;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public PropertyFillerTextWords createPropertyFillerTextWords() {
+		PropertyFillerTextWordsImpl propertyFillerTextWords = new PropertyFillerTextWordsImpl();
+		return propertyFillerTextWords;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public PropertyFillerUnsignedDoubleRange createPropertyFillerUnsignedDoubleRange() {
+		PropertyFillerUnsignedDoubleRangeImpl propertyFillerUnsignedDoubleRange = new PropertyFillerUnsignedDoubleRangeImpl();
+		return propertyFillerUnsignedDoubleRange;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public PropertyFillerUnsignedDoubleRandom createPropertyFillerUnsignedDoubleRandom() {
+		PropertyFillerUnsignedDoubleRandomImpl propertyFillerUnsignedDoubleRandom = new PropertyFillerUnsignedDoubleRandomImpl();
+		return propertyFillerUnsignedDoubleRandom;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public PropertyFillerUnsignedIntegerRange createPropertyFillerUnsignedIntegerRange() {
+		PropertyFillerUnsignedIntegerRangeImpl propertyFillerUnsignedIntegerRange = new PropertyFillerUnsignedIntegerRangeImpl();
+		return propertyFillerUnsignedIntegerRange;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public PropertyFillerUnsignedIntegerRandom createPropertyFillerUnsignedIntegerRandom() {
+		PropertyFillerUnsignedIntegerRandomImpl propertyFillerUnsignedIntegerRandom = new PropertyFillerUnsignedIntegerRandomImpl();
+		return propertyFillerUnsignedIntegerRandom;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EntityMockDataTypes createEntityMockDataTypes() {
+		EntityMockDataTypesImpl entityMockDataTypes = new EntityMockDataTypesImpl();
+		return entityMockDataTypes;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EntityMockDataType createEntityMockDataType() {
+		EntityMockDataTypeImpl entityMockDataType = new EntityMockDataTypeImpl();
+		return entityMockDataType;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EntityMockEntities createEntityMockEntities() {
+		EntityMockEntitiesImpl entityMockEntities = new EntityMockEntitiesImpl();
+		return entityMockEntities;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EntityMockEntity createEntityMockEntity() {
+		EntityMockEntityImpl entityMockEntity = new EntityMockEntityImpl();
+		return entityMockEntity;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IIterate createIIterate() {
+		IIterateImpl iIterate = new IIterateImpl();
+		return iIterate;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IntegerIterate createIntegerIterate() {
+		IntegerIterateImpl integerIterate = new IntegerIterateImpl();
+		return integerIterate;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DateIterate createDateIterate() {
+		DateIterateImpl dateIterate = new DateIterateImpl();
+		return dateIterate;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Date createDate() {
+		DateImpl date = new DateImpl();
+		return date;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EntityMockByResourceAttribute createEntityMockByResourceAttribute() {
+		EntityMockByResourceAttributeImpl entityMockByResourceAttribute = new EntityMockByResourceAttributeImpl();
+		return entityMockByResourceAttribute;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EntityMockTemporary createEntityMockTemporary() {
+		EntityMockTemporaryImpl entityMockTemporary = new EntityMockTemporaryImpl();
+		return entityMockTemporary;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IEntityMockObjectUsable createIEntityMockObjectUsable() {
+		IEntityMockObjectUsableImpl iEntityMockObjectUsable = new IEntityMockObjectUsableImpl();
+		return iEntityMockObjectUsable;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IEntityMockEntityUsable createIEntityMockEntityUsable() {
+		IEntityMockEntityUsableImpl iEntityMockEntityUsable = new IEntityMockEntityUsableImpl();
+		return iEntityMockEntityUsable;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IEntityMockAttribute createIEntityMockAttribute() {
+		IEntityMockAttributeImpl iEntityMockAttribute = new IEntityMockAttributeImpl();
+		return iEntityMockAttribute;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EntityMockReferencedObjectAttribute createEntityMockReferencedObjectAttribute() {
+		EntityMockReferencedObjectAttributeImpl entityMockReferencedObjectAttribute = new EntityMockReferencedObjectAttributeImpl();
+		return entityMockReferencedObjectAttribute;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EntityMockAttributeByObject createEntityMockAttributeByObject() {
+		EntityMockAttributeByObjectImpl entityMockAttributeByObject = new EntityMockAttributeByObjectImpl();
+		return entityMockAttributeByObject;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EntityMockAttributeFiller createEntityMockAttributeFiller() {
+		EntityMockAttributeFillerImpl entityMockAttributeFiller = new EntityMockAttributeFillerImpl();
+		return entityMockAttributeFiller;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EntityMockAttributeByReference createEntityMockAttributeByReference() {
+		EntityMockAttributeByReferenceImpl entityMockAttributeByReference = new EntityMockAttributeByReferenceImpl();
+		return entityMockAttributeByReference;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EntityMockEntityFunction createEntityMockEntityFunction() {
+		EntityMockEntityFunctionImpl entityMockEntityFunction = new EntityMockEntityFunctionImpl();
+		return entityMockEntityFunction;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EntityMockEntityFunctionParameter createEntityMockEntityFunctionParameter() {
+		EntityMockEntityFunctionParameterImpl entityMockEntityFunctionParameter = new EntityMockEntityFunctionParameterImpl();
+		return entityMockEntityFunctionParameter;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EDateStepType createEDateStepTypeFromString(EDataType eDataType, String initialValue) {
+		EDateStepType result = EDateStepType.get(initialValue);
+		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+		return result;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String convertEDateStepTypeToString(EDataType eDataType, Object instanceValue) {
+		return instanceValue == null ? null : instanceValue.toString();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public InternalEObject createInternalEObjectFromString(EDataType eDataType, String initialValue) {
+		return (InternalEObject)super.createFromString(eDataType, initialValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String convertInternalEObjectToString(EDataType eDataType, Object instanceValue) {
+		return super.convertToString(eDataType, instanceValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EntityMockDSLPackage getEntityMockDSLPackage() {
+		return (EntityMockDSLPackage)getEPackage();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @deprecated
+	 * @generated
+	 */
+	@Deprecated
+	public static EntityMockDSLPackage getPackage() {
+		return EntityMockDSLPackage.eINSTANCE;
+	}
+
+} //EntityMockDSLFactoryImpl
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockDSLPackageImpl.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockDSLPackageImpl.java
new file mode 100644
index 0000000..c9c5c21
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockDSLPackageImpl.java
@@ -0,0 +1,2940 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.osbp.dsl.semantic.common.types.OSBPTypesPackage;
+
+import org.eclipse.osbp.dsl.semantic.entity.OSBPEntityPackage;
+
+import org.eclipse.osbp.xtext.datainterchange.DataDSLPackage;
+
+import org.eclipse.osbp.xtext.entitymock.Date;
+import org.eclipse.osbp.xtext.entitymock.DateIterate;
+import org.eclipse.osbp.xtext.entitymock.EDateStepType;
+import org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByObject;
+import org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByReference;
+import org.eclipse.osbp.xtext.entitymock.EntityMockAttributeFiller;
+import org.eclipse.osbp.xtext.entitymock.EntityMockByResourceAttribute;
+import org.eclipse.osbp.xtext.entitymock.EntityMockDSLFactory;
+import org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage;
+import org.eclipse.osbp.xtext.entitymock.EntityMockDataType;
+import org.eclipse.osbp.xtext.entitymock.EntityMockDataTypes;
+import org.eclipse.osbp.xtext.entitymock.EntityMockEntities;
+import org.eclipse.osbp.xtext.entitymock.EntityMockEntity;
+import org.eclipse.osbp.xtext.entitymock.EntityMockEntityFunction;
+import org.eclipse.osbp.xtext.entitymock.EntityMockEntityFunctionParameter;
+import org.eclipse.osbp.xtext.entitymock.EntityMockLazyResolver;
+import org.eclipse.osbp.xtext.entitymock.EntityMockModel;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObject;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectArrayValue;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectEmbed;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectEnum;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectFill;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectFunction;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectFunctionParameter;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectItemValue;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectPlainValue;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectResourceValue;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjects;
+import org.eclipse.osbp.xtext.entitymock.EntityMockPackage;
+import org.eclipse.osbp.xtext.entitymock.EntityMockReferencedObjectAttribute;
+import org.eclipse.osbp.xtext.entitymock.EntityMockResource;
+import org.eclipse.osbp.xtext.entitymock.EntityMockResourceAttribute;
+import org.eclipse.osbp.xtext.entitymock.EntityMockResourceDataRow;
+import org.eclipse.osbp.xtext.entitymock.EntityMockResources;
+import org.eclipse.osbp.xtext.entitymock.EntityMockTemporary;
+import org.eclipse.osbp.xtext.entitymock.IEntityMockAttribute;
+import org.eclipse.osbp.xtext.entitymock.IEntityMockEntityUsable;
+import org.eclipse.osbp.xtext.entitymock.IEntityMockObjectAttribute;
+import org.eclipse.osbp.xtext.entitymock.IEntityMockObjectUsable;
+import org.eclipse.osbp.xtext.entitymock.IIterate;
+import org.eclipse.osbp.xtext.entitymock.IntegerIterate;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerBoolean;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerDateFuture;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerDatePast;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerDateRange;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerDateType;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerDoubleType;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerIntegerType;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedDoubleRandom;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedDoubleRange;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedIntegerRandom;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedIntegerRange;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerTextParagraphs;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerTextRandom;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerTextSentences;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerTextType;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerTextWords;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerType;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedDoubleRandom;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedDoubleRange;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedIntegerRandom;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedIntegerRange;
+import org.eclipse.osbp.xtext.entitymock.RunningDataInterchange;
+import org.eclipse.osbp.xtext.entitymock.RunningDataInterchanges;
+
+import org.eclipse.xtext.common.types.TypesPackage;
+
+import org.eclipse.xtext.xbase.XbasePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class EntityMockDSLPackageImpl extends EPackageImpl implements EntityMockDSLPackage {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass entityMockModelEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass entityMockPackageEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass runningDataInterchangesEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass runningDataInterchangeEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass entityMockLazyResolverEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass entityMockResourcesEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass entityMockResourceEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass entityMockResourceAttributeEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass entityMockResourceDataRowEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass entityMockObjectsEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass entityMockObjectEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass entityMockObjectEnumEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass iEntityMockObjectAttributeEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass entityMockObjectPlainValueEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass entityMockObjectResourceValueEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass entityMockObjectArrayValueEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass entityMockObjectItemValueEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass entityMockObjectEmbedEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass entityMockObjectFunctionEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass entityMockObjectFunctionParameterEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass entityMockObjectFillEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass propertyFillerTypeEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass propertyFillerDateTypeEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass propertyFillerBooleanEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass propertyFillerDoubleTypeEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass propertyFillerIntegerTypeEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass propertyFillerTextTypeEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass propertyFillerDateFutureEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass propertyFillerDatePastEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass propertyFillerDateRangeEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass propertyFillerSignedDoubleRangeEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass propertyFillerSignedDoubleRandomEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass propertyFillerSignedIntegerRangeEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass propertyFillerSignedIntegerRandomEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass propertyFillerTextRandomEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass propertyFillerTextParagraphsEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass propertyFillerTextSentencesEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass propertyFillerTextWordsEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass propertyFillerUnsignedDoubleRangeEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass propertyFillerUnsignedDoubleRandomEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass propertyFillerUnsignedIntegerRangeEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass propertyFillerUnsignedIntegerRandomEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass entityMockDataTypesEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass entityMockDataTypeEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass entityMockEntitiesEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass entityMockEntityEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass iIterateEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass integerIterateEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass dateIterateEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass dateEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass entityMockByResourceAttributeEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass entityMockTemporaryEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass iEntityMockObjectUsableEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass iEntityMockEntityUsableEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass iEntityMockAttributeEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass entityMockReferencedObjectAttributeEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass entityMockAttributeByObjectEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass entityMockAttributeFillerEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass entityMockAttributeByReferenceEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass entityMockEntityFunctionEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass entityMockEntityFunctionParameterEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EEnum eDateStepTypeEEnum = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EDataType internalEObjectEDataType = null;
+
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with
+	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+	 * package URI value.
+	 * <p>Note: the correct way to create the package is via the static
+	 * factory method {@link #init init()}, which also performs
+	 * initialization of the package, or returns the registered package,
+	 * if one already exists.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private EntityMockDSLPackageImpl() {
+		super(eNS_URI, EntityMockDSLFactory.eINSTANCE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+	 * 
+	 * <p>This method is used to initialize {@link EntityMockDSLPackage#eINSTANCE} when that field is accessed.
+	 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #eNS_URI
+	 * @see #createPackageContents()
+	 * @see #initializePackageContents()
+	 * @generated
+	 */
+	public static EntityMockDSLPackage init() {
+		if (isInited) return (EntityMockDSLPackage)EPackage.Registry.INSTANCE.getEPackage(EntityMockDSLPackage.eNS_URI);
+
+		// Obtain or create and register package
+		EntityMockDSLPackageImpl theEntityMockDSLPackage = (EntityMockDSLPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof EntityMockDSLPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new EntityMockDSLPackageImpl());
+
+		isInited = true;
+
+		// Initialize simple dependencies
+		DataDSLPackage.eINSTANCE.eClass();
+
+		// Create package meta-data objects
+		theEntityMockDSLPackage.createPackageContents();
+
+		// Initialize created meta-data
+		theEntityMockDSLPackage.initializePackageContents();
+
+		// Mark meta-data to indicate it can't be changed
+		theEntityMockDSLPackage.freeze();
+
+  
+		// Update the registry and return the package
+		EPackage.Registry.INSTANCE.put(EntityMockDSLPackage.eNS_URI, theEntityMockDSLPackage);
+		return theEntityMockDSLPackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getEntityMockModel() {
+		return entityMockModelEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getEntityMockModel_Packages() {
+		return (EReference)entityMockModelEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getEntityMockPackage() {
+		return entityMockPackageEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getEntityMockPackage_RunPriority() {
+		return (EAttribute)entityMockPackageEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getEntityMockPackage_Datainterchanges() {
+		return (EReference)entityMockPackageEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getEntityMockPackage_Resources() {
+		return (EReference)entityMockPackageEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getEntityMockPackage_Objects() {
+		return (EReference)entityMockPackageEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getEntityMockPackage_Datatypes() {
+		return (EReference)entityMockPackageEClass.getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getEntityMockPackage_Entities() {
+		return (EReference)entityMockPackageEClass.getEStructuralFeatures().get(5);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getRunningDataInterchanges() {
+		return runningDataInterchangesEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getRunningDataInterchanges_Datainterchanges() {
+		return (EReference)runningDataInterchangesEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getRunningDataInterchange() {
+		return runningDataInterchangeEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getRunningDataInterchange_DatainterchangeRef() {
+		return (EReference)runningDataInterchangeEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getRunningDataInterchange_FileURL() {
+		return (EAttribute)runningDataInterchangeEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getEntityMockLazyResolver() {
+		return entityMockLazyResolverEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EOperation getEntityMockLazyResolver__EResolveProxy__InternalEObject() {
+		return entityMockLazyResolverEClass.getEOperations().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getEntityMockResources() {
+		return entityMockResourcesEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getEntityMockResources_Resources() {
+		return (EReference)entityMockResourcesEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getEntityMockResource() {
+		return entityMockResourceEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getEntityMockResource_Attributes() {
+		return (EReference)entityMockResourceEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getEntityMockResource_Datarows() {
+		return (EReference)entityMockResourceEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getEntityMockResourceAttribute() {
+		return entityMockResourceAttributeEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getEntityMockResourceDataRow() {
+		return entityMockResourceDataRowEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getEntityMockResourceDataRow_Values() {
+		return (EAttribute)entityMockResourceDataRowEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getEntityMockObjects() {
+		return entityMockObjectsEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getEntityMockObjects_Objects() {
+		return (EReference)entityMockObjectsEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getEntityMockObject() {
+		return entityMockObjectEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getEntityMockObject_Name() {
+		return (EAttribute)entityMockObjectEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getEntityMockObject_Enumerations() {
+		return (EReference)entityMockObjectEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getEntityMockObject_Attributes() {
+		return (EReference)entityMockObjectEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getEntityMockObject_Calculations() {
+		return (EReference)entityMockObjectEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getEntityMockObjectEnum() {
+		return entityMockObjectEnumEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getEntityMockObjectEnum_Name() {
+		return (EAttribute)entityMockObjectEnumEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getEntityMockObjectEnum_UsingResource() {
+		return (EReference)entityMockObjectEnumEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getIEntityMockObjectAttribute() {
+		return iEntityMockObjectAttributeEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getIEntityMockObjectAttribute_Name() {
+		return (EAttribute)iEntityMockObjectAttributeEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getEntityMockObjectPlainValue() {
+		return entityMockObjectPlainValueEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getEntityMockObjectPlainValue_Values() {
+		return (EAttribute)entityMockObjectPlainValueEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getEntityMockObjectResourceValue() {
+		return entityMockObjectResourceValueEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getEntityMockObjectResourceValue_ResourceEnum() {
+		return (EReference)entityMockObjectResourceValueEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getEntityMockObjectResourceValue_ResourceAttribute() {
+		return (EReference)entityMockObjectResourceValueEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getEntityMockObjectArrayValue() {
+		return entityMockObjectArrayValueEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getEntityMockObjectArrayValue_Enumeration() {
+		return (EReference)entityMockObjectArrayValueEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getEntityMockObjectArrayValue_Items() {
+		return (EReference)entityMockObjectArrayValueEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getEntityMockObjectItemValue() {
+		return entityMockObjectItemValueEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getEntityMockObjectItemValue_Datarow() {
+		return (EReference)entityMockObjectItemValueEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getEntityMockObjectItemValue_Values() {
+		return (EAttribute)entityMockObjectItemValueEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getEntityMockObjectEmbed() {
+		return entityMockObjectEmbedEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getEntityMockObjectEmbed_Object() {
+		return (EReference)entityMockObjectEmbedEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getEntityMockObjectFunction() {
+		return entityMockObjectFunctionEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getEntityMockObjectFunction_Oftype() {
+		return (EReference)entityMockObjectFunctionEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getEntityMockObjectFunction_Params() {
+		return (EReference)entityMockObjectFunctionEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getEntityMockObjectFunction_Body() {
+		return (EReference)entityMockObjectFunctionEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getEntityMockObjectFunctionParameter() {
+		return entityMockObjectFunctionParameterEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getEntityMockObjectFunctionParameter_ParameterType() {
+		return (EReference)entityMockObjectFunctionParameterEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getEntityMockObjectFunctionParameter_Name() {
+		return (EReference)entityMockObjectFunctionParameterEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getEntityMockObjectFill() {
+		return entityMockObjectFillEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getEntityMockObjectFill_FillerType() {
+		return (EReference)entityMockObjectFillEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getPropertyFillerType() {
+		return propertyFillerTypeEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getPropertyFillerDateType() {
+		return propertyFillerDateTypeEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getPropertyFillerBoolean() {
+		return propertyFillerBooleanEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getPropertyFillerDoubleType() {
+		return propertyFillerDoubleTypeEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getPropertyFillerIntegerType() {
+		return propertyFillerIntegerTypeEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getPropertyFillerTextType() {
+		return propertyFillerTextTypeEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getPropertyFillerDateFuture() {
+		return propertyFillerDateFutureEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getPropertyFillerDateFuture_DateFutureYears() {
+		return (EAttribute)propertyFillerDateFutureEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getPropertyFillerDatePast() {
+		return propertyFillerDatePastEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getPropertyFillerDatePast_DatePastYears() {
+		return (EAttribute)propertyFillerDatePastEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getPropertyFillerDateRange() {
+		return propertyFillerDateRangeEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getPropertyFillerDateRange_DateBeginYears() {
+		return (EAttribute)propertyFillerDateRangeEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getPropertyFillerDateRange_DateEndYears() {
+		return (EAttribute)propertyFillerDateRangeEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getPropertyFillerSignedDoubleRange() {
+		return propertyFillerSignedDoubleRangeEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getPropertyFillerSignedDoubleRange_Decimals() {
+		return (EAttribute)propertyFillerSignedDoubleRangeEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getPropertyFillerSignedDoubleRange_BeginRange() {
+		return (EAttribute)propertyFillerSignedDoubleRangeEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getPropertyFillerSignedDoubleRange_EndRange() {
+		return (EAttribute)propertyFillerSignedDoubleRangeEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getPropertyFillerSignedDoubleRange_BeginRangeRef() {
+		return (EReference)propertyFillerSignedDoubleRangeEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getPropertyFillerSignedDoubleRange_EndRangeRef() {
+		return (EReference)propertyFillerSignedDoubleRangeEClass.getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getPropertyFillerSignedDoubleRange_Rounded() {
+		return (EAttribute)propertyFillerSignedDoubleRangeEClass.getEStructuralFeatures().get(5);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getPropertyFillerSignedDoubleRandom() {
+		return propertyFillerSignedDoubleRandomEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getPropertyFillerSignedDoubleRandom_Items() {
+		return (EAttribute)propertyFillerSignedDoubleRandomEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getPropertyFillerSignedIntegerRange() {
+		return propertyFillerSignedIntegerRangeEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getPropertyFillerSignedIntegerRange_BeginRange() {
+		return (EAttribute)propertyFillerSignedIntegerRangeEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getPropertyFillerSignedIntegerRange_EndRange() {
+		return (EAttribute)propertyFillerSignedIntegerRangeEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getPropertyFillerSignedIntegerRange_BeginRangeRef() {
+		return (EReference)propertyFillerSignedIntegerRangeEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getPropertyFillerSignedIntegerRange_EndRangeRef() {
+		return (EReference)propertyFillerSignedIntegerRangeEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getPropertyFillerSignedIntegerRange_Rounded() {
+		return (EAttribute)propertyFillerSignedIntegerRangeEClass.getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getPropertyFillerSignedIntegerRandom() {
+		return propertyFillerSignedIntegerRandomEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getPropertyFillerSignedIntegerRandom_Items() {
+		return (EAttribute)propertyFillerSignedIntegerRandomEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getPropertyFillerTextRandom() {
+		return propertyFillerTextRandomEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getPropertyFillerTextRandom_Items() {
+		return (EAttribute)propertyFillerTextRandomEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getPropertyFillerTextParagraphs() {
+		return propertyFillerTextParagraphsEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getPropertyFillerTextParagraphs_Count() {
+		return (EAttribute)propertyFillerTextParagraphsEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getPropertyFillerTextSentences() {
+		return propertyFillerTextSentencesEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getPropertyFillerTextSentences_Count() {
+		return (EAttribute)propertyFillerTextSentencesEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getPropertyFillerTextWords() {
+		return propertyFillerTextWordsEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getPropertyFillerTextWords_Count() {
+		return (EAttribute)propertyFillerTextWordsEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getPropertyFillerUnsignedDoubleRange() {
+		return propertyFillerUnsignedDoubleRangeEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getPropertyFillerUnsignedDoubleRange_Decimals() {
+		return (EAttribute)propertyFillerUnsignedDoubleRangeEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getPropertyFillerUnsignedDoubleRange_BeginRange() {
+		return (EAttribute)propertyFillerUnsignedDoubleRangeEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getPropertyFillerUnsignedDoubleRange_EndRange() {
+		return (EAttribute)propertyFillerUnsignedDoubleRangeEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getPropertyFillerUnsignedDoubleRange_BeginRangeRef() {
+		return (EReference)propertyFillerUnsignedDoubleRangeEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getPropertyFillerUnsignedDoubleRange_EndRangeRef() {
+		return (EReference)propertyFillerUnsignedDoubleRangeEClass.getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getPropertyFillerUnsignedDoubleRange_Rounded() {
+		return (EAttribute)propertyFillerUnsignedDoubleRangeEClass.getEStructuralFeatures().get(5);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getPropertyFillerUnsignedDoubleRandom() {
+		return propertyFillerUnsignedDoubleRandomEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getPropertyFillerUnsignedDoubleRandom_Items() {
+		return (EAttribute)propertyFillerUnsignedDoubleRandomEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getPropertyFillerUnsignedIntegerRange() {
+		return propertyFillerUnsignedIntegerRangeEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getPropertyFillerUnsignedIntegerRange_BeginRange() {
+		return (EAttribute)propertyFillerUnsignedIntegerRangeEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getPropertyFillerUnsignedIntegerRange_EndRange() {
+		return (EAttribute)propertyFillerUnsignedIntegerRangeEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getPropertyFillerUnsignedIntegerRange_BeginRangeRef() {
+		return (EReference)propertyFillerUnsignedIntegerRangeEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getPropertyFillerUnsignedIntegerRange_EndRangeRef() {
+		return (EReference)propertyFillerUnsignedIntegerRangeEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getPropertyFillerUnsignedIntegerRange_Rounded() {
+		return (EAttribute)propertyFillerUnsignedIntegerRangeEClass.getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getPropertyFillerUnsignedIntegerRandom() {
+		return propertyFillerUnsignedIntegerRandomEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getPropertyFillerUnsignedIntegerRandom_Items() {
+		return (EAttribute)propertyFillerUnsignedIntegerRandomEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getEntityMockDataTypes() {
+		return entityMockDataTypesEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getEntityMockDataTypes_Datatypes() {
+		return (EReference)entityMockDataTypesEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getEntityMockDataType() {
+		return entityMockDataTypeEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getEntityMockDataType_Name() {
+		return (EAttribute)entityMockDataTypeEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getEntityMockEntities() {
+		return entityMockEntitiesEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getEntityMockEntities_Entities() {
+		return (EReference)entityMockEntitiesEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getEntityMockEntity() {
+		return entityMockEntityEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getEntityMockEntity_Name() {
+		return (EAttribute)entityMockEntityEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getEntityMockEntity_EntityRef() {
+		return (EReference)entityMockEntityEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getEntityMockEntity_MinRows() {
+		return (EAttribute)entityMockEntityEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getEntityMockEntity_MaxRows() {
+		return (EAttribute)entityMockEntityEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getEntityMockEntity_Iterate() {
+		return (EReference)entityMockEntityEClass.getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getEntityMockEntity_Iterator() {
+		return (EReference)entityMockEntityEClass.getEStructuralFeatures().get(5);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getEntityMockEntity_Temporaries() {
+		return (EReference)entityMockEntityEClass.getEStructuralFeatures().get(6);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getEntityMockEntity_Attributes() {
+		return (EReference)entityMockEntityEClass.getEStructuralFeatures().get(7);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getEntityMockEntity_Calculations() {
+		return (EReference)entityMockEntityEClass.getEStructuralFeatures().get(8);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getEntityMockEntity_ByResource() {
+		return (EReference)entityMockEntityEClass.getEStructuralFeatures().get(9);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getEntityMockEntity_ByResourceAttributes() {
+		return (EReference)entityMockEntityEClass.getEStructuralFeatures().get(10);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getEntityMockEntity_CreateBlobMapping() {
+		return (EAttribute)entityMockEntityEClass.getEStructuralFeatures().get(11);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getIIterate() {
+		return iIterateEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getIntegerIterate() {
+		return integerIterateEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getIntegerIterate_From() {
+		return (EAttribute)integerIterateEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getIntegerIterate_Until() {
+		return (EAttribute)integerIterateEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getIntegerIterate_Step() {
+		return (EAttribute)integerIterateEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getDateIterate() {
+		return dateIterateEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getDateIterate_From() {
+		return (EReference)dateIterateEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getDateIterate_Until() {
+		return (EReference)dateIterateEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getDateIterate_StepCount() {
+		return (EAttribute)dateIterateEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getDateIterate_StepType() {
+		return (EAttribute)dateIterateEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getDate() {
+		return dateEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getDate_Yesterday() {
+		return (EAttribute)dateEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getDate_Today() {
+		return (EAttribute)dateEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getDate_Tomorrow() {
+		return (EAttribute)dateEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getDate_OffsetCount() {
+		return (EAttribute)dateEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getDate_OffsetType() {
+		return (EAttribute)dateEClass.getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getDate_Year() {
+		return (EAttribute)dateEClass.getEStructuralFeatures().get(5);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getDate_Month() {
+		return (EAttribute)dateEClass.getEStructuralFeatures().get(6);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getDate_Day() {
+		return (EAttribute)dateEClass.getEStructuralFeatures().get(7);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getEntityMockByResourceAttribute() {
+		return entityMockByResourceAttributeEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getEntityMockByResourceAttribute_AttributeRef() {
+		return (EReference)entityMockByResourceAttributeEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getEntityMockByResourceAttribute_ResourceAttribute() {
+		return (EReference)entityMockByResourceAttributeEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getEntityMockTemporary() {
+		return entityMockTemporaryEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getEntityMockTemporary_Name() {
+		return (EAttribute)entityMockTemporaryEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getEntityMockTemporary_Object() {
+		return (EReference)entityMockTemporaryEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getIEntityMockObjectUsable() {
+		return iEntityMockObjectUsableEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getIEntityMockEntityUsable() {
+		return iEntityMockEntityUsableEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getIEntityMockAttribute() {
+		return iEntityMockAttributeEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getEntityMockReferencedObjectAttribute() {
+		return entityMockReferencedObjectAttributeEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getEntityMockReferencedObjectAttribute_Temporary() {
+		return (EReference)entityMockReferencedObjectAttributeEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getEntityMockReferencedObjectAttribute_Embedded() {
+		return (EReference)entityMockReferencedObjectAttributeEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getEntityMockReferencedObjectAttribute_Attribute() {
+		return (EReference)entityMockReferencedObjectAttributeEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getEntityMockAttributeByObject() {
+		return entityMockAttributeByObjectEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getEntityMockAttributeByObject_AttributeRef() {
+		return (EReference)entityMockAttributeByObjectEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getEntityMockAttributeByObject_Reference() {
+		return (EReference)entityMockAttributeByObjectEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getEntityMockAttributeByObject_ResourceEnum() {
+		return (EReference)entityMockAttributeByObjectEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getEntityMockAttributeByObject_ResourceAttribute() {
+		return (EReference)entityMockAttributeByObjectEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getEntityMockAttributeFiller() {
+		return entityMockAttributeFillerEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getEntityMockAttributeFiller_AttributeRef() {
+		return (EReference)entityMockAttributeFillerEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getEntityMockAttributeFiller_FillerType() {
+		return (EReference)entityMockAttributeFillerEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getEntityMockAttributeByReference() {
+		return entityMockAttributeByReferenceEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getEntityMockAttributeByReference_AttributeRef() {
+		return (EReference)entityMockAttributeByReferenceEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getEntityMockAttributeByReference_MockedEntity() {
+		return (EReference)entityMockAttributeByReferenceEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getEntityMockAttributeByReference_OptionalFor() {
+		return (EAttribute)entityMockAttributeByReferenceEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getEntityMockEntityFunction() {
+		return entityMockEntityFunctionEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getEntityMockEntityFunction_AttributeRef() {
+		return (EReference)entityMockEntityFunctionEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getEntityMockEntityFunction_Params() {
+		return (EReference)entityMockEntityFunctionEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getEntityMockEntityFunction_Body() {
+		return (EReference)entityMockEntityFunctionEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getEntityMockEntityFunctionParameter() {
+		return entityMockEntityFunctionParameterEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getEntityMockEntityFunctionParameter_AttributeRef() {
+		return (EReference)entityMockEntityFunctionParameterEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getEntityMockEntityFunctionParameter_ReferencePaths() {
+		return (EReference)entityMockEntityFunctionParameterEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getEntityMockEntityFunctionParameter_ReferenceRef() {
+		return (EReference)entityMockEntityFunctionParameterEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EEnum getEDateStepType() {
+		return eDateStepTypeEEnum;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EDataType getInternalEObject() {
+		return internalEObjectEDataType;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EntityMockDSLFactory getEntityMockDSLFactory() {
+		return (EntityMockDSLFactory)getEFactoryInstance();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isCreated = false;
+
+	/**
+	 * Creates the meta-model objects for the package.  This method is
+	 * guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void createPackageContents() {
+		if (isCreated) return;
+		isCreated = true;
+
+		// Create classes and their features
+		entityMockModelEClass = createEClass(ENTITY_MOCK_MODEL);
+		createEReference(entityMockModelEClass, ENTITY_MOCK_MODEL__PACKAGES);
+
+		entityMockPackageEClass = createEClass(ENTITY_MOCK_PACKAGE);
+		createEAttribute(entityMockPackageEClass, ENTITY_MOCK_PACKAGE__RUN_PRIORITY);
+		createEReference(entityMockPackageEClass, ENTITY_MOCK_PACKAGE__DATAINTERCHANGES);
+		createEReference(entityMockPackageEClass, ENTITY_MOCK_PACKAGE__RESOURCES);
+		createEReference(entityMockPackageEClass, ENTITY_MOCK_PACKAGE__OBJECTS);
+		createEReference(entityMockPackageEClass, ENTITY_MOCK_PACKAGE__DATATYPES);
+		createEReference(entityMockPackageEClass, ENTITY_MOCK_PACKAGE__ENTITIES);
+
+		runningDataInterchangesEClass = createEClass(RUNNING_DATA_INTERCHANGES);
+		createEReference(runningDataInterchangesEClass, RUNNING_DATA_INTERCHANGES__DATAINTERCHANGES);
+
+		runningDataInterchangeEClass = createEClass(RUNNING_DATA_INTERCHANGE);
+		createEReference(runningDataInterchangeEClass, RUNNING_DATA_INTERCHANGE__DATAINTERCHANGE_REF);
+		createEAttribute(runningDataInterchangeEClass, RUNNING_DATA_INTERCHANGE__FILE_URL);
+
+		entityMockLazyResolverEClass = createEClass(ENTITY_MOCK_LAZY_RESOLVER);
+		createEOperation(entityMockLazyResolverEClass, ENTITY_MOCK_LAZY_RESOLVER___ERESOLVE_PROXY__INTERNALEOBJECT);
+
+		entityMockResourcesEClass = createEClass(ENTITY_MOCK_RESOURCES);
+		createEReference(entityMockResourcesEClass, ENTITY_MOCK_RESOURCES__RESOURCES);
+
+		entityMockResourceEClass = createEClass(ENTITY_MOCK_RESOURCE);
+		createEReference(entityMockResourceEClass, ENTITY_MOCK_RESOURCE__ATTRIBUTES);
+		createEReference(entityMockResourceEClass, ENTITY_MOCK_RESOURCE__DATAROWS);
+
+		entityMockResourceAttributeEClass = createEClass(ENTITY_MOCK_RESOURCE_ATTRIBUTE);
+
+		entityMockResourceDataRowEClass = createEClass(ENTITY_MOCK_RESOURCE_DATA_ROW);
+		createEAttribute(entityMockResourceDataRowEClass, ENTITY_MOCK_RESOURCE_DATA_ROW__VALUES);
+
+		entityMockObjectsEClass = createEClass(ENTITY_MOCK_OBJECTS);
+		createEReference(entityMockObjectsEClass, ENTITY_MOCK_OBJECTS__OBJECTS);
+
+		entityMockObjectEClass = createEClass(ENTITY_MOCK_OBJECT);
+		createEAttribute(entityMockObjectEClass, ENTITY_MOCK_OBJECT__NAME);
+		createEReference(entityMockObjectEClass, ENTITY_MOCK_OBJECT__ENUMERATIONS);
+		createEReference(entityMockObjectEClass, ENTITY_MOCK_OBJECT__ATTRIBUTES);
+		createEReference(entityMockObjectEClass, ENTITY_MOCK_OBJECT__CALCULATIONS);
+
+		entityMockObjectEnumEClass = createEClass(ENTITY_MOCK_OBJECT_ENUM);
+		createEAttribute(entityMockObjectEnumEClass, ENTITY_MOCK_OBJECT_ENUM__NAME);
+		createEReference(entityMockObjectEnumEClass, ENTITY_MOCK_OBJECT_ENUM__USING_RESOURCE);
+
+		iEntityMockObjectAttributeEClass = createEClass(IENTITY_MOCK_OBJECT_ATTRIBUTE);
+		createEAttribute(iEntityMockObjectAttributeEClass, IENTITY_MOCK_OBJECT_ATTRIBUTE__NAME);
+
+		entityMockObjectPlainValueEClass = createEClass(ENTITY_MOCK_OBJECT_PLAIN_VALUE);
+		createEAttribute(entityMockObjectPlainValueEClass, ENTITY_MOCK_OBJECT_PLAIN_VALUE__VALUES);
+
+		entityMockObjectResourceValueEClass = createEClass(ENTITY_MOCK_OBJECT_RESOURCE_VALUE);
+		createEReference(entityMockObjectResourceValueEClass, ENTITY_MOCK_OBJECT_RESOURCE_VALUE__RESOURCE_ENUM);
+		createEReference(entityMockObjectResourceValueEClass, ENTITY_MOCK_OBJECT_RESOURCE_VALUE__RESOURCE_ATTRIBUTE);
+
+		entityMockObjectArrayValueEClass = createEClass(ENTITY_MOCK_OBJECT_ARRAY_VALUE);
+		createEReference(entityMockObjectArrayValueEClass, ENTITY_MOCK_OBJECT_ARRAY_VALUE__ENUMERATION);
+		createEReference(entityMockObjectArrayValueEClass, ENTITY_MOCK_OBJECT_ARRAY_VALUE__ITEMS);
+
+		entityMockObjectItemValueEClass = createEClass(ENTITY_MOCK_OBJECT_ITEM_VALUE);
+		createEReference(entityMockObjectItemValueEClass, ENTITY_MOCK_OBJECT_ITEM_VALUE__DATAROW);
+		createEAttribute(entityMockObjectItemValueEClass, ENTITY_MOCK_OBJECT_ITEM_VALUE__VALUES);
+
+		entityMockObjectEmbedEClass = createEClass(ENTITY_MOCK_OBJECT_EMBED);
+		createEReference(entityMockObjectEmbedEClass, ENTITY_MOCK_OBJECT_EMBED__OBJECT);
+
+		entityMockObjectFunctionEClass = createEClass(ENTITY_MOCK_OBJECT_FUNCTION);
+		createEReference(entityMockObjectFunctionEClass, ENTITY_MOCK_OBJECT_FUNCTION__OFTYPE);
+		createEReference(entityMockObjectFunctionEClass, ENTITY_MOCK_OBJECT_FUNCTION__PARAMS);
+		createEReference(entityMockObjectFunctionEClass, ENTITY_MOCK_OBJECT_FUNCTION__BODY);
+
+		entityMockObjectFunctionParameterEClass = createEClass(ENTITY_MOCK_OBJECT_FUNCTION_PARAMETER);
+		createEReference(entityMockObjectFunctionParameterEClass, ENTITY_MOCK_OBJECT_FUNCTION_PARAMETER__PARAMETER_TYPE);
+		createEReference(entityMockObjectFunctionParameterEClass, ENTITY_MOCK_OBJECT_FUNCTION_PARAMETER__NAME);
+
+		entityMockObjectFillEClass = createEClass(ENTITY_MOCK_OBJECT_FILL);
+		createEReference(entityMockObjectFillEClass, ENTITY_MOCK_OBJECT_FILL__FILLER_TYPE);
+
+		propertyFillerTypeEClass = createEClass(PROPERTY_FILLER_TYPE);
+
+		propertyFillerDateTypeEClass = createEClass(PROPERTY_FILLER_DATE_TYPE);
+
+		propertyFillerBooleanEClass = createEClass(PROPERTY_FILLER_BOOLEAN);
+
+		propertyFillerDoubleTypeEClass = createEClass(PROPERTY_FILLER_DOUBLE_TYPE);
+
+		propertyFillerIntegerTypeEClass = createEClass(PROPERTY_FILLER_INTEGER_TYPE);
+
+		propertyFillerTextTypeEClass = createEClass(PROPERTY_FILLER_TEXT_TYPE);
+
+		propertyFillerDateFutureEClass = createEClass(PROPERTY_FILLER_DATE_FUTURE);
+		createEAttribute(propertyFillerDateFutureEClass, PROPERTY_FILLER_DATE_FUTURE__DATE_FUTURE_YEARS);
+
+		propertyFillerDatePastEClass = createEClass(PROPERTY_FILLER_DATE_PAST);
+		createEAttribute(propertyFillerDatePastEClass, PROPERTY_FILLER_DATE_PAST__DATE_PAST_YEARS);
+
+		propertyFillerDateRangeEClass = createEClass(PROPERTY_FILLER_DATE_RANGE);
+		createEAttribute(propertyFillerDateRangeEClass, PROPERTY_FILLER_DATE_RANGE__DATE_BEGIN_YEARS);
+		createEAttribute(propertyFillerDateRangeEClass, PROPERTY_FILLER_DATE_RANGE__DATE_END_YEARS);
+
+		propertyFillerSignedDoubleRangeEClass = createEClass(PROPERTY_FILLER_SIGNED_DOUBLE_RANGE);
+		createEAttribute(propertyFillerSignedDoubleRangeEClass, PROPERTY_FILLER_SIGNED_DOUBLE_RANGE__DECIMALS);
+		createEAttribute(propertyFillerSignedDoubleRangeEClass, PROPERTY_FILLER_SIGNED_DOUBLE_RANGE__BEGIN_RANGE);
+		createEAttribute(propertyFillerSignedDoubleRangeEClass, PROPERTY_FILLER_SIGNED_DOUBLE_RANGE__END_RANGE);
+		createEReference(propertyFillerSignedDoubleRangeEClass, PROPERTY_FILLER_SIGNED_DOUBLE_RANGE__BEGIN_RANGE_REF);
+		createEReference(propertyFillerSignedDoubleRangeEClass, PROPERTY_FILLER_SIGNED_DOUBLE_RANGE__END_RANGE_REF);
+		createEAttribute(propertyFillerSignedDoubleRangeEClass, PROPERTY_FILLER_SIGNED_DOUBLE_RANGE__ROUNDED);
+
+		propertyFillerSignedDoubleRandomEClass = createEClass(PROPERTY_FILLER_SIGNED_DOUBLE_RANDOM);
+		createEAttribute(propertyFillerSignedDoubleRandomEClass, PROPERTY_FILLER_SIGNED_DOUBLE_RANDOM__ITEMS);
+
+		propertyFillerSignedIntegerRangeEClass = createEClass(PROPERTY_FILLER_SIGNED_INTEGER_RANGE);
+		createEAttribute(propertyFillerSignedIntegerRangeEClass, PROPERTY_FILLER_SIGNED_INTEGER_RANGE__BEGIN_RANGE);
+		createEAttribute(propertyFillerSignedIntegerRangeEClass, PROPERTY_FILLER_SIGNED_INTEGER_RANGE__END_RANGE);
+		createEReference(propertyFillerSignedIntegerRangeEClass, PROPERTY_FILLER_SIGNED_INTEGER_RANGE__BEGIN_RANGE_REF);
+		createEReference(propertyFillerSignedIntegerRangeEClass, PROPERTY_FILLER_SIGNED_INTEGER_RANGE__END_RANGE_REF);
+		createEAttribute(propertyFillerSignedIntegerRangeEClass, PROPERTY_FILLER_SIGNED_INTEGER_RANGE__ROUNDED);
+
+		propertyFillerSignedIntegerRandomEClass = createEClass(PROPERTY_FILLER_SIGNED_INTEGER_RANDOM);
+		createEAttribute(propertyFillerSignedIntegerRandomEClass, PROPERTY_FILLER_SIGNED_INTEGER_RANDOM__ITEMS);
+
+		propertyFillerTextRandomEClass = createEClass(PROPERTY_FILLER_TEXT_RANDOM);
+		createEAttribute(propertyFillerTextRandomEClass, PROPERTY_FILLER_TEXT_RANDOM__ITEMS);
+
+		propertyFillerTextParagraphsEClass = createEClass(PROPERTY_FILLER_TEXT_PARAGRAPHS);
+		createEAttribute(propertyFillerTextParagraphsEClass, PROPERTY_FILLER_TEXT_PARAGRAPHS__COUNT);
+
+		propertyFillerTextSentencesEClass = createEClass(PROPERTY_FILLER_TEXT_SENTENCES);
+		createEAttribute(propertyFillerTextSentencesEClass, PROPERTY_FILLER_TEXT_SENTENCES__COUNT);
+
+		propertyFillerTextWordsEClass = createEClass(PROPERTY_FILLER_TEXT_WORDS);
+		createEAttribute(propertyFillerTextWordsEClass, PROPERTY_FILLER_TEXT_WORDS__COUNT);
+
+		propertyFillerUnsignedDoubleRangeEClass = createEClass(PROPERTY_FILLER_UNSIGNED_DOUBLE_RANGE);
+		createEAttribute(propertyFillerUnsignedDoubleRangeEClass, PROPERTY_FILLER_UNSIGNED_DOUBLE_RANGE__DECIMALS);
+		createEAttribute(propertyFillerUnsignedDoubleRangeEClass, PROPERTY_FILLER_UNSIGNED_DOUBLE_RANGE__BEGIN_RANGE);
+		createEAttribute(propertyFillerUnsignedDoubleRangeEClass, PROPERTY_FILLER_UNSIGNED_DOUBLE_RANGE__END_RANGE);
+		createEReference(propertyFillerUnsignedDoubleRangeEClass, PROPERTY_FILLER_UNSIGNED_DOUBLE_RANGE__BEGIN_RANGE_REF);
+		createEReference(propertyFillerUnsignedDoubleRangeEClass, PROPERTY_FILLER_UNSIGNED_DOUBLE_RANGE__END_RANGE_REF);
+		createEAttribute(propertyFillerUnsignedDoubleRangeEClass, PROPERTY_FILLER_UNSIGNED_DOUBLE_RANGE__ROUNDED);
+
+		propertyFillerUnsignedDoubleRandomEClass = createEClass(PROPERTY_FILLER_UNSIGNED_DOUBLE_RANDOM);
+		createEAttribute(propertyFillerUnsignedDoubleRandomEClass, PROPERTY_FILLER_UNSIGNED_DOUBLE_RANDOM__ITEMS);
+
+		propertyFillerUnsignedIntegerRangeEClass = createEClass(PROPERTY_FILLER_UNSIGNED_INTEGER_RANGE);
+		createEAttribute(propertyFillerUnsignedIntegerRangeEClass, PROPERTY_FILLER_UNSIGNED_INTEGER_RANGE__BEGIN_RANGE);
+		createEAttribute(propertyFillerUnsignedIntegerRangeEClass, PROPERTY_FILLER_UNSIGNED_INTEGER_RANGE__END_RANGE);
+		createEReference(propertyFillerUnsignedIntegerRangeEClass, PROPERTY_FILLER_UNSIGNED_INTEGER_RANGE__BEGIN_RANGE_REF);
+		createEReference(propertyFillerUnsignedIntegerRangeEClass, PROPERTY_FILLER_UNSIGNED_INTEGER_RANGE__END_RANGE_REF);
+		createEAttribute(propertyFillerUnsignedIntegerRangeEClass, PROPERTY_FILLER_UNSIGNED_INTEGER_RANGE__ROUNDED);
+
+		propertyFillerUnsignedIntegerRandomEClass = createEClass(PROPERTY_FILLER_UNSIGNED_INTEGER_RANDOM);
+		createEAttribute(propertyFillerUnsignedIntegerRandomEClass, PROPERTY_FILLER_UNSIGNED_INTEGER_RANDOM__ITEMS);
+
+		entityMockDataTypesEClass = createEClass(ENTITY_MOCK_DATA_TYPES);
+		createEReference(entityMockDataTypesEClass, ENTITY_MOCK_DATA_TYPES__DATATYPES);
+
+		entityMockDataTypeEClass = createEClass(ENTITY_MOCK_DATA_TYPE);
+		createEAttribute(entityMockDataTypeEClass, ENTITY_MOCK_DATA_TYPE__NAME);
+
+		entityMockEntitiesEClass = createEClass(ENTITY_MOCK_ENTITIES);
+		createEReference(entityMockEntitiesEClass, ENTITY_MOCK_ENTITIES__ENTITIES);
+
+		entityMockEntityEClass = createEClass(ENTITY_MOCK_ENTITY);
+		createEAttribute(entityMockEntityEClass, ENTITY_MOCK_ENTITY__NAME);
+		createEReference(entityMockEntityEClass, ENTITY_MOCK_ENTITY__ENTITY_REF);
+		createEAttribute(entityMockEntityEClass, ENTITY_MOCK_ENTITY__MIN_ROWS);
+		createEAttribute(entityMockEntityEClass, ENTITY_MOCK_ENTITY__MAX_ROWS);
+		createEReference(entityMockEntityEClass, ENTITY_MOCK_ENTITY__ITERATE);
+		createEReference(entityMockEntityEClass, ENTITY_MOCK_ENTITY__ITERATOR);
+		createEReference(entityMockEntityEClass, ENTITY_MOCK_ENTITY__TEMPORARIES);
+		createEReference(entityMockEntityEClass, ENTITY_MOCK_ENTITY__ATTRIBUTES);
+		createEReference(entityMockEntityEClass, ENTITY_MOCK_ENTITY__CALCULATIONS);
+		createEReference(entityMockEntityEClass, ENTITY_MOCK_ENTITY__BY_RESOURCE);
+		createEReference(entityMockEntityEClass, ENTITY_MOCK_ENTITY__BY_RESOURCE_ATTRIBUTES);
+		createEAttribute(entityMockEntityEClass, ENTITY_MOCK_ENTITY__CREATE_BLOB_MAPPING);
+
+		iIterateEClass = createEClass(IITERATE);
+
+		integerIterateEClass = createEClass(INTEGER_ITERATE);
+		createEAttribute(integerIterateEClass, INTEGER_ITERATE__FROM);
+		createEAttribute(integerIterateEClass, INTEGER_ITERATE__UNTIL);
+		createEAttribute(integerIterateEClass, INTEGER_ITERATE__STEP);
+
+		dateIterateEClass = createEClass(DATE_ITERATE);
+		createEReference(dateIterateEClass, DATE_ITERATE__FROM);
+		createEReference(dateIterateEClass, DATE_ITERATE__UNTIL);
+		createEAttribute(dateIterateEClass, DATE_ITERATE__STEP_COUNT);
+		createEAttribute(dateIterateEClass, DATE_ITERATE__STEP_TYPE);
+
+		dateEClass = createEClass(DATE);
+		createEAttribute(dateEClass, DATE__YESTERDAY);
+		createEAttribute(dateEClass, DATE__TODAY);
+		createEAttribute(dateEClass, DATE__TOMORROW);
+		createEAttribute(dateEClass, DATE__OFFSET_COUNT);
+		createEAttribute(dateEClass, DATE__OFFSET_TYPE);
+		createEAttribute(dateEClass, DATE__YEAR);
+		createEAttribute(dateEClass, DATE__MONTH);
+		createEAttribute(dateEClass, DATE__DAY);
+
+		entityMockByResourceAttributeEClass = createEClass(ENTITY_MOCK_BY_RESOURCE_ATTRIBUTE);
+		createEReference(entityMockByResourceAttributeEClass, ENTITY_MOCK_BY_RESOURCE_ATTRIBUTE__ATTRIBUTE_REF);
+		createEReference(entityMockByResourceAttributeEClass, ENTITY_MOCK_BY_RESOURCE_ATTRIBUTE__RESOURCE_ATTRIBUTE);
+
+		entityMockTemporaryEClass = createEClass(ENTITY_MOCK_TEMPORARY);
+		createEAttribute(entityMockTemporaryEClass, ENTITY_MOCK_TEMPORARY__NAME);
+		createEReference(entityMockTemporaryEClass, ENTITY_MOCK_TEMPORARY__OBJECT);
+
+		iEntityMockObjectUsableEClass = createEClass(IENTITY_MOCK_OBJECT_USABLE);
+
+		iEntityMockEntityUsableEClass = createEClass(IENTITY_MOCK_ENTITY_USABLE);
+
+		iEntityMockAttributeEClass = createEClass(IENTITY_MOCK_ATTRIBUTE);
+
+		entityMockReferencedObjectAttributeEClass = createEClass(ENTITY_MOCK_REFERENCED_OBJECT_ATTRIBUTE);
+		createEReference(entityMockReferencedObjectAttributeEClass, ENTITY_MOCK_REFERENCED_OBJECT_ATTRIBUTE__TEMPORARY);
+		createEReference(entityMockReferencedObjectAttributeEClass, ENTITY_MOCK_REFERENCED_OBJECT_ATTRIBUTE__EMBEDDED);
+		createEReference(entityMockReferencedObjectAttributeEClass, ENTITY_MOCK_REFERENCED_OBJECT_ATTRIBUTE__ATTRIBUTE);
+
+		entityMockAttributeByObjectEClass = createEClass(ENTITY_MOCK_ATTRIBUTE_BY_OBJECT);
+		createEReference(entityMockAttributeByObjectEClass, ENTITY_MOCK_ATTRIBUTE_BY_OBJECT__ATTRIBUTE_REF);
+		createEReference(entityMockAttributeByObjectEClass, ENTITY_MOCK_ATTRIBUTE_BY_OBJECT__REFERENCE);
+		createEReference(entityMockAttributeByObjectEClass, ENTITY_MOCK_ATTRIBUTE_BY_OBJECT__RESOURCE_ENUM);
+		createEReference(entityMockAttributeByObjectEClass, ENTITY_MOCK_ATTRIBUTE_BY_OBJECT__RESOURCE_ATTRIBUTE);
+
+		entityMockAttributeFillerEClass = createEClass(ENTITY_MOCK_ATTRIBUTE_FILLER);
+		createEReference(entityMockAttributeFillerEClass, ENTITY_MOCK_ATTRIBUTE_FILLER__ATTRIBUTE_REF);
+		createEReference(entityMockAttributeFillerEClass, ENTITY_MOCK_ATTRIBUTE_FILLER__FILLER_TYPE);
+
+		entityMockAttributeByReferenceEClass = createEClass(ENTITY_MOCK_ATTRIBUTE_BY_REFERENCE);
+		createEReference(entityMockAttributeByReferenceEClass, ENTITY_MOCK_ATTRIBUTE_BY_REFERENCE__ATTRIBUTE_REF);
+		createEReference(entityMockAttributeByReferenceEClass, ENTITY_MOCK_ATTRIBUTE_BY_REFERENCE__MOCKED_ENTITY);
+		createEAttribute(entityMockAttributeByReferenceEClass, ENTITY_MOCK_ATTRIBUTE_BY_REFERENCE__OPTIONAL_FOR);
+
+		entityMockEntityFunctionEClass = createEClass(ENTITY_MOCK_ENTITY_FUNCTION);
+		createEReference(entityMockEntityFunctionEClass, ENTITY_MOCK_ENTITY_FUNCTION__ATTRIBUTE_REF);
+		createEReference(entityMockEntityFunctionEClass, ENTITY_MOCK_ENTITY_FUNCTION__PARAMS);
+		createEReference(entityMockEntityFunctionEClass, ENTITY_MOCK_ENTITY_FUNCTION__BODY);
+
+		entityMockEntityFunctionParameterEClass = createEClass(ENTITY_MOCK_ENTITY_FUNCTION_PARAMETER);
+		createEReference(entityMockEntityFunctionParameterEClass, ENTITY_MOCK_ENTITY_FUNCTION_PARAMETER__ATTRIBUTE_REF);
+		createEReference(entityMockEntityFunctionParameterEClass, ENTITY_MOCK_ENTITY_FUNCTION_PARAMETER__REFERENCE_PATHS);
+		createEReference(entityMockEntityFunctionParameterEClass, ENTITY_MOCK_ENTITY_FUNCTION_PARAMETER__REFERENCE_REF);
+
+		// Create enums
+		eDateStepTypeEEnum = createEEnum(EDATE_STEP_TYPE);
+
+		// Create data types
+		internalEObjectEDataType = createEDataType(INTERNAL_EOBJECT);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+	/**
+	 * Complete the initialization of the package and its meta-model.  This
+	 * method is guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void initializePackageContents() {
+		if (isInitialized) return;
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+
+		// Obtain other dependent packages
+		OSBPTypesPackage theOSBPTypesPackage = (OSBPTypesPackage)EPackage.Registry.INSTANCE.getEPackage(OSBPTypesPackage.eNS_URI);
+		EcorePackage theEcorePackage = (EcorePackage)EPackage.Registry.INSTANCE.getEPackage(EcorePackage.eNS_URI);
+		DataDSLPackage theDataDSLPackage = (DataDSLPackage)EPackage.Registry.INSTANCE.getEPackage(DataDSLPackage.eNS_URI);
+		TypesPackage theTypesPackage = (TypesPackage)EPackage.Registry.INSTANCE.getEPackage(TypesPackage.eNS_URI);
+		XbasePackage theXbasePackage = (XbasePackage)EPackage.Registry.INSTANCE.getEPackage(XbasePackage.eNS_URI);
+		OSBPEntityPackage theOSBPEntityPackage = (OSBPEntityPackage)EPackage.Registry.INSTANCE.getEPackage(OSBPEntityPackage.eNS_URI);
+
+		// Create type parameters
+
+		// Set bounds for type parameters
+
+		// Add supertypes to classes
+		entityMockPackageEClass.getESuperTypes().add(theOSBPTypesPackage.getLPackage());
+		entityMockResourceEClass.getESuperTypes().add(theOSBPTypesPackage.getLEnum());
+		entityMockResourceAttributeEClass.getESuperTypes().add(theOSBPTypesPackage.getLEnum());
+		entityMockResourceDataRowEClass.getESuperTypes().add(theOSBPTypesPackage.getLEnumLiteral());
+		entityMockObjectEnumEClass.getESuperTypes().add(this.getIEntityMockObjectUsable());
+		iEntityMockObjectAttributeEClass.getESuperTypes().add(this.getEntityMockLazyResolver());
+		entityMockObjectPlainValueEClass.getESuperTypes().add(this.getIEntityMockObjectAttribute());
+		entityMockObjectPlainValueEClass.getESuperTypes().add(this.getIEntityMockObjectUsable());
+		entityMockObjectResourceValueEClass.getESuperTypes().add(this.getIEntityMockObjectAttribute());
+		entityMockObjectResourceValueEClass.getESuperTypes().add(this.getIEntityMockObjectUsable());
+		entityMockObjectArrayValueEClass.getESuperTypes().add(this.getIEntityMockObjectAttribute());
+		entityMockObjectArrayValueEClass.getESuperTypes().add(this.getIEntityMockObjectUsable());
+		entityMockObjectEmbedEClass.getESuperTypes().add(this.getIEntityMockObjectAttribute());
+		entityMockObjectEmbedEClass.getESuperTypes().add(this.getIEntityMockObjectUsable());
+		entityMockObjectEmbedEClass.getESuperTypes().add(this.getEntityMockLazyResolver());
+		entityMockObjectFunctionEClass.getESuperTypes().add(this.getIEntityMockObjectAttribute());
+		entityMockObjectFunctionEClass.getESuperTypes().add(this.getIEntityMockObjectUsable());
+		entityMockObjectFillEClass.getESuperTypes().add(this.getIEntityMockObjectAttribute());
+		entityMockObjectFillEClass.getESuperTypes().add(this.getIEntityMockObjectUsable());
+		propertyFillerTypeEClass.getESuperTypes().add(this.getEntityMockLazyResolver());
+		propertyFillerDateTypeEClass.getESuperTypes().add(this.getPropertyFillerType());
+		propertyFillerBooleanEClass.getESuperTypes().add(this.getPropertyFillerType());
+		propertyFillerDoubleTypeEClass.getESuperTypes().add(this.getPropertyFillerType());
+		propertyFillerIntegerTypeEClass.getESuperTypes().add(this.getPropertyFillerType());
+		propertyFillerTextTypeEClass.getESuperTypes().add(this.getPropertyFillerType());
+		propertyFillerDateFutureEClass.getESuperTypes().add(this.getPropertyFillerDateType());
+		propertyFillerDatePastEClass.getESuperTypes().add(this.getPropertyFillerDateType());
+		propertyFillerDateRangeEClass.getESuperTypes().add(this.getPropertyFillerDateType());
+		propertyFillerSignedDoubleRangeEClass.getESuperTypes().add(this.getPropertyFillerDoubleType());
+		propertyFillerSignedDoubleRandomEClass.getESuperTypes().add(this.getPropertyFillerDoubleType());
+		propertyFillerSignedIntegerRangeEClass.getESuperTypes().add(this.getPropertyFillerIntegerType());
+		propertyFillerSignedIntegerRandomEClass.getESuperTypes().add(this.getPropertyFillerIntegerType());
+		propertyFillerTextRandomEClass.getESuperTypes().add(this.getPropertyFillerTextType());
+		propertyFillerTextParagraphsEClass.getESuperTypes().add(this.getPropertyFillerTextType());
+		propertyFillerTextSentencesEClass.getESuperTypes().add(this.getPropertyFillerTextType());
+		propertyFillerTextWordsEClass.getESuperTypes().add(this.getPropertyFillerTextType());
+		propertyFillerUnsignedDoubleRangeEClass.getESuperTypes().add(this.getPropertyFillerDoubleType());
+		propertyFillerUnsignedDoubleRandomEClass.getESuperTypes().add(this.getPropertyFillerDoubleType());
+		propertyFillerUnsignedIntegerRangeEClass.getESuperTypes().add(this.getPropertyFillerIntegerType());
+		propertyFillerUnsignedIntegerRandomEClass.getESuperTypes().add(this.getPropertyFillerIntegerType());
+		entityMockEntityEClass.getESuperTypes().add(this.getEntityMockLazyResolver());
+		integerIterateEClass.getESuperTypes().add(this.getIIterate());
+		dateIterateEClass.getESuperTypes().add(this.getIIterate());
+		entityMockTemporaryEClass.getESuperTypes().add(this.getEntityMockLazyResolver());
+		iEntityMockObjectUsableEClass.getESuperTypes().add(this.getEntityMockLazyResolver());
+		iEntityMockEntityUsableEClass.getESuperTypes().add(this.getEntityMockLazyResolver());
+		iEntityMockAttributeEClass.getESuperTypes().add(this.getIEntityMockEntityUsable());
+		entityMockReferencedObjectAttributeEClass.getESuperTypes().add(this.getEntityMockLazyResolver());
+		entityMockAttributeByObjectEClass.getESuperTypes().add(this.getIEntityMockAttribute());
+		entityMockAttributeFillerEClass.getESuperTypes().add(this.getIEntityMockAttribute());
+		entityMockAttributeByReferenceEClass.getESuperTypes().add(this.getIEntityMockAttribute());
+		entityMockEntityFunctionEClass.getESuperTypes().add(this.getIEntityMockEntityUsable());
+
+		// Initialize classes, features, and operations; add parameters
+		initEClass(entityMockModelEClass, EntityMockModel.class, "EntityMockModel", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getEntityMockModel_Packages(), this.getEntityMockPackage(), null, "packages", null, 0, -1, EntityMockModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(entityMockPackageEClass, EntityMockPackage.class, "EntityMockPackage", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getEntityMockPackage_RunPriority(), theEcorePackage.getEInt(), "runPriority", null, 0, 1, EntityMockPackage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getEntityMockPackage_Datainterchanges(), this.getRunningDataInterchanges(), null, "datainterchanges", null, 0, 1, EntityMockPackage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getEntityMockPackage_Resources(), this.getEntityMockResources(), null, "resources", null, 0, 1, EntityMockPackage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getEntityMockPackage_Objects(), this.getEntityMockObjects(), null, "objects", null, 0, 1, EntityMockPackage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getEntityMockPackage_Datatypes(), this.getEntityMockDataTypes(), null, "datatypes", null, 0, 1, EntityMockPackage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getEntityMockPackage_Entities(), this.getEntityMockEntities(), null, "entities", null, 0, 1, EntityMockPackage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(runningDataInterchangesEClass, RunningDataInterchanges.class, "RunningDataInterchanges", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getRunningDataInterchanges_Datainterchanges(), this.getRunningDataInterchange(), null, "datainterchanges", null, 0, -1, RunningDataInterchanges.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(runningDataInterchangeEClass, RunningDataInterchange.class, "RunningDataInterchange", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getRunningDataInterchange_DatainterchangeRef(), theDataDSLPackage.getDataInterchange(), null, "datainterchangeRef", null, 0, 1, RunningDataInterchange.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getRunningDataInterchange_FileURL(), theEcorePackage.getEString(), "fileURL", null, 0, 1, RunningDataInterchange.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(entityMockLazyResolverEClass, EntityMockLazyResolver.class, "EntityMockLazyResolver", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+		EOperation op = initEOperation(getEntityMockLazyResolver__EResolveProxy__InternalEObject(), theEcorePackage.getEObject(), "eResolveProxy", 0, 1, !IS_UNIQUE, IS_ORDERED);
+		addEParameter(op, this.getInternalEObject(), "proxy", 0, 1, !IS_UNIQUE, IS_ORDERED);
+
+		initEClass(entityMockResourcesEClass, EntityMockResources.class, "EntityMockResources", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getEntityMockResources_Resources(), this.getEntityMockResource(), null, "resources", null, 0, -1, EntityMockResources.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(entityMockResourceEClass, EntityMockResource.class, "EntityMockResource", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getEntityMockResource_Attributes(), this.getEntityMockResourceAttribute(), null, "attributes", null, 0, -1, EntityMockResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getEntityMockResource_Datarows(), this.getEntityMockResourceDataRow(), null, "datarows", null, 0, -1, EntityMockResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(entityMockResourceAttributeEClass, EntityMockResourceAttribute.class, "EntityMockResourceAttribute", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+		initEClass(entityMockResourceDataRowEClass, EntityMockResourceDataRow.class, "EntityMockResourceDataRow", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getEntityMockResourceDataRow_Values(), theEcorePackage.getEString(), "values", null, 0, -1, EntityMockResourceDataRow.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(entityMockObjectsEClass, EntityMockObjects.class, "EntityMockObjects", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getEntityMockObjects_Objects(), this.getEntityMockObject(), null, "objects", null, 0, -1, EntityMockObjects.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(entityMockObjectEClass, EntityMockObject.class, "EntityMockObject", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getEntityMockObject_Name(), theEcorePackage.getEString(), "name", null, 0, 1, EntityMockObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getEntityMockObject_Enumerations(), this.getEntityMockObjectEnum(), null, "enumerations", null, 0, -1, EntityMockObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getEntityMockObject_Attributes(), this.getIEntityMockObjectAttribute(), null, "attributes", null, 0, -1, EntityMockObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getEntityMockObject_Calculations(), this.getEntityMockObjectFunction(), null, "calculations", null, 0, -1, EntityMockObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(entityMockObjectEnumEClass, EntityMockObjectEnum.class, "EntityMockObjectEnum", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getEntityMockObjectEnum_Name(), theEcorePackage.getEString(), "name", null, 0, 1, EntityMockObjectEnum.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getEntityMockObjectEnum_UsingResource(), theOSBPTypesPackage.getLEnum(), null, "usingResource", null, 0, 1, EntityMockObjectEnum.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(iEntityMockObjectAttributeEClass, IEntityMockObjectAttribute.class, "IEntityMockObjectAttribute", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getIEntityMockObjectAttribute_Name(), theEcorePackage.getEString(), "name", null, 0, 1, IEntityMockObjectAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(entityMockObjectPlainValueEClass, EntityMockObjectPlainValue.class, "EntityMockObjectPlainValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getEntityMockObjectPlainValue_Values(), theEcorePackage.getEString(), "values", null, 0, -1, EntityMockObjectPlainValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(entityMockObjectResourceValueEClass, EntityMockObjectResourceValue.class, "EntityMockObjectResourceValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getEntityMockObjectResourceValue_ResourceEnum(), this.getEntityMockObjectEnum(), null, "resourceEnum", null, 0, 1, EntityMockObjectResourceValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getEntityMockObjectResourceValue_ResourceAttribute(), this.getEntityMockResourceAttribute(), null, "resourceAttribute", null, 0, 1, EntityMockObjectResourceValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(entityMockObjectArrayValueEClass, EntityMockObjectArrayValue.class, "EntityMockObjectArrayValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getEntityMockObjectArrayValue_Enumeration(), this.getEntityMockObjectEnum(), null, "enumeration", null, 0, 1, EntityMockObjectArrayValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getEntityMockObjectArrayValue_Items(), this.getEntityMockObjectItemValue(), null, "items", null, 0, -1, EntityMockObjectArrayValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(entityMockObjectItemValueEClass, EntityMockObjectItemValue.class, "EntityMockObjectItemValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getEntityMockObjectItemValue_Datarow(), theOSBPTypesPackage.getLEnumLiteral(), null, "datarow", null, 0, 1, EntityMockObjectItemValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getEntityMockObjectItemValue_Values(), theEcorePackage.getEString(), "values", null, 0, -1, EntityMockObjectItemValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(entityMockObjectEmbedEClass, EntityMockObjectEmbed.class, "EntityMockObjectEmbed", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getEntityMockObjectEmbed_Object(), this.getEntityMockObject(), null, "object", null, 0, 1, EntityMockObjectEmbed.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(entityMockObjectFunctionEClass, EntityMockObjectFunction.class, "EntityMockObjectFunction", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getEntityMockObjectFunction_Oftype(), theTypesPackage.getJvmTypeReference(), null, "oftype", null, 0, 1, EntityMockObjectFunction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getEntityMockObjectFunction_Params(), this.getEntityMockObjectFunctionParameter(), null, "params", null, 0, -1, EntityMockObjectFunction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getEntityMockObjectFunction_Body(), theXbasePackage.getXExpression(), null, "body", null, 0, 1, EntityMockObjectFunction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(entityMockObjectFunctionParameterEClass, EntityMockObjectFunctionParameter.class, "EntityMockObjectFunctionParameter", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getEntityMockObjectFunctionParameter_ParameterType(), theTypesPackage.getJvmTypeReference(), null, "parameterType", null, 0, 1, EntityMockObjectFunctionParameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getEntityMockObjectFunctionParameter_Name(), this.getIEntityMockObjectUsable(), null, "name", null, 0, 1, EntityMockObjectFunctionParameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(entityMockObjectFillEClass, EntityMockObjectFill.class, "EntityMockObjectFill", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getEntityMockObjectFill_FillerType(), this.getPropertyFillerType(), null, "fillerType", null, 0, 1, EntityMockObjectFill.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(propertyFillerTypeEClass, PropertyFillerType.class, "PropertyFillerType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+		initEClass(propertyFillerDateTypeEClass, PropertyFillerDateType.class, "PropertyFillerDateType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+		initEClass(propertyFillerBooleanEClass, PropertyFillerBoolean.class, "PropertyFillerBoolean", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+		initEClass(propertyFillerDoubleTypeEClass, PropertyFillerDoubleType.class, "PropertyFillerDoubleType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+		initEClass(propertyFillerIntegerTypeEClass, PropertyFillerIntegerType.class, "PropertyFillerIntegerType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+		initEClass(propertyFillerTextTypeEClass, PropertyFillerTextType.class, "PropertyFillerTextType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+		initEClass(propertyFillerDateFutureEClass, PropertyFillerDateFuture.class, "PropertyFillerDateFuture", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getPropertyFillerDateFuture_DateFutureYears(), theEcorePackage.getEInt(), "dateFutureYears", null, 0, 1, PropertyFillerDateFuture.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(propertyFillerDatePastEClass, PropertyFillerDatePast.class, "PropertyFillerDatePast", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getPropertyFillerDatePast_DatePastYears(), theEcorePackage.getEInt(), "datePastYears", null, 0, 1, PropertyFillerDatePast.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(propertyFillerDateRangeEClass, PropertyFillerDateRange.class, "PropertyFillerDateRange", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getPropertyFillerDateRange_DateBeginYears(), theEcorePackage.getEInt(), "dateBeginYears", null, 0, 1, PropertyFillerDateRange.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getPropertyFillerDateRange_DateEndYears(), theEcorePackage.getEInt(), "dateEndYears", null, 0, 1, PropertyFillerDateRange.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(propertyFillerSignedDoubleRangeEClass, PropertyFillerSignedDoubleRange.class, "PropertyFillerSignedDoubleRange", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getPropertyFillerSignedDoubleRange_Decimals(), theEcorePackage.getEInt(), "decimals", null, 0, 1, PropertyFillerSignedDoubleRange.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getPropertyFillerSignedDoubleRange_BeginRange(), theEcorePackage.getEDouble(), "beginRange", null, 0, 1, PropertyFillerSignedDoubleRange.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getPropertyFillerSignedDoubleRange_EndRange(), theEcorePackage.getEDouble(), "endRange", null, 0, 1, PropertyFillerSignedDoubleRange.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getPropertyFillerSignedDoubleRange_BeginRangeRef(), theOSBPEntityPackage.getLEntityAttribute(), null, "beginRangeRef", null, 0, 1, PropertyFillerSignedDoubleRange.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getPropertyFillerSignedDoubleRange_EndRangeRef(), theOSBPEntityPackage.getLEntityAttribute(), null, "endRangeRef", null, 0, 1, PropertyFillerSignedDoubleRange.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getPropertyFillerSignedDoubleRange_Rounded(), theEcorePackage.getEDouble(), "rounded", null, 0, 1, PropertyFillerSignedDoubleRange.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(propertyFillerSignedDoubleRandomEClass, PropertyFillerSignedDoubleRandom.class, "PropertyFillerSignedDoubleRandom", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getPropertyFillerSignedDoubleRandom_Items(), theEcorePackage.getEDouble(), "items", null, 0, -1, PropertyFillerSignedDoubleRandom.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(propertyFillerSignedIntegerRangeEClass, PropertyFillerSignedIntegerRange.class, "PropertyFillerSignedIntegerRange", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getPropertyFillerSignedIntegerRange_BeginRange(), theEcorePackage.getEInt(), "beginRange", null, 0, 1, PropertyFillerSignedIntegerRange.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getPropertyFillerSignedIntegerRange_EndRange(), theEcorePackage.getEInt(), "endRange", null, 0, 1, PropertyFillerSignedIntegerRange.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getPropertyFillerSignedIntegerRange_BeginRangeRef(), theOSBPEntityPackage.getLEntityAttribute(), null, "beginRangeRef", null, 0, 1, PropertyFillerSignedIntegerRange.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getPropertyFillerSignedIntegerRange_EndRangeRef(), theOSBPEntityPackage.getLEntityAttribute(), null, "endRangeRef", null, 0, 1, PropertyFillerSignedIntegerRange.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getPropertyFillerSignedIntegerRange_Rounded(), theEcorePackage.getEInt(), "rounded", null, 0, 1, PropertyFillerSignedIntegerRange.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(propertyFillerSignedIntegerRandomEClass, PropertyFillerSignedIntegerRandom.class, "PropertyFillerSignedIntegerRandom", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getPropertyFillerSignedIntegerRandom_Items(), theEcorePackage.getEInt(), "items", null, 0, -1, PropertyFillerSignedIntegerRandom.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(propertyFillerTextRandomEClass, PropertyFillerTextRandom.class, "PropertyFillerTextRandom", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getPropertyFillerTextRandom_Items(), theEcorePackage.getEString(), "items", null, 0, -1, PropertyFillerTextRandom.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(propertyFillerTextParagraphsEClass, PropertyFillerTextParagraphs.class, "PropertyFillerTextParagraphs", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getPropertyFillerTextParagraphs_Count(), theEcorePackage.getEInt(), "count", null, 0, 1, PropertyFillerTextParagraphs.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(propertyFillerTextSentencesEClass, PropertyFillerTextSentences.class, "PropertyFillerTextSentences", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getPropertyFillerTextSentences_Count(), theEcorePackage.getEInt(), "count", null, 0, 1, PropertyFillerTextSentences.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(propertyFillerTextWordsEClass, PropertyFillerTextWords.class, "PropertyFillerTextWords", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getPropertyFillerTextWords_Count(), theEcorePackage.getEInt(), "count", null, 0, 1, PropertyFillerTextWords.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(propertyFillerUnsignedDoubleRangeEClass, PropertyFillerUnsignedDoubleRange.class, "PropertyFillerUnsignedDoubleRange", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getPropertyFillerUnsignedDoubleRange_Decimals(), theEcorePackage.getEInt(), "decimals", null, 0, 1, PropertyFillerUnsignedDoubleRange.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getPropertyFillerUnsignedDoubleRange_BeginRange(), theEcorePackage.getEDouble(), "beginRange", null, 0, 1, PropertyFillerUnsignedDoubleRange.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getPropertyFillerUnsignedDoubleRange_EndRange(), theEcorePackage.getEDouble(), "endRange", null, 0, 1, PropertyFillerUnsignedDoubleRange.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getPropertyFillerUnsignedDoubleRange_BeginRangeRef(), theOSBPEntityPackage.getLEntityAttribute(), null, "beginRangeRef", null, 0, 1, PropertyFillerUnsignedDoubleRange.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getPropertyFillerUnsignedDoubleRange_EndRangeRef(), theOSBPEntityPackage.getLEntityAttribute(), null, "endRangeRef", null, 0, 1, PropertyFillerUnsignedDoubleRange.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getPropertyFillerUnsignedDoubleRange_Rounded(), theEcorePackage.getEDouble(), "rounded", null, 0, 1, PropertyFillerUnsignedDoubleRange.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(propertyFillerUnsignedDoubleRandomEClass, PropertyFillerUnsignedDoubleRandom.class, "PropertyFillerUnsignedDoubleRandom", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getPropertyFillerUnsignedDoubleRandom_Items(), theEcorePackage.getEDouble(), "items", null, 0, -1, PropertyFillerUnsignedDoubleRandom.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(propertyFillerUnsignedIntegerRangeEClass, PropertyFillerUnsignedIntegerRange.class, "PropertyFillerUnsignedIntegerRange", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getPropertyFillerUnsignedIntegerRange_BeginRange(), theEcorePackage.getEInt(), "beginRange", null, 0, 1, PropertyFillerUnsignedIntegerRange.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getPropertyFillerUnsignedIntegerRange_EndRange(), theEcorePackage.getEInt(), "endRange", null, 0, 1, PropertyFillerUnsignedIntegerRange.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getPropertyFillerUnsignedIntegerRange_BeginRangeRef(), theOSBPEntityPackage.getLEntityAttribute(), null, "beginRangeRef", null, 0, 1, PropertyFillerUnsignedIntegerRange.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getPropertyFillerUnsignedIntegerRange_EndRangeRef(), theOSBPEntityPackage.getLEntityAttribute(), null, "endRangeRef", null, 0, 1, PropertyFillerUnsignedIntegerRange.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getPropertyFillerUnsignedIntegerRange_Rounded(), theEcorePackage.getEInt(), "rounded", null, 0, 1, PropertyFillerUnsignedIntegerRange.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(propertyFillerUnsignedIntegerRandomEClass, PropertyFillerUnsignedIntegerRandom.class, "PropertyFillerUnsignedIntegerRandom", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getPropertyFillerUnsignedIntegerRandom_Items(), theEcorePackage.getEInt(), "items", null, 0, -1, PropertyFillerUnsignedIntegerRandom.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(entityMockDataTypesEClass, EntityMockDataTypes.class, "EntityMockDataTypes", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getEntityMockDataTypes_Datatypes(), this.getEntityMockDataType(), null, "datatypes", null, 0, -1, EntityMockDataTypes.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(entityMockDataTypeEClass, EntityMockDataType.class, "EntityMockDataType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getEntityMockDataType_Name(), theEcorePackage.getEString(), "name", null, 0, 1, EntityMockDataType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(entityMockEntitiesEClass, EntityMockEntities.class, "EntityMockEntities", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getEntityMockEntities_Entities(), this.getEntityMockEntity(), null, "entities", null, 0, -1, EntityMockEntities.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(entityMockEntityEClass, EntityMockEntity.class, "EntityMockEntity", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getEntityMockEntity_Name(), theEcorePackage.getEString(), "name", null, 0, 1, EntityMockEntity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getEntityMockEntity_EntityRef(), theOSBPEntityPackage.getLEntity(), null, "entityRef", null, 0, 1, EntityMockEntity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getEntityMockEntity_MinRows(), theEcorePackage.getEInt(), "minRows", null, 0, 1, EntityMockEntity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getEntityMockEntity_MaxRows(), theEcorePackage.getEInt(), "maxRows", null, 0, 1, EntityMockEntity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getEntityMockEntity_Iterate(), this.getIIterate(), null, "iterate", null, 0, 1, EntityMockEntity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getEntityMockEntity_Iterator(), theOSBPEntityPackage.getLEntityAttribute(), null, "iterator", null, 0, 1, EntityMockEntity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getEntityMockEntity_Temporaries(), this.getEntityMockTemporary(), null, "temporaries", null, 0, -1, EntityMockEntity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getEntityMockEntity_Attributes(), this.getIEntityMockAttribute(), null, "attributes", null, 0, -1, EntityMockEntity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getEntityMockEntity_Calculations(), this.getEntityMockEntityFunction(), null, "calculations", null, 0, -1, EntityMockEntity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getEntityMockEntity_ByResource(), this.getEntityMockResource(), null, "byResource", null, 0, 1, EntityMockEntity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getEntityMockEntity_ByResourceAttributes(), this.getEntityMockByResourceAttribute(), null, "byResourceAttributes", null, 0, -1, EntityMockEntity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getEntityMockEntity_CreateBlobMapping(), theEcorePackage.getEBoolean(), "createBlobMapping", null, 0, 1, EntityMockEntity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(iIterateEClass, IIterate.class, "IIterate", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+		initEClass(integerIterateEClass, IntegerIterate.class, "IntegerIterate", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getIntegerIterate_From(), theEcorePackage.getEInt(), "from", null, 0, 1, IntegerIterate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getIntegerIterate_Until(), theEcorePackage.getEInt(), "until", null, 0, 1, IntegerIterate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getIntegerIterate_Step(), theEcorePackage.getEInt(), "step", null, 0, 1, IntegerIterate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(dateIterateEClass, DateIterate.class, "DateIterate", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getDateIterate_From(), this.getDate(), null, "from", null, 0, 1, DateIterate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getDateIterate_Until(), this.getDate(), null, "until", null, 0, 1, DateIterate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getDateIterate_StepCount(), theEcorePackage.getEInt(), "stepCount", null, 0, 1, DateIterate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getDateIterate_StepType(), this.getEDateStepType(), "stepType", null, 0, 1, DateIterate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(dateEClass, Date.class, "Date", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getDate_Yesterday(), theEcorePackage.getEBoolean(), "yesterday", null, 0, 1, Date.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getDate_Today(), theEcorePackage.getEBoolean(), "today", null, 0, 1, Date.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getDate_Tomorrow(), theEcorePackage.getEBoolean(), "tomorrow", null, 0, 1, Date.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getDate_OffsetCount(), theEcorePackage.getEInt(), "offsetCount", null, 0, 1, Date.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getDate_OffsetType(), this.getEDateStepType(), "offsetType", null, 0, 1, Date.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getDate_Year(), theEcorePackage.getEInt(), "year", null, 0, 1, Date.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getDate_Month(), theEcorePackage.getEInt(), "month", null, 0, 1, Date.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getDate_Day(), theEcorePackage.getEInt(), "day", null, 0, 1, Date.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(entityMockByResourceAttributeEClass, EntityMockByResourceAttribute.class, "EntityMockByResourceAttribute", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getEntityMockByResourceAttribute_AttributeRef(), theOSBPEntityPackage.getLEntityAttribute(), null, "attributeRef", null, 0, 1, EntityMockByResourceAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getEntityMockByResourceAttribute_ResourceAttribute(), this.getEntityMockResourceAttribute(), null, "resourceAttribute", null, 0, 1, EntityMockByResourceAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(entityMockTemporaryEClass, EntityMockTemporary.class, "EntityMockTemporary", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getEntityMockTemporary_Name(), theEcorePackage.getEString(), "name", null, 0, 1, EntityMockTemporary.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getEntityMockTemporary_Object(), this.getEntityMockObject(), null, "object", null, 0, 1, EntityMockTemporary.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(iEntityMockObjectUsableEClass, IEntityMockObjectUsable.class, "IEntityMockObjectUsable", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+		initEClass(iEntityMockEntityUsableEClass, IEntityMockEntityUsable.class, "IEntityMockEntityUsable", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+		initEClass(iEntityMockAttributeEClass, IEntityMockAttribute.class, "IEntityMockAttribute", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+		initEClass(entityMockReferencedObjectAttributeEClass, EntityMockReferencedObjectAttribute.class, "EntityMockReferencedObjectAttribute", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getEntityMockReferencedObjectAttribute_Temporary(), this.getEntityMockTemporary(), null, "temporary", null, 0, 1, EntityMockReferencedObjectAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getEntityMockReferencedObjectAttribute_Embedded(), this.getEntityMockObjectEmbed(), null, "embedded", null, 0, -1, EntityMockReferencedObjectAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getEntityMockReferencedObjectAttribute_Attribute(), this.getIEntityMockObjectUsable(), null, "attribute", null, 0, 1, EntityMockReferencedObjectAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(entityMockAttributeByObjectEClass, EntityMockAttributeByObject.class, "EntityMockAttributeByObject", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getEntityMockAttributeByObject_AttributeRef(), theOSBPEntityPackage.getLEntityAttribute(), null, "attributeRef", null, 0, 1, EntityMockAttributeByObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getEntityMockAttributeByObject_Reference(), this.getEntityMockReferencedObjectAttribute(), null, "reference", null, 0, 1, EntityMockAttributeByObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getEntityMockAttributeByObject_ResourceEnum(), this.getEntityMockObjectEnum(), null, "resourceEnum", null, 0, 1, EntityMockAttributeByObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getEntityMockAttributeByObject_ResourceAttribute(), this.getEntityMockResourceAttribute(), null, "resourceAttribute", null, 0, 1, EntityMockAttributeByObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(entityMockAttributeFillerEClass, EntityMockAttributeFiller.class, "EntityMockAttributeFiller", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getEntityMockAttributeFiller_AttributeRef(), theOSBPEntityPackage.getLEntityAttribute(), null, "attributeRef", null, 0, 1, EntityMockAttributeFiller.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getEntityMockAttributeFiller_FillerType(), this.getPropertyFillerType(), null, "fillerType", null, 0, 1, EntityMockAttributeFiller.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(entityMockAttributeByReferenceEClass, EntityMockAttributeByReference.class, "EntityMockAttributeByReference", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getEntityMockAttributeByReference_AttributeRef(), theOSBPEntityPackage.getLEntityReference(), null, "attributeRef", null, 0, 1, EntityMockAttributeByReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getEntityMockAttributeByReference_MockedEntity(), this.getEntityMockEntity(), null, "mockedEntity", null, 0, 1, EntityMockAttributeByReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getEntityMockAttributeByReference_OptionalFor(), theEcorePackage.getEInt(), "optionalFor", null, 0, 1, EntityMockAttributeByReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(entityMockEntityFunctionEClass, EntityMockEntityFunction.class, "EntityMockEntityFunction", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getEntityMockEntityFunction_AttributeRef(), theOSBPEntityPackage.getLEntityAttribute(), null, "attributeRef", null, 0, 1, EntityMockEntityFunction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getEntityMockEntityFunction_Params(), this.getEntityMockEntityFunctionParameter(), null, "params", null, 0, -1, EntityMockEntityFunction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getEntityMockEntityFunction_Body(), theXbasePackage.getXExpression(), null, "body", null, 0, 1, EntityMockEntityFunction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(entityMockEntityFunctionParameterEClass, EntityMockEntityFunctionParameter.class, "EntityMockEntityFunctionParameter", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getEntityMockEntityFunctionParameter_AttributeRef(), theOSBPEntityPackage.getLEntityAttribute(), null, "attributeRef", null, 0, 1, EntityMockEntityFunctionParameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getEntityMockEntityFunctionParameter_ReferencePaths(), theOSBPEntityPackage.getLEntityReference(), null, "referencePaths", null, 0, -1, EntityMockEntityFunctionParameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getEntityMockEntityFunctionParameter_ReferenceRef(), theOSBPEntityPackage.getLEntityAttribute(), null, "referenceRef", null, 0, 1, EntityMockEntityFunctionParameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		// Initialize enums and add enum literals
+		initEEnum(eDateStepTypeEEnum, EDateStepType.class, "EDateStepType");
+		addEEnumLiteral(eDateStepTypeEEnum, EDateStepType.DAYS);
+		addEEnumLiteral(eDateStepTypeEEnum, EDateStepType.WEEKS);
+		addEEnumLiteral(eDateStepTypeEEnum, EDateStepType.MONTHS);
+		addEEnumLiteral(eDateStepTypeEEnum, EDateStepType.YEARS);
+
+		// Initialize data types
+		initEDataType(internalEObjectEDataType, InternalEObject.class, "InternalEObject", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);
+
+		// Create resource
+		createResource(eNS_URI);
+
+		// Create annotations
+		// http://www.eclipse.org/emf/2002/Ecore
+		createEcoreAnnotations();
+	}
+
+	/**
+	 * Initializes the annotations for <b>http://www.eclipse.org/emf/2002/Ecore</b>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void createEcoreAnnotations() {
+		String source = "http://www.eclipse.org/emf/2002/Ecore";	
+		addAnnotation
+		  (this, 
+		   source, 
+		   new String[] {
+			 "rootPackage", "entitymockdsl"
+		   });
+	}
+
+} //EntityMockDSLPackageImpl
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockDataTypeImpl.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockDataTypeImpl.java
new file mode 100644
index 0000000..56d80e5
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockDataTypeImpl.java
@@ -0,0 +1,174 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage;
+import org.eclipse.osbp.xtext.entitymock.EntityMockDataType;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Entity Mock Data Type</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockDataTypeImpl#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class EntityMockDataTypeImpl extends MinimalEObjectImpl.Container implements EntityMockDataType {
+	/**
+	 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getName()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String NAME_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getName()
+	 * @generated
+	 * @ordered
+	 */
+	protected String name = NAME_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EntityMockDataTypeImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return EntityMockDSLPackage.Literals.ENTITY_MOCK_DATA_TYPE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getName() {
+		return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setName(String newName) {
+		String oldName = name;
+		name = newName;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.ENTITY_MOCK_DATA_TYPE__NAME, oldName, name));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_DATA_TYPE__NAME:
+				return getName();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_DATA_TYPE__NAME:
+				setName((String)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_DATA_TYPE__NAME:
+				setName(NAME_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_DATA_TYPE__NAME:
+				return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (name: ");
+		result.append(name);
+		result.append(')');
+		return result.toString();
+	}
+
+} //EntityMockDataTypeImpl
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockDataTypesImpl.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockDataTypesImpl.java
new file mode 100644
index 0000000..66b08ba
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockDataTypesImpl.java
@@ -0,0 +1,163 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage;
+import org.eclipse.osbp.xtext.entitymock.EntityMockDataType;
+import org.eclipse.osbp.xtext.entitymock.EntityMockDataTypes;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Entity Mock Data Types</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockDataTypesImpl#getDatatypes <em>Datatypes</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class EntityMockDataTypesImpl extends MinimalEObjectImpl.Container implements EntityMockDataTypes {
+	/**
+	 * The cached value of the '{@link #getDatatypes() <em>Datatypes</em>}' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDatatypes()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<EntityMockDataType> datatypes;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EntityMockDataTypesImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return EntityMockDSLPackage.Literals.ENTITY_MOCK_DATA_TYPES;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<EntityMockDataType> getDatatypes() {
+		if (datatypes == null) {
+			datatypes = new EObjectContainmentEList<EntityMockDataType>(EntityMockDataType.class, this, EntityMockDSLPackage.ENTITY_MOCK_DATA_TYPES__DATATYPES);
+		}
+		return datatypes;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_DATA_TYPES__DATATYPES:
+				return ((InternalEList<?>)getDatatypes()).basicRemove(otherEnd, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_DATA_TYPES__DATATYPES:
+				return getDatatypes();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_DATA_TYPES__DATATYPES:
+				getDatatypes().clear();
+				getDatatypes().addAll((Collection<? extends EntityMockDataType>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_DATA_TYPES__DATATYPES:
+				getDatatypes().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_DATA_TYPES__DATATYPES:
+				return datatypes != null && !datatypes.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //EntityMockDataTypesImpl
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockEntitiesImpl.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockEntitiesImpl.java
new file mode 100644
index 0000000..def69e5
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockEntitiesImpl.java
@@ -0,0 +1,163 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage;
+import org.eclipse.osbp.xtext.entitymock.EntityMockEntities;
+import org.eclipse.osbp.xtext.entitymock.EntityMockEntity;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Entity Mock Entities</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockEntitiesImpl#getEntities <em>Entities</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class EntityMockEntitiesImpl extends MinimalEObjectImpl.Container implements EntityMockEntities {
+	/**
+	 * The cached value of the '{@link #getEntities() <em>Entities</em>}' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getEntities()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<EntityMockEntity> entities;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EntityMockEntitiesImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return EntityMockDSLPackage.Literals.ENTITY_MOCK_ENTITIES;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<EntityMockEntity> getEntities() {
+		if (entities == null) {
+			entities = new EObjectContainmentEList<EntityMockEntity>(EntityMockEntity.class, this, EntityMockDSLPackage.ENTITY_MOCK_ENTITIES__ENTITIES);
+		}
+		return entities;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITIES__ENTITIES:
+				return ((InternalEList<?>)getEntities()).basicRemove(otherEnd, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITIES__ENTITIES:
+				return getEntities();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITIES__ENTITIES:
+				getEntities().clear();
+				getEntities().addAll((Collection<? extends EntityMockEntity>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITIES__ENTITIES:
+				getEntities().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITIES__ENTITIES:
+				return entities != null && !entities.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //EntityMockEntitiesImpl
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockEntityFunctionImpl.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockEntityFunctionImpl.java
new file mode 100644
index 0000000..a3dc8e5
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockEntityFunctionImpl.java
@@ -0,0 +1,294 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.osbp.dsl.semantic.entity.LEntityAttribute;
+
+import org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage;
+import org.eclipse.osbp.xtext.entitymock.EntityMockEntityFunction;
+import org.eclipse.osbp.xtext.entitymock.EntityMockEntityFunctionParameter;
+
+import org.eclipse.xtext.xbase.XExpression;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Entity Mock Entity Function</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockEntityFunctionImpl#getAttributeRef <em>Attribute Ref</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockEntityFunctionImpl#getParams <em>Params</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockEntityFunctionImpl#getBody <em>Body</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class EntityMockEntityFunctionImpl extends IEntityMockEntityUsableImpl implements EntityMockEntityFunction {
+	/**
+	 * The cached value of the '{@link #getAttributeRef() <em>Attribute Ref</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getAttributeRef()
+	 * @generated
+	 * @ordered
+	 */
+	protected LEntityAttribute attributeRef;
+
+	/**
+	 * The cached value of the '{@link #getParams() <em>Params</em>}' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getParams()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<EntityMockEntityFunctionParameter> params;
+
+	/**
+	 * The cached value of the '{@link #getBody() <em>Body</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBody()
+	 * @generated
+	 * @ordered
+	 */
+	protected XExpression body;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EntityMockEntityFunctionImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return EntityMockDSLPackage.Literals.ENTITY_MOCK_ENTITY_FUNCTION;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public LEntityAttribute getAttributeRef() {
+		if (attributeRef != null && attributeRef.eIsProxy()) {
+			InternalEObject oldAttributeRef = (InternalEObject)attributeRef;
+			attributeRef = (LEntityAttribute)eResolveProxy(oldAttributeRef);
+			if (attributeRef != oldAttributeRef) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, EntityMockDSLPackage.ENTITY_MOCK_ENTITY_FUNCTION__ATTRIBUTE_REF, oldAttributeRef, attributeRef));
+			}
+		}
+		return attributeRef;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public LEntityAttribute basicGetAttributeRef() {
+		return attributeRef;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setAttributeRef(LEntityAttribute newAttributeRef) {
+		LEntityAttribute oldAttributeRef = attributeRef;
+		attributeRef = newAttributeRef;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.ENTITY_MOCK_ENTITY_FUNCTION__ATTRIBUTE_REF, oldAttributeRef, attributeRef));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<EntityMockEntityFunctionParameter> getParams() {
+		if (params == null) {
+			params = new EObjectContainmentEList<EntityMockEntityFunctionParameter>(EntityMockEntityFunctionParameter.class, this, EntityMockDSLPackage.ENTITY_MOCK_ENTITY_FUNCTION__PARAMS);
+		}
+		return params;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public XExpression getBody() {
+		return body;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetBody(XExpression newBody, NotificationChain msgs) {
+		XExpression oldBody = body;
+		body = newBody;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.ENTITY_MOCK_ENTITY_FUNCTION__BODY, oldBody, newBody);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBody(XExpression newBody) {
+		if (newBody != body) {
+			NotificationChain msgs = null;
+			if (body != null)
+				msgs = ((InternalEObject)body).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - EntityMockDSLPackage.ENTITY_MOCK_ENTITY_FUNCTION__BODY, null, msgs);
+			if (newBody != null)
+				msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EntityMockDSLPackage.ENTITY_MOCK_ENTITY_FUNCTION__BODY, null, msgs);
+			msgs = basicSetBody(newBody, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.ENTITY_MOCK_ENTITY_FUNCTION__BODY, newBody, newBody));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY_FUNCTION__PARAMS:
+				return ((InternalEList<?>)getParams()).basicRemove(otherEnd, msgs);
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY_FUNCTION__BODY:
+				return basicSetBody(null, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY_FUNCTION__ATTRIBUTE_REF:
+				if (resolve) return getAttributeRef();
+				return basicGetAttributeRef();
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY_FUNCTION__PARAMS:
+				return getParams();
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY_FUNCTION__BODY:
+				return getBody();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY_FUNCTION__ATTRIBUTE_REF:
+				setAttributeRef((LEntityAttribute)newValue);
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY_FUNCTION__PARAMS:
+				getParams().clear();
+				getParams().addAll((Collection<? extends EntityMockEntityFunctionParameter>)newValue);
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY_FUNCTION__BODY:
+				setBody((XExpression)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY_FUNCTION__ATTRIBUTE_REF:
+				setAttributeRef((LEntityAttribute)null);
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY_FUNCTION__PARAMS:
+				getParams().clear();
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY_FUNCTION__BODY:
+				setBody((XExpression)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY_FUNCTION__ATTRIBUTE_REF:
+				return attributeRef != null;
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY_FUNCTION__PARAMS:
+				return params != null && !params.isEmpty();
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY_FUNCTION__BODY:
+				return body != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //EntityMockEntityFunctionImpl
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockEntityFunctionParameterImpl.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockEntityFunctionParameterImpl.java
new file mode 100644
index 0000000..c8b66b0
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockEntityFunctionParameterImpl.java
@@ -0,0 +1,271 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+
+import org.eclipse.osbp.dsl.semantic.entity.LEntityAttribute;
+import org.eclipse.osbp.dsl.semantic.entity.LEntityReference;
+
+import org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage;
+import org.eclipse.osbp.xtext.entitymock.EntityMockEntityFunctionParameter;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Entity Mock Entity Function Parameter</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockEntityFunctionParameterImpl#getAttributeRef <em>Attribute Ref</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockEntityFunctionParameterImpl#getReferencePaths <em>Reference Paths</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockEntityFunctionParameterImpl#getReferenceRef <em>Reference Ref</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class EntityMockEntityFunctionParameterImpl extends MinimalEObjectImpl.Container implements EntityMockEntityFunctionParameter {
+	/**
+	 * The cached value of the '{@link #getAttributeRef() <em>Attribute Ref</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getAttributeRef()
+	 * @generated
+	 * @ordered
+	 */
+	protected LEntityAttribute attributeRef;
+
+	/**
+	 * The cached value of the '{@link #getReferencePaths() <em>Reference Paths</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getReferencePaths()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<LEntityReference> referencePaths;
+
+	/**
+	 * The cached value of the '{@link #getReferenceRef() <em>Reference Ref</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getReferenceRef()
+	 * @generated
+	 * @ordered
+	 */
+	protected LEntityAttribute referenceRef;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EntityMockEntityFunctionParameterImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return EntityMockDSLPackage.Literals.ENTITY_MOCK_ENTITY_FUNCTION_PARAMETER;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public LEntityAttribute getAttributeRef() {
+		if (attributeRef != null && attributeRef.eIsProxy()) {
+			InternalEObject oldAttributeRef = (InternalEObject)attributeRef;
+			attributeRef = (LEntityAttribute)eResolveProxy(oldAttributeRef);
+			if (attributeRef != oldAttributeRef) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, EntityMockDSLPackage.ENTITY_MOCK_ENTITY_FUNCTION_PARAMETER__ATTRIBUTE_REF, oldAttributeRef, attributeRef));
+			}
+		}
+		return attributeRef;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public LEntityAttribute basicGetAttributeRef() {
+		return attributeRef;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setAttributeRef(LEntityAttribute newAttributeRef) {
+		LEntityAttribute oldAttributeRef = attributeRef;
+		attributeRef = newAttributeRef;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.ENTITY_MOCK_ENTITY_FUNCTION_PARAMETER__ATTRIBUTE_REF, oldAttributeRef, attributeRef));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<LEntityReference> getReferencePaths() {
+		if (referencePaths == null) {
+			referencePaths = new EObjectResolvingEList<LEntityReference>(LEntityReference.class, this, EntityMockDSLPackage.ENTITY_MOCK_ENTITY_FUNCTION_PARAMETER__REFERENCE_PATHS);
+		}
+		return referencePaths;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public LEntityAttribute getReferenceRef() {
+		if (referenceRef != null && referenceRef.eIsProxy()) {
+			InternalEObject oldReferenceRef = (InternalEObject)referenceRef;
+			referenceRef = (LEntityAttribute)eResolveProxy(oldReferenceRef);
+			if (referenceRef != oldReferenceRef) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, EntityMockDSLPackage.ENTITY_MOCK_ENTITY_FUNCTION_PARAMETER__REFERENCE_REF, oldReferenceRef, referenceRef));
+			}
+		}
+		return referenceRef;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public LEntityAttribute basicGetReferenceRef() {
+		return referenceRef;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setReferenceRef(LEntityAttribute newReferenceRef) {
+		LEntityAttribute oldReferenceRef = referenceRef;
+		referenceRef = newReferenceRef;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.ENTITY_MOCK_ENTITY_FUNCTION_PARAMETER__REFERENCE_REF, oldReferenceRef, referenceRef));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY_FUNCTION_PARAMETER__ATTRIBUTE_REF:
+				if (resolve) return getAttributeRef();
+				return basicGetAttributeRef();
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY_FUNCTION_PARAMETER__REFERENCE_PATHS:
+				return getReferencePaths();
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY_FUNCTION_PARAMETER__REFERENCE_REF:
+				if (resolve) return getReferenceRef();
+				return basicGetReferenceRef();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY_FUNCTION_PARAMETER__ATTRIBUTE_REF:
+				setAttributeRef((LEntityAttribute)newValue);
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY_FUNCTION_PARAMETER__REFERENCE_PATHS:
+				getReferencePaths().clear();
+				getReferencePaths().addAll((Collection<? extends LEntityReference>)newValue);
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY_FUNCTION_PARAMETER__REFERENCE_REF:
+				setReferenceRef((LEntityAttribute)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY_FUNCTION_PARAMETER__ATTRIBUTE_REF:
+				setAttributeRef((LEntityAttribute)null);
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY_FUNCTION_PARAMETER__REFERENCE_PATHS:
+				getReferencePaths().clear();
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY_FUNCTION_PARAMETER__REFERENCE_REF:
+				setReferenceRef((LEntityAttribute)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY_FUNCTION_PARAMETER__ATTRIBUTE_REF:
+				return attributeRef != null;
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY_FUNCTION_PARAMETER__REFERENCE_PATHS:
+				return referencePaths != null && !referencePaths.isEmpty();
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY_FUNCTION_PARAMETER__REFERENCE_REF:
+				return referenceRef != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //EntityMockEntityFunctionParameterImpl
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockEntityImpl.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockEntityImpl.java
new file mode 100644
index 0000000..31962fd
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockEntityImpl.java
@@ -0,0 +1,756 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.osbp.dsl.semantic.entity.LEntity;
+import org.eclipse.osbp.dsl.semantic.entity.LEntityAttribute;
+
+import org.eclipse.osbp.xtext.entitymock.EntityMockByResourceAttribute;
+import org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage;
+import org.eclipse.osbp.xtext.entitymock.EntityMockEntity;
+import org.eclipse.osbp.xtext.entitymock.EntityMockEntityFunction;
+import org.eclipse.osbp.xtext.entitymock.EntityMockResource;
+import org.eclipse.osbp.xtext.entitymock.EntityMockTemporary;
+import org.eclipse.osbp.xtext.entitymock.IEntityMockAttribute;
+import org.eclipse.osbp.xtext.entitymock.IIterate;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Entity Mock Entity</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockEntityImpl#getName <em>Name</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockEntityImpl#getEntityRef <em>Entity Ref</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockEntityImpl#getMinRows <em>Min Rows</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockEntityImpl#getMaxRows <em>Max Rows</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockEntityImpl#getIterate <em>Iterate</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockEntityImpl#getIterator <em>Iterator</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockEntityImpl#getTemporaries <em>Temporaries</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockEntityImpl#getAttributes <em>Attributes</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockEntityImpl#getCalculations <em>Calculations</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockEntityImpl#getByResource <em>By Resource</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockEntityImpl#getByResourceAttributes <em>By Resource Attributes</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockEntityImpl#isCreateBlobMapping <em>Create Blob Mapping</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class EntityMockEntityImpl extends EntityMockLazyResolverImpl implements EntityMockEntity {
+	/**
+	 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getName()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String NAME_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getName()
+	 * @generated
+	 * @ordered
+	 */
+	protected String name = NAME_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getEntityRef() <em>Entity Ref</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getEntityRef()
+	 * @generated
+	 * @ordered
+	 */
+	protected LEntity entityRef;
+
+	/**
+	 * The default value of the '{@link #getMinRows() <em>Min Rows</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMinRows()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int MIN_ROWS_EDEFAULT = 0;
+
+	/**
+	 * The cached value of the '{@link #getMinRows() <em>Min Rows</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMinRows()
+	 * @generated
+	 * @ordered
+	 */
+	protected int minRows = MIN_ROWS_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getMaxRows() <em>Max Rows</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMaxRows()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int MAX_ROWS_EDEFAULT = 0;
+
+	/**
+	 * The cached value of the '{@link #getMaxRows() <em>Max Rows</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMaxRows()
+	 * @generated
+	 * @ordered
+	 */
+	protected int maxRows = MAX_ROWS_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getIterate() <em>Iterate</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getIterate()
+	 * @generated
+	 * @ordered
+	 */
+	protected IIterate iterate;
+
+	/**
+	 * The cached value of the '{@link #getIterator() <em>Iterator</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getIterator()
+	 * @generated
+	 * @ordered
+	 */
+	protected LEntityAttribute iterator;
+
+	/**
+	 * The cached value of the '{@link #getTemporaries() <em>Temporaries</em>}' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getTemporaries()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<EntityMockTemporary> temporaries;
+
+	/**
+	 * The cached value of the '{@link #getAttributes() <em>Attributes</em>}' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getAttributes()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<IEntityMockAttribute> attributes;
+
+	/**
+	 * The cached value of the '{@link #getCalculations() <em>Calculations</em>}' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getCalculations()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<EntityMockEntityFunction> calculations;
+
+	/**
+	 * The cached value of the '{@link #getByResource() <em>By Resource</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getByResource()
+	 * @generated
+	 * @ordered
+	 */
+	protected EntityMockResource byResource;
+
+	/**
+	 * The cached value of the '{@link #getByResourceAttributes() <em>By Resource Attributes</em>}' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getByResourceAttributes()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<EntityMockByResourceAttribute> byResourceAttributes;
+
+	/**
+	 * The default value of the '{@link #isCreateBlobMapping() <em>Create Blob Mapping</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isCreateBlobMapping()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final boolean CREATE_BLOB_MAPPING_EDEFAULT = false;
+
+	/**
+	 * The cached value of the '{@link #isCreateBlobMapping() <em>Create Blob Mapping</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isCreateBlobMapping()
+	 * @generated
+	 * @ordered
+	 */
+	protected boolean createBlobMapping = CREATE_BLOB_MAPPING_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EntityMockEntityImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return EntityMockDSLPackage.Literals.ENTITY_MOCK_ENTITY;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getName() {
+		return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setName(String newName) {
+		String oldName = name;
+		name = newName;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.ENTITY_MOCK_ENTITY__NAME, oldName, name));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public LEntity getEntityRef() {
+		if (entityRef != null && entityRef.eIsProxy()) {
+			InternalEObject oldEntityRef = (InternalEObject)entityRef;
+			entityRef = (LEntity)eResolveProxy(oldEntityRef);
+			if (entityRef != oldEntityRef) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, EntityMockDSLPackage.ENTITY_MOCK_ENTITY__ENTITY_REF, oldEntityRef, entityRef));
+			}
+		}
+		return entityRef;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public LEntity basicGetEntityRef() {
+		return entityRef;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setEntityRef(LEntity newEntityRef) {
+		LEntity oldEntityRef = entityRef;
+		entityRef = newEntityRef;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.ENTITY_MOCK_ENTITY__ENTITY_REF, oldEntityRef, entityRef));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getMinRows() {
+		return minRows;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setMinRows(int newMinRows) {
+		int oldMinRows = minRows;
+		minRows = newMinRows;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.ENTITY_MOCK_ENTITY__MIN_ROWS, oldMinRows, minRows));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getMaxRows() {
+		return maxRows;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setMaxRows(int newMaxRows) {
+		int oldMaxRows = maxRows;
+		maxRows = newMaxRows;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.ENTITY_MOCK_ENTITY__MAX_ROWS, oldMaxRows, maxRows));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IIterate getIterate() {
+		return iterate;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetIterate(IIterate newIterate, NotificationChain msgs) {
+		IIterate oldIterate = iterate;
+		iterate = newIterate;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.ENTITY_MOCK_ENTITY__ITERATE, oldIterate, newIterate);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setIterate(IIterate newIterate) {
+		if (newIterate != iterate) {
+			NotificationChain msgs = null;
+			if (iterate != null)
+				msgs = ((InternalEObject)iterate).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - EntityMockDSLPackage.ENTITY_MOCK_ENTITY__ITERATE, null, msgs);
+			if (newIterate != null)
+				msgs = ((InternalEObject)newIterate).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EntityMockDSLPackage.ENTITY_MOCK_ENTITY__ITERATE, null, msgs);
+			msgs = basicSetIterate(newIterate, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.ENTITY_MOCK_ENTITY__ITERATE, newIterate, newIterate));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public LEntityAttribute getIterator() {
+		if (iterator != null && iterator.eIsProxy()) {
+			InternalEObject oldIterator = (InternalEObject)iterator;
+			iterator = (LEntityAttribute)eResolveProxy(oldIterator);
+			if (iterator != oldIterator) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, EntityMockDSLPackage.ENTITY_MOCK_ENTITY__ITERATOR, oldIterator, iterator));
+			}
+		}
+		return iterator;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public LEntityAttribute basicGetIterator() {
+		return iterator;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setIterator(LEntityAttribute newIterator) {
+		LEntityAttribute oldIterator = iterator;
+		iterator = newIterator;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.ENTITY_MOCK_ENTITY__ITERATOR, oldIterator, iterator));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<EntityMockTemporary> getTemporaries() {
+		if (temporaries == null) {
+			temporaries = new EObjectContainmentEList<EntityMockTemporary>(EntityMockTemporary.class, this, EntityMockDSLPackage.ENTITY_MOCK_ENTITY__TEMPORARIES);
+		}
+		return temporaries;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<IEntityMockAttribute> getAttributes() {
+		if (attributes == null) {
+			attributes = new EObjectContainmentEList<IEntityMockAttribute>(IEntityMockAttribute.class, this, EntityMockDSLPackage.ENTITY_MOCK_ENTITY__ATTRIBUTES);
+		}
+		return attributes;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<EntityMockEntityFunction> getCalculations() {
+		if (calculations == null) {
+			calculations = new EObjectContainmentEList<EntityMockEntityFunction>(EntityMockEntityFunction.class, this, EntityMockDSLPackage.ENTITY_MOCK_ENTITY__CALCULATIONS);
+		}
+		return calculations;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EntityMockResource getByResource() {
+		if (byResource != null && byResource.eIsProxy()) {
+			InternalEObject oldByResource = (InternalEObject)byResource;
+			byResource = (EntityMockResource)eResolveProxy(oldByResource);
+			if (byResource != oldByResource) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, EntityMockDSLPackage.ENTITY_MOCK_ENTITY__BY_RESOURCE, oldByResource, byResource));
+			}
+		}
+		return byResource;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EntityMockResource basicGetByResource() {
+		return byResource;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setByResource(EntityMockResource newByResource) {
+		EntityMockResource oldByResource = byResource;
+		byResource = newByResource;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.ENTITY_MOCK_ENTITY__BY_RESOURCE, oldByResource, byResource));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<EntityMockByResourceAttribute> getByResourceAttributes() {
+		if (byResourceAttributes == null) {
+			byResourceAttributes = new EObjectContainmentEList<EntityMockByResourceAttribute>(EntityMockByResourceAttribute.class, this, EntityMockDSLPackage.ENTITY_MOCK_ENTITY__BY_RESOURCE_ATTRIBUTES);
+		}
+		return byResourceAttributes;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean isCreateBlobMapping() {
+		return createBlobMapping;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setCreateBlobMapping(boolean newCreateBlobMapping) {
+		boolean oldCreateBlobMapping = createBlobMapping;
+		createBlobMapping = newCreateBlobMapping;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.ENTITY_MOCK_ENTITY__CREATE_BLOB_MAPPING, oldCreateBlobMapping, createBlobMapping));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY__ITERATE:
+				return basicSetIterate(null, msgs);
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY__TEMPORARIES:
+				return ((InternalEList<?>)getTemporaries()).basicRemove(otherEnd, msgs);
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY__ATTRIBUTES:
+				return ((InternalEList<?>)getAttributes()).basicRemove(otherEnd, msgs);
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY__CALCULATIONS:
+				return ((InternalEList<?>)getCalculations()).basicRemove(otherEnd, msgs);
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY__BY_RESOURCE_ATTRIBUTES:
+				return ((InternalEList<?>)getByResourceAttributes()).basicRemove(otherEnd, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY__NAME:
+				return getName();
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY__ENTITY_REF:
+				if (resolve) return getEntityRef();
+				return basicGetEntityRef();
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY__MIN_ROWS:
+				return getMinRows();
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY__MAX_ROWS:
+				return getMaxRows();
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY__ITERATE:
+				return getIterate();
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY__ITERATOR:
+				if (resolve) return getIterator();
+				return basicGetIterator();
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY__TEMPORARIES:
+				return getTemporaries();
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY__ATTRIBUTES:
+				return getAttributes();
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY__CALCULATIONS:
+				return getCalculations();
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY__BY_RESOURCE:
+				if (resolve) return getByResource();
+				return basicGetByResource();
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY__BY_RESOURCE_ATTRIBUTES:
+				return getByResourceAttributes();
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY__CREATE_BLOB_MAPPING:
+				return isCreateBlobMapping();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY__NAME:
+				setName((String)newValue);
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY__ENTITY_REF:
+				setEntityRef((LEntity)newValue);
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY__MIN_ROWS:
+				setMinRows((Integer)newValue);
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY__MAX_ROWS:
+				setMaxRows((Integer)newValue);
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY__ITERATE:
+				setIterate((IIterate)newValue);
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY__ITERATOR:
+				setIterator((LEntityAttribute)newValue);
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY__TEMPORARIES:
+				getTemporaries().clear();
+				getTemporaries().addAll((Collection<? extends EntityMockTemporary>)newValue);
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY__ATTRIBUTES:
+				getAttributes().clear();
+				getAttributes().addAll((Collection<? extends IEntityMockAttribute>)newValue);
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY__CALCULATIONS:
+				getCalculations().clear();
+				getCalculations().addAll((Collection<? extends EntityMockEntityFunction>)newValue);
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY__BY_RESOURCE:
+				setByResource((EntityMockResource)newValue);
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY__BY_RESOURCE_ATTRIBUTES:
+				getByResourceAttributes().clear();
+				getByResourceAttributes().addAll((Collection<? extends EntityMockByResourceAttribute>)newValue);
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY__CREATE_BLOB_MAPPING:
+				setCreateBlobMapping((Boolean)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY__NAME:
+				setName(NAME_EDEFAULT);
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY__ENTITY_REF:
+				setEntityRef((LEntity)null);
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY__MIN_ROWS:
+				setMinRows(MIN_ROWS_EDEFAULT);
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY__MAX_ROWS:
+				setMaxRows(MAX_ROWS_EDEFAULT);
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY__ITERATE:
+				setIterate((IIterate)null);
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY__ITERATOR:
+				setIterator((LEntityAttribute)null);
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY__TEMPORARIES:
+				getTemporaries().clear();
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY__ATTRIBUTES:
+				getAttributes().clear();
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY__CALCULATIONS:
+				getCalculations().clear();
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY__BY_RESOURCE:
+				setByResource((EntityMockResource)null);
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY__BY_RESOURCE_ATTRIBUTES:
+				getByResourceAttributes().clear();
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY__CREATE_BLOB_MAPPING:
+				setCreateBlobMapping(CREATE_BLOB_MAPPING_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY__NAME:
+				return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY__ENTITY_REF:
+				return entityRef != null;
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY__MIN_ROWS:
+				return minRows != MIN_ROWS_EDEFAULT;
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY__MAX_ROWS:
+				return maxRows != MAX_ROWS_EDEFAULT;
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY__ITERATE:
+				return iterate != null;
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY__ITERATOR:
+				return iterator != null;
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY__TEMPORARIES:
+				return temporaries != null && !temporaries.isEmpty();
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY__ATTRIBUTES:
+				return attributes != null && !attributes.isEmpty();
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY__CALCULATIONS:
+				return calculations != null && !calculations.isEmpty();
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY__BY_RESOURCE:
+				return byResource != null;
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY__BY_RESOURCE_ATTRIBUTES:
+				return byResourceAttributes != null && !byResourceAttributes.isEmpty();
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY__CREATE_BLOB_MAPPING:
+				return createBlobMapping != CREATE_BLOB_MAPPING_EDEFAULT;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (name: ");
+		result.append(name);
+		result.append(", minRows: ");
+		result.append(minRows);
+		result.append(", maxRows: ");
+		result.append(maxRows);
+		result.append(", createBlobMapping: ");
+		result.append(createBlobMapping);
+		result.append(')');
+		return result.toString();
+	}
+
+} //EntityMockEntityImpl
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockLazyResolverImpl.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockLazyResolverImpl.java
new file mode 100644
index 0000000..ea9b4be
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockLazyResolverImpl.java
@@ -0,0 +1,88 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+
+import org.eclipse.osbp.dsl.xtext.lazyresolver.api.EcoreUtil3;
+
+import org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage;
+import org.eclipse.osbp.xtext.entitymock.EntityMockLazyResolver;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Entity Mock Lazy Resolver</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class EntityMockLazyResolverImpl extends MinimalEObjectImpl.Container implements EntityMockLazyResolver {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EntityMockLazyResolverImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return EntityMockDSLPackage.Literals.ENTITY_MOCK_LAZY_RESOLVER;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EObject eResolveProxy(final InternalEObject proxy) {
+		Resource _eResource = this.eResource();
+		ResourceSet _resourceSet = _eResource.getResourceSet();
+		return EcoreUtil3.resolve(proxy, _resourceSet);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+		switch (operationID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_LAZY_RESOLVER___ERESOLVE_PROXY__INTERNALEOBJECT:
+				return eResolveProxy((InternalEObject)arguments.get(0));
+		}
+		return super.eInvoke(operationID, arguments);
+	}
+
+} //EntityMockLazyResolverImpl
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockModelImpl.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockModelImpl.java
new file mode 100644
index 0000000..3632e65
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockModelImpl.java
@@ -0,0 +1,163 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage;
+import org.eclipse.osbp.xtext.entitymock.EntityMockModel;
+import org.eclipse.osbp.xtext.entitymock.EntityMockPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Entity Mock Model</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockModelImpl#getPackages <em>Packages</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class EntityMockModelImpl extends MinimalEObjectImpl.Container implements EntityMockModel {
+	/**
+	 * The cached value of the '{@link #getPackages() <em>Packages</em>}' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPackages()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<EntityMockPackage> packages;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EntityMockModelImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return EntityMockDSLPackage.Literals.ENTITY_MOCK_MODEL;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<EntityMockPackage> getPackages() {
+		if (packages == null) {
+			packages = new EObjectContainmentEList<EntityMockPackage>(EntityMockPackage.class, this, EntityMockDSLPackage.ENTITY_MOCK_MODEL__PACKAGES);
+		}
+		return packages;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_MODEL__PACKAGES:
+				return ((InternalEList<?>)getPackages()).basicRemove(otherEnd, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_MODEL__PACKAGES:
+				return getPackages();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_MODEL__PACKAGES:
+				getPackages().clear();
+				getPackages().addAll((Collection<? extends EntityMockPackage>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_MODEL__PACKAGES:
+				getPackages().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_MODEL__PACKAGES:
+				return packages != null && !packages.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //EntityMockModelImpl
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockObjectArrayValueImpl.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockObjectArrayValueImpl.java
new file mode 100644
index 0000000..0c9c33e
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockObjectArrayValueImpl.java
@@ -0,0 +1,225 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectArrayValue;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectEnum;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectItemValue;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Entity Mock Object Array Value</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockObjectArrayValueImpl#getEnumeration <em>Enumeration</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockObjectArrayValueImpl#getItems <em>Items</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class EntityMockObjectArrayValueImpl extends IEntityMockObjectAttributeImpl implements EntityMockObjectArrayValue {
+	/**
+	 * The cached value of the '{@link #getEnumeration() <em>Enumeration</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getEnumeration()
+	 * @generated
+	 * @ordered
+	 */
+	protected EntityMockObjectEnum enumeration;
+
+	/**
+	 * The cached value of the '{@link #getItems() <em>Items</em>}' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getItems()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<EntityMockObjectItemValue> items;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EntityMockObjectArrayValueImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return EntityMockDSLPackage.Literals.ENTITY_MOCK_OBJECT_ARRAY_VALUE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EntityMockObjectEnum getEnumeration() {
+		if (enumeration != null && enumeration.eIsProxy()) {
+			InternalEObject oldEnumeration = (InternalEObject)enumeration;
+			enumeration = (EntityMockObjectEnum)eResolveProxy(oldEnumeration);
+			if (enumeration != oldEnumeration) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, EntityMockDSLPackage.ENTITY_MOCK_OBJECT_ARRAY_VALUE__ENUMERATION, oldEnumeration, enumeration));
+			}
+		}
+		return enumeration;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EntityMockObjectEnum basicGetEnumeration() {
+		return enumeration;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setEnumeration(EntityMockObjectEnum newEnumeration) {
+		EntityMockObjectEnum oldEnumeration = enumeration;
+		enumeration = newEnumeration;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.ENTITY_MOCK_OBJECT_ARRAY_VALUE__ENUMERATION, oldEnumeration, enumeration));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<EntityMockObjectItemValue> getItems() {
+		if (items == null) {
+			items = new EObjectContainmentEList<EntityMockObjectItemValue>(EntityMockObjectItemValue.class, this, EntityMockDSLPackage.ENTITY_MOCK_OBJECT_ARRAY_VALUE__ITEMS);
+		}
+		return items;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_ARRAY_VALUE__ITEMS:
+				return ((InternalEList<?>)getItems()).basicRemove(otherEnd, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_ARRAY_VALUE__ENUMERATION:
+				if (resolve) return getEnumeration();
+				return basicGetEnumeration();
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_ARRAY_VALUE__ITEMS:
+				return getItems();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_ARRAY_VALUE__ENUMERATION:
+				setEnumeration((EntityMockObjectEnum)newValue);
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_ARRAY_VALUE__ITEMS:
+				getItems().clear();
+				getItems().addAll((Collection<? extends EntityMockObjectItemValue>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_ARRAY_VALUE__ENUMERATION:
+				setEnumeration((EntityMockObjectEnum)null);
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_ARRAY_VALUE__ITEMS:
+				getItems().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_ARRAY_VALUE__ENUMERATION:
+				return enumeration != null;
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_ARRAY_VALUE__ITEMS:
+				return items != null && !items.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //EntityMockObjectArrayValueImpl
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockObjectEmbedImpl.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockObjectEmbedImpl.java
new file mode 100644
index 0000000..5d2c282
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockObjectEmbedImpl.java
@@ -0,0 +1,167 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObject;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectEmbed;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Entity Mock Object Embed</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockObjectEmbedImpl#getObject <em>Object</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class EntityMockObjectEmbedImpl extends IEntityMockObjectAttributeImpl implements EntityMockObjectEmbed {
+	/**
+	 * The cached value of the '{@link #getObject() <em>Object</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getObject()
+	 * @generated
+	 * @ordered
+	 */
+	protected EntityMockObject object;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EntityMockObjectEmbedImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return EntityMockDSLPackage.Literals.ENTITY_MOCK_OBJECT_EMBED;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EntityMockObject getObject() {
+		if (object != null && object.eIsProxy()) {
+			InternalEObject oldObject = (InternalEObject)object;
+			object = (EntityMockObject)eResolveProxy(oldObject);
+			if (object != oldObject) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, EntityMockDSLPackage.ENTITY_MOCK_OBJECT_EMBED__OBJECT, oldObject, object));
+			}
+		}
+		return object;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EntityMockObject basicGetObject() {
+		return object;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setObject(EntityMockObject newObject) {
+		EntityMockObject oldObject = object;
+		object = newObject;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.ENTITY_MOCK_OBJECT_EMBED__OBJECT, oldObject, object));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_EMBED__OBJECT:
+				if (resolve) return getObject();
+				return basicGetObject();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_EMBED__OBJECT:
+				setObject((EntityMockObject)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_EMBED__OBJECT:
+				setObject((EntityMockObject)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_EMBED__OBJECT:
+				return object != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //EntityMockObjectEmbedImpl
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockObjectEnumImpl.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockObjectEnumImpl.java
new file mode 100644
index 0000000..ca21a9c
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockObjectEnumImpl.java
@@ -0,0 +1,236 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.osbp.dsl.semantic.common.types.LEnum;
+
+import org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectEnum;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Entity Mock Object Enum</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockObjectEnumImpl#getName <em>Name</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockObjectEnumImpl#getUsingResource <em>Using Resource</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class EntityMockObjectEnumImpl extends IEntityMockObjectUsableImpl implements EntityMockObjectEnum {
+	/**
+	 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getName()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String NAME_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getName()
+	 * @generated
+	 * @ordered
+	 */
+	protected String name = NAME_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getUsingResource() <em>Using Resource</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getUsingResource()
+	 * @generated
+	 * @ordered
+	 */
+	protected LEnum usingResource;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EntityMockObjectEnumImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return EntityMockDSLPackage.Literals.ENTITY_MOCK_OBJECT_ENUM;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getName() {
+		return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setName(String newName) {
+		String oldName = name;
+		name = newName;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.ENTITY_MOCK_OBJECT_ENUM__NAME, oldName, name));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public LEnum getUsingResource() {
+		if (usingResource != null && usingResource.eIsProxy()) {
+			InternalEObject oldUsingResource = (InternalEObject)usingResource;
+			usingResource = (LEnum)eResolveProxy(oldUsingResource);
+			if (usingResource != oldUsingResource) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, EntityMockDSLPackage.ENTITY_MOCK_OBJECT_ENUM__USING_RESOURCE, oldUsingResource, usingResource));
+			}
+		}
+		return usingResource;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public LEnum basicGetUsingResource() {
+		return usingResource;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setUsingResource(LEnum newUsingResource) {
+		LEnum oldUsingResource = usingResource;
+		usingResource = newUsingResource;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.ENTITY_MOCK_OBJECT_ENUM__USING_RESOURCE, oldUsingResource, usingResource));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_ENUM__NAME:
+				return getName();
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_ENUM__USING_RESOURCE:
+				if (resolve) return getUsingResource();
+				return basicGetUsingResource();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_ENUM__NAME:
+				setName((String)newValue);
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_ENUM__USING_RESOURCE:
+				setUsingResource((LEnum)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_ENUM__NAME:
+				setName(NAME_EDEFAULT);
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_ENUM__USING_RESOURCE:
+				setUsingResource((LEnum)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_ENUM__NAME:
+				return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_ENUM__USING_RESOURCE:
+				return usingResource != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (name: ");
+		result.append(name);
+		result.append(')');
+		return result.toString();
+	}
+
+} //EntityMockObjectEnumImpl
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockObjectFillImpl.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockObjectFillImpl.java
new file mode 100644
index 0000000..bc5176a
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockObjectFillImpl.java
@@ -0,0 +1,186 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectFill;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerType;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Entity Mock Object Fill</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockObjectFillImpl#getFillerType <em>Filler Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class EntityMockObjectFillImpl extends IEntityMockObjectAttributeImpl implements EntityMockObjectFill {
+	/**
+	 * The cached value of the '{@link #getFillerType() <em>Filler Type</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getFillerType()
+	 * @generated
+	 * @ordered
+	 */
+	protected PropertyFillerType fillerType;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EntityMockObjectFillImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return EntityMockDSLPackage.Literals.ENTITY_MOCK_OBJECT_FILL;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public PropertyFillerType getFillerType() {
+		return fillerType;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetFillerType(PropertyFillerType newFillerType, NotificationChain msgs) {
+		PropertyFillerType oldFillerType = fillerType;
+		fillerType = newFillerType;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.ENTITY_MOCK_OBJECT_FILL__FILLER_TYPE, oldFillerType, newFillerType);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setFillerType(PropertyFillerType newFillerType) {
+		if (newFillerType != fillerType) {
+			NotificationChain msgs = null;
+			if (fillerType != null)
+				msgs = ((InternalEObject)fillerType).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - EntityMockDSLPackage.ENTITY_MOCK_OBJECT_FILL__FILLER_TYPE, null, msgs);
+			if (newFillerType != null)
+				msgs = ((InternalEObject)newFillerType).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EntityMockDSLPackage.ENTITY_MOCK_OBJECT_FILL__FILLER_TYPE, null, msgs);
+			msgs = basicSetFillerType(newFillerType, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.ENTITY_MOCK_OBJECT_FILL__FILLER_TYPE, newFillerType, newFillerType));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_FILL__FILLER_TYPE:
+				return basicSetFillerType(null, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_FILL__FILLER_TYPE:
+				return getFillerType();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_FILL__FILLER_TYPE:
+				setFillerType((PropertyFillerType)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_FILL__FILLER_TYPE:
+				setFillerType((PropertyFillerType)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_FILL__FILLER_TYPE:
+				return fillerType != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //EntityMockObjectFillImpl
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockObjectFunctionImpl.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockObjectFunctionImpl.java
new file mode 100644
index 0000000..9e16c4b
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockObjectFunctionImpl.java
@@ -0,0 +1,300 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectFunction;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectFunctionParameter;
+
+import org.eclipse.xtext.common.types.JvmTypeReference;
+
+import org.eclipse.xtext.xbase.XExpression;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Entity Mock Object Function</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockObjectFunctionImpl#getOftype <em>Oftype</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockObjectFunctionImpl#getParams <em>Params</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockObjectFunctionImpl#getBody <em>Body</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class EntityMockObjectFunctionImpl extends IEntityMockObjectAttributeImpl implements EntityMockObjectFunction {
+	/**
+	 * The cached value of the '{@link #getOftype() <em>Oftype</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getOftype()
+	 * @generated
+	 * @ordered
+	 */
+	protected JvmTypeReference oftype;
+
+	/**
+	 * The cached value of the '{@link #getParams() <em>Params</em>}' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getParams()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<EntityMockObjectFunctionParameter> params;
+
+	/**
+	 * The cached value of the '{@link #getBody() <em>Body</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBody()
+	 * @generated
+	 * @ordered
+	 */
+	protected XExpression body;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EntityMockObjectFunctionImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return EntityMockDSLPackage.Literals.ENTITY_MOCK_OBJECT_FUNCTION;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public JvmTypeReference getOftype() {
+		return oftype;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetOftype(JvmTypeReference newOftype, NotificationChain msgs) {
+		JvmTypeReference oldOftype = oftype;
+		oftype = newOftype;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.ENTITY_MOCK_OBJECT_FUNCTION__OFTYPE, oldOftype, newOftype);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setOftype(JvmTypeReference newOftype) {
+		if (newOftype != oftype) {
+			NotificationChain msgs = null;
+			if (oftype != null)
+				msgs = ((InternalEObject)oftype).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - EntityMockDSLPackage.ENTITY_MOCK_OBJECT_FUNCTION__OFTYPE, null, msgs);
+			if (newOftype != null)
+				msgs = ((InternalEObject)newOftype).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EntityMockDSLPackage.ENTITY_MOCK_OBJECT_FUNCTION__OFTYPE, null, msgs);
+			msgs = basicSetOftype(newOftype, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.ENTITY_MOCK_OBJECT_FUNCTION__OFTYPE, newOftype, newOftype));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<EntityMockObjectFunctionParameter> getParams() {
+		if (params == null) {
+			params = new EObjectContainmentEList<EntityMockObjectFunctionParameter>(EntityMockObjectFunctionParameter.class, this, EntityMockDSLPackage.ENTITY_MOCK_OBJECT_FUNCTION__PARAMS);
+		}
+		return params;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public XExpression getBody() {
+		return body;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetBody(XExpression newBody, NotificationChain msgs) {
+		XExpression oldBody = body;
+		body = newBody;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.ENTITY_MOCK_OBJECT_FUNCTION__BODY, oldBody, newBody);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBody(XExpression newBody) {
+		if (newBody != body) {
+			NotificationChain msgs = null;
+			if (body != null)
+				msgs = ((InternalEObject)body).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - EntityMockDSLPackage.ENTITY_MOCK_OBJECT_FUNCTION__BODY, null, msgs);
+			if (newBody != null)
+				msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EntityMockDSLPackage.ENTITY_MOCK_OBJECT_FUNCTION__BODY, null, msgs);
+			msgs = basicSetBody(newBody, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.ENTITY_MOCK_OBJECT_FUNCTION__BODY, newBody, newBody));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_FUNCTION__OFTYPE:
+				return basicSetOftype(null, msgs);
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_FUNCTION__PARAMS:
+				return ((InternalEList<?>)getParams()).basicRemove(otherEnd, msgs);
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_FUNCTION__BODY:
+				return basicSetBody(null, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_FUNCTION__OFTYPE:
+				return getOftype();
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_FUNCTION__PARAMS:
+				return getParams();
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_FUNCTION__BODY:
+				return getBody();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_FUNCTION__OFTYPE:
+				setOftype((JvmTypeReference)newValue);
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_FUNCTION__PARAMS:
+				getParams().clear();
+				getParams().addAll((Collection<? extends EntityMockObjectFunctionParameter>)newValue);
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_FUNCTION__BODY:
+				setBody((XExpression)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_FUNCTION__OFTYPE:
+				setOftype((JvmTypeReference)null);
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_FUNCTION__PARAMS:
+				getParams().clear();
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_FUNCTION__BODY:
+				setBody((XExpression)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_FUNCTION__OFTYPE:
+				return oftype != null;
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_FUNCTION__PARAMS:
+				return params != null && !params.isEmpty();
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_FUNCTION__BODY:
+				return body != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //EntityMockObjectFunctionImpl
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockObjectFunctionParameterImpl.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockObjectFunctionParameterImpl.java
new file mode 100644
index 0000000..4f8a2b4
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockObjectFunctionParameterImpl.java
@@ -0,0 +1,249 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectFunctionParameter;
+import org.eclipse.osbp.xtext.entitymock.IEntityMockObjectUsable;
+
+import org.eclipse.xtext.common.types.JvmTypeReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Entity Mock Object Function Parameter</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockObjectFunctionParameterImpl#getParameterType <em>Parameter Type</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockObjectFunctionParameterImpl#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class EntityMockObjectFunctionParameterImpl extends MinimalEObjectImpl.Container implements EntityMockObjectFunctionParameter {
+	/**
+	 * The cached value of the '{@link #getParameterType() <em>Parameter Type</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getParameterType()
+	 * @generated
+	 * @ordered
+	 */
+	protected JvmTypeReference parameterType;
+
+	/**
+	 * The cached value of the '{@link #getName() <em>Name</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getName()
+	 * @generated
+	 * @ordered
+	 */
+	protected IEntityMockObjectUsable name;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EntityMockObjectFunctionParameterImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return EntityMockDSLPackage.Literals.ENTITY_MOCK_OBJECT_FUNCTION_PARAMETER;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public JvmTypeReference getParameterType() {
+		return parameterType;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetParameterType(JvmTypeReference newParameterType, NotificationChain msgs) {
+		JvmTypeReference oldParameterType = parameterType;
+		parameterType = newParameterType;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.ENTITY_MOCK_OBJECT_FUNCTION_PARAMETER__PARAMETER_TYPE, oldParameterType, newParameterType);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setParameterType(JvmTypeReference newParameterType) {
+		if (newParameterType != parameterType) {
+			NotificationChain msgs = null;
+			if (parameterType != null)
+				msgs = ((InternalEObject)parameterType).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - EntityMockDSLPackage.ENTITY_MOCK_OBJECT_FUNCTION_PARAMETER__PARAMETER_TYPE, null, msgs);
+			if (newParameterType != null)
+				msgs = ((InternalEObject)newParameterType).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EntityMockDSLPackage.ENTITY_MOCK_OBJECT_FUNCTION_PARAMETER__PARAMETER_TYPE, null, msgs);
+			msgs = basicSetParameterType(newParameterType, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.ENTITY_MOCK_OBJECT_FUNCTION_PARAMETER__PARAMETER_TYPE, newParameterType, newParameterType));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IEntityMockObjectUsable getName() {
+		if (name != null && name.eIsProxy()) {
+			InternalEObject oldName = (InternalEObject)name;
+			name = (IEntityMockObjectUsable)eResolveProxy(oldName);
+			if (name != oldName) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, EntityMockDSLPackage.ENTITY_MOCK_OBJECT_FUNCTION_PARAMETER__NAME, oldName, name));
+			}
+		}
+		return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IEntityMockObjectUsable basicGetName() {
+		return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setName(IEntityMockObjectUsable newName) {
+		IEntityMockObjectUsable oldName = name;
+		name = newName;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.ENTITY_MOCK_OBJECT_FUNCTION_PARAMETER__NAME, oldName, name));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_FUNCTION_PARAMETER__PARAMETER_TYPE:
+				return basicSetParameterType(null, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_FUNCTION_PARAMETER__PARAMETER_TYPE:
+				return getParameterType();
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_FUNCTION_PARAMETER__NAME:
+				if (resolve) return getName();
+				return basicGetName();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_FUNCTION_PARAMETER__PARAMETER_TYPE:
+				setParameterType((JvmTypeReference)newValue);
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_FUNCTION_PARAMETER__NAME:
+				setName((IEntityMockObjectUsable)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_FUNCTION_PARAMETER__PARAMETER_TYPE:
+				setParameterType((JvmTypeReference)null);
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_FUNCTION_PARAMETER__NAME:
+				setName((IEntityMockObjectUsable)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_FUNCTION_PARAMETER__PARAMETER_TYPE:
+				return parameterType != null;
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_FUNCTION_PARAMETER__NAME:
+				return name != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //EntityMockObjectFunctionParameterImpl
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockObjectImpl.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockObjectImpl.java
new file mode 100644
index 0000000..c9f2786
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockObjectImpl.java
@@ -0,0 +1,307 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObject;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectEnum;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectFunction;
+import org.eclipse.osbp.xtext.entitymock.IEntityMockObjectAttribute;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Entity Mock Object</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockObjectImpl#getName <em>Name</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockObjectImpl#getEnumerations <em>Enumerations</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockObjectImpl#getAttributes <em>Attributes</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockObjectImpl#getCalculations <em>Calculations</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class EntityMockObjectImpl extends MinimalEObjectImpl.Container implements EntityMockObject {
+	/**
+	 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getName()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String NAME_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getName()
+	 * @generated
+	 * @ordered
+	 */
+	protected String name = NAME_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getEnumerations() <em>Enumerations</em>}' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getEnumerations()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<EntityMockObjectEnum> enumerations;
+
+	/**
+	 * The cached value of the '{@link #getAttributes() <em>Attributes</em>}' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getAttributes()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<IEntityMockObjectAttribute> attributes;
+
+	/**
+	 * The cached value of the '{@link #getCalculations() <em>Calculations</em>}' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getCalculations()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<EntityMockObjectFunction> calculations;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EntityMockObjectImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return EntityMockDSLPackage.Literals.ENTITY_MOCK_OBJECT;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getName() {
+		return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setName(String newName) {
+		String oldName = name;
+		name = newName;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.ENTITY_MOCK_OBJECT__NAME, oldName, name));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<EntityMockObjectEnum> getEnumerations() {
+		if (enumerations == null) {
+			enumerations = new EObjectContainmentEList<EntityMockObjectEnum>(EntityMockObjectEnum.class, this, EntityMockDSLPackage.ENTITY_MOCK_OBJECT__ENUMERATIONS);
+		}
+		return enumerations;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<IEntityMockObjectAttribute> getAttributes() {
+		if (attributes == null) {
+			attributes = new EObjectContainmentEList<IEntityMockObjectAttribute>(IEntityMockObjectAttribute.class, this, EntityMockDSLPackage.ENTITY_MOCK_OBJECT__ATTRIBUTES);
+		}
+		return attributes;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<EntityMockObjectFunction> getCalculations() {
+		if (calculations == null) {
+			calculations = new EObjectContainmentEList<EntityMockObjectFunction>(EntityMockObjectFunction.class, this, EntityMockDSLPackage.ENTITY_MOCK_OBJECT__CALCULATIONS);
+		}
+		return calculations;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT__ENUMERATIONS:
+				return ((InternalEList<?>)getEnumerations()).basicRemove(otherEnd, msgs);
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT__ATTRIBUTES:
+				return ((InternalEList<?>)getAttributes()).basicRemove(otherEnd, msgs);
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT__CALCULATIONS:
+				return ((InternalEList<?>)getCalculations()).basicRemove(otherEnd, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT__NAME:
+				return getName();
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT__ENUMERATIONS:
+				return getEnumerations();
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT__ATTRIBUTES:
+				return getAttributes();
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT__CALCULATIONS:
+				return getCalculations();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT__NAME:
+				setName((String)newValue);
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT__ENUMERATIONS:
+				getEnumerations().clear();
+				getEnumerations().addAll((Collection<? extends EntityMockObjectEnum>)newValue);
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT__ATTRIBUTES:
+				getAttributes().clear();
+				getAttributes().addAll((Collection<? extends IEntityMockObjectAttribute>)newValue);
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT__CALCULATIONS:
+				getCalculations().clear();
+				getCalculations().addAll((Collection<? extends EntityMockObjectFunction>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT__NAME:
+				setName(NAME_EDEFAULT);
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT__ENUMERATIONS:
+				getEnumerations().clear();
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT__ATTRIBUTES:
+				getAttributes().clear();
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT__CALCULATIONS:
+				getCalculations().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT__NAME:
+				return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT__ENUMERATIONS:
+				return enumerations != null && !enumerations.isEmpty();
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT__ATTRIBUTES:
+				return attributes != null && !attributes.isEmpty();
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT__CALCULATIONS:
+				return calculations != null && !calculations.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (name: ");
+		result.append(name);
+		result.append(')');
+		return result.toString();
+	}
+
+} //EntityMockObjectImpl
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockObjectItemValueImpl.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockObjectItemValueImpl.java
new file mode 100644
index 0000000..99b0c06
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockObjectItemValueImpl.java
@@ -0,0 +1,226 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EDataTypeEList;
+
+import org.eclipse.osbp.dsl.semantic.common.types.LEnumLiteral;
+
+import org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectItemValue;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Entity Mock Object Item Value</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockObjectItemValueImpl#getDatarow <em>Datarow</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockObjectItemValueImpl#getValues <em>Values</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class EntityMockObjectItemValueImpl extends MinimalEObjectImpl.Container implements EntityMockObjectItemValue {
+	/**
+	 * The cached value of the '{@link #getDatarow() <em>Datarow</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDatarow()
+	 * @generated
+	 * @ordered
+	 */
+	protected LEnumLiteral datarow;
+
+	/**
+	 * The cached value of the '{@link #getValues() <em>Values</em>}' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getValues()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<String> values;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EntityMockObjectItemValueImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return EntityMockDSLPackage.Literals.ENTITY_MOCK_OBJECT_ITEM_VALUE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public LEnumLiteral getDatarow() {
+		if (datarow != null && datarow.eIsProxy()) {
+			InternalEObject oldDatarow = (InternalEObject)datarow;
+			datarow = (LEnumLiteral)eResolveProxy(oldDatarow);
+			if (datarow != oldDatarow) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, EntityMockDSLPackage.ENTITY_MOCK_OBJECT_ITEM_VALUE__DATAROW, oldDatarow, datarow));
+			}
+		}
+		return datarow;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public LEnumLiteral basicGetDatarow() {
+		return datarow;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setDatarow(LEnumLiteral newDatarow) {
+		LEnumLiteral oldDatarow = datarow;
+		datarow = newDatarow;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.ENTITY_MOCK_OBJECT_ITEM_VALUE__DATAROW, oldDatarow, datarow));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<String> getValues() {
+		if (values == null) {
+			values = new EDataTypeEList<String>(String.class, this, EntityMockDSLPackage.ENTITY_MOCK_OBJECT_ITEM_VALUE__VALUES);
+		}
+		return values;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_ITEM_VALUE__DATAROW:
+				if (resolve) return getDatarow();
+				return basicGetDatarow();
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_ITEM_VALUE__VALUES:
+				return getValues();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_ITEM_VALUE__DATAROW:
+				setDatarow((LEnumLiteral)newValue);
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_ITEM_VALUE__VALUES:
+				getValues().clear();
+				getValues().addAll((Collection<? extends String>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_ITEM_VALUE__DATAROW:
+				setDatarow((LEnumLiteral)null);
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_ITEM_VALUE__VALUES:
+				getValues().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_ITEM_VALUE__DATAROW:
+				return datarow != null;
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_ITEM_VALUE__VALUES:
+				return values != null && !values.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (values: ");
+		result.append(values);
+		result.append(')');
+		return result.toString();
+	}
+
+} //EntityMockObjectItemValueImpl
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockObjectPlainValueImpl.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockObjectPlainValueImpl.java
new file mode 100644
index 0000000..03534a2
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockObjectPlainValueImpl.java
@@ -0,0 +1,158 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.util.EDataTypeEList;
+
+import org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectPlainValue;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Entity Mock Object Plain Value</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockObjectPlainValueImpl#getValues <em>Values</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class EntityMockObjectPlainValueImpl extends IEntityMockObjectAttributeImpl implements EntityMockObjectPlainValue {
+	/**
+	 * The cached value of the '{@link #getValues() <em>Values</em>}' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getValues()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<String> values;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EntityMockObjectPlainValueImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return EntityMockDSLPackage.Literals.ENTITY_MOCK_OBJECT_PLAIN_VALUE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<String> getValues() {
+		if (values == null) {
+			values = new EDataTypeEList<String>(String.class, this, EntityMockDSLPackage.ENTITY_MOCK_OBJECT_PLAIN_VALUE__VALUES);
+		}
+		return values;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_PLAIN_VALUE__VALUES:
+				return getValues();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_PLAIN_VALUE__VALUES:
+				getValues().clear();
+				getValues().addAll((Collection<? extends String>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_PLAIN_VALUE__VALUES:
+				getValues().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_PLAIN_VALUE__VALUES:
+				return values != null && !values.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (values: ");
+		result.append(values);
+		result.append(')');
+		return result.toString();
+	}
+
+} //EntityMockObjectPlainValueImpl
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockObjectResourceValueImpl.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockObjectResourceValueImpl.java
new file mode 100644
index 0000000..ae6eefe
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockObjectResourceValueImpl.java
@@ -0,0 +1,228 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectEnum;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectResourceValue;
+import org.eclipse.osbp.xtext.entitymock.EntityMockResourceAttribute;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Entity Mock Object Resource Value</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockObjectResourceValueImpl#getResourceEnum <em>Resource Enum</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockObjectResourceValueImpl#getResourceAttribute <em>Resource Attribute</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class EntityMockObjectResourceValueImpl extends IEntityMockObjectAttributeImpl implements EntityMockObjectResourceValue {
+	/**
+	 * The cached value of the '{@link #getResourceEnum() <em>Resource Enum</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getResourceEnum()
+	 * @generated
+	 * @ordered
+	 */
+	protected EntityMockObjectEnum resourceEnum;
+
+	/**
+	 * The cached value of the '{@link #getResourceAttribute() <em>Resource Attribute</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getResourceAttribute()
+	 * @generated
+	 * @ordered
+	 */
+	protected EntityMockResourceAttribute resourceAttribute;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EntityMockObjectResourceValueImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return EntityMockDSLPackage.Literals.ENTITY_MOCK_OBJECT_RESOURCE_VALUE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EntityMockObjectEnum getResourceEnum() {
+		if (resourceEnum != null && resourceEnum.eIsProxy()) {
+			InternalEObject oldResourceEnum = (InternalEObject)resourceEnum;
+			resourceEnum = (EntityMockObjectEnum)eResolveProxy(oldResourceEnum);
+			if (resourceEnum != oldResourceEnum) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, EntityMockDSLPackage.ENTITY_MOCK_OBJECT_RESOURCE_VALUE__RESOURCE_ENUM, oldResourceEnum, resourceEnum));
+			}
+		}
+		return resourceEnum;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EntityMockObjectEnum basicGetResourceEnum() {
+		return resourceEnum;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setResourceEnum(EntityMockObjectEnum newResourceEnum) {
+		EntityMockObjectEnum oldResourceEnum = resourceEnum;
+		resourceEnum = newResourceEnum;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.ENTITY_MOCK_OBJECT_RESOURCE_VALUE__RESOURCE_ENUM, oldResourceEnum, resourceEnum));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EntityMockResourceAttribute getResourceAttribute() {
+		if (resourceAttribute != null && resourceAttribute.eIsProxy()) {
+			InternalEObject oldResourceAttribute = (InternalEObject)resourceAttribute;
+			resourceAttribute = (EntityMockResourceAttribute)eResolveProxy(oldResourceAttribute);
+			if (resourceAttribute != oldResourceAttribute) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, EntityMockDSLPackage.ENTITY_MOCK_OBJECT_RESOURCE_VALUE__RESOURCE_ATTRIBUTE, oldResourceAttribute, resourceAttribute));
+			}
+		}
+		return resourceAttribute;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EntityMockResourceAttribute basicGetResourceAttribute() {
+		return resourceAttribute;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setResourceAttribute(EntityMockResourceAttribute newResourceAttribute) {
+		EntityMockResourceAttribute oldResourceAttribute = resourceAttribute;
+		resourceAttribute = newResourceAttribute;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.ENTITY_MOCK_OBJECT_RESOURCE_VALUE__RESOURCE_ATTRIBUTE, oldResourceAttribute, resourceAttribute));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_RESOURCE_VALUE__RESOURCE_ENUM:
+				if (resolve) return getResourceEnum();
+				return basicGetResourceEnum();
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_RESOURCE_VALUE__RESOURCE_ATTRIBUTE:
+				if (resolve) return getResourceAttribute();
+				return basicGetResourceAttribute();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_RESOURCE_VALUE__RESOURCE_ENUM:
+				setResourceEnum((EntityMockObjectEnum)newValue);
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_RESOURCE_VALUE__RESOURCE_ATTRIBUTE:
+				setResourceAttribute((EntityMockResourceAttribute)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_RESOURCE_VALUE__RESOURCE_ENUM:
+				setResourceEnum((EntityMockObjectEnum)null);
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_RESOURCE_VALUE__RESOURCE_ATTRIBUTE:
+				setResourceAttribute((EntityMockResourceAttribute)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_RESOURCE_VALUE__RESOURCE_ENUM:
+				return resourceEnum != null;
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_RESOURCE_VALUE__RESOURCE_ATTRIBUTE:
+				return resourceAttribute != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //EntityMockObjectResourceValueImpl
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockObjectsImpl.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockObjectsImpl.java
new file mode 100644
index 0000000..82c286d
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockObjectsImpl.java
@@ -0,0 +1,163 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObject;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjects;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Entity Mock Objects</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockObjectsImpl#getObjects <em>Objects</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class EntityMockObjectsImpl extends MinimalEObjectImpl.Container implements EntityMockObjects {
+	/**
+	 * The cached value of the '{@link #getObjects() <em>Objects</em>}' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getObjects()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<EntityMockObject> objects;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EntityMockObjectsImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return EntityMockDSLPackage.Literals.ENTITY_MOCK_OBJECTS;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<EntityMockObject> getObjects() {
+		if (objects == null) {
+			objects = new EObjectContainmentEList<EntityMockObject>(EntityMockObject.class, this, EntityMockDSLPackage.ENTITY_MOCK_OBJECTS__OBJECTS);
+		}
+		return objects;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECTS__OBJECTS:
+				return ((InternalEList<?>)getObjects()).basicRemove(otherEnd, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECTS__OBJECTS:
+				return getObjects();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECTS__OBJECTS:
+				getObjects().clear();
+				getObjects().addAll((Collection<? extends EntityMockObject>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECTS__OBJECTS:
+				getObjects().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECTS__OBJECTS:
+				return objects != null && !objects.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //EntityMockObjectsImpl
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockPackageImpl.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockPackageImpl.java
new file mode 100644
index 0000000..a296487
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockPackageImpl.java
@@ -0,0 +1,524 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.osbp.dsl.semantic.common.types.impl.LPackageImpl;
+
+import org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage;
+import org.eclipse.osbp.xtext.entitymock.EntityMockDataTypes;
+import org.eclipse.osbp.xtext.entitymock.EntityMockEntities;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjects;
+import org.eclipse.osbp.xtext.entitymock.EntityMockPackage;
+import org.eclipse.osbp.xtext.entitymock.EntityMockResources;
+import org.eclipse.osbp.xtext.entitymock.RunningDataInterchanges;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Entity Mock Package</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockPackageImpl#getRunPriority <em>Run Priority</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockPackageImpl#getDatainterchanges <em>Datainterchanges</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockPackageImpl#getResources <em>Resources</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockPackageImpl#getObjects <em>Objects</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockPackageImpl#getDatatypes <em>Datatypes</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockPackageImpl#getEntities <em>Entities</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class EntityMockPackageImpl extends LPackageImpl implements EntityMockPackage {
+	/**
+	 * The default value of the '{@link #getRunPriority() <em>Run Priority</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getRunPriority()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int RUN_PRIORITY_EDEFAULT = 0;
+
+	/**
+	 * The cached value of the '{@link #getRunPriority() <em>Run Priority</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getRunPriority()
+	 * @generated
+	 * @ordered
+	 */
+	protected int runPriority = RUN_PRIORITY_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getDatainterchanges() <em>Datainterchanges</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDatainterchanges()
+	 * @generated
+	 * @ordered
+	 */
+	protected RunningDataInterchanges datainterchanges;
+
+	/**
+	 * The cached value of the '{@link #getResources() <em>Resources</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getResources()
+	 * @generated
+	 * @ordered
+	 */
+	protected EntityMockResources resources;
+
+	/**
+	 * The cached value of the '{@link #getObjects() <em>Objects</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getObjects()
+	 * @generated
+	 * @ordered
+	 */
+	protected EntityMockObjects objects;
+
+	/**
+	 * The cached value of the '{@link #getDatatypes() <em>Datatypes</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDatatypes()
+	 * @generated
+	 * @ordered
+	 */
+	protected EntityMockDataTypes datatypes;
+
+	/**
+	 * The cached value of the '{@link #getEntities() <em>Entities</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getEntities()
+	 * @generated
+	 * @ordered
+	 */
+	protected EntityMockEntities entities;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EntityMockPackageImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return EntityMockDSLPackage.Literals.ENTITY_MOCK_PACKAGE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getRunPriority() {
+		return runPriority;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setRunPriority(int newRunPriority) {
+		int oldRunPriority = runPriority;
+		runPriority = newRunPriority;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.ENTITY_MOCK_PACKAGE__RUN_PRIORITY, oldRunPriority, runPriority));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public RunningDataInterchanges getDatainterchanges() {
+		return datainterchanges;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetDatainterchanges(RunningDataInterchanges newDatainterchanges, NotificationChain msgs) {
+		RunningDataInterchanges oldDatainterchanges = datainterchanges;
+		datainterchanges = newDatainterchanges;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.ENTITY_MOCK_PACKAGE__DATAINTERCHANGES, oldDatainterchanges, newDatainterchanges);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setDatainterchanges(RunningDataInterchanges newDatainterchanges) {
+		if (newDatainterchanges != datainterchanges) {
+			NotificationChain msgs = null;
+			if (datainterchanges != null)
+				msgs = ((InternalEObject)datainterchanges).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - EntityMockDSLPackage.ENTITY_MOCK_PACKAGE__DATAINTERCHANGES, null, msgs);
+			if (newDatainterchanges != null)
+				msgs = ((InternalEObject)newDatainterchanges).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EntityMockDSLPackage.ENTITY_MOCK_PACKAGE__DATAINTERCHANGES, null, msgs);
+			msgs = basicSetDatainterchanges(newDatainterchanges, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.ENTITY_MOCK_PACKAGE__DATAINTERCHANGES, newDatainterchanges, newDatainterchanges));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EntityMockResources getResources() {
+		return resources;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetResources(EntityMockResources newResources, NotificationChain msgs) {
+		EntityMockResources oldResources = resources;
+		resources = newResources;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.ENTITY_MOCK_PACKAGE__RESOURCES, oldResources, newResources);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setResources(EntityMockResources newResources) {
+		if (newResources != resources) {
+			NotificationChain msgs = null;
+			if (resources != null)
+				msgs = ((InternalEObject)resources).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - EntityMockDSLPackage.ENTITY_MOCK_PACKAGE__RESOURCES, null, msgs);
+			if (newResources != null)
+				msgs = ((InternalEObject)newResources).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EntityMockDSLPackage.ENTITY_MOCK_PACKAGE__RESOURCES, null, msgs);
+			msgs = basicSetResources(newResources, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.ENTITY_MOCK_PACKAGE__RESOURCES, newResources, newResources));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EntityMockObjects getObjects() {
+		return objects;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetObjects(EntityMockObjects newObjects, NotificationChain msgs) {
+		EntityMockObjects oldObjects = objects;
+		objects = newObjects;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.ENTITY_MOCK_PACKAGE__OBJECTS, oldObjects, newObjects);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setObjects(EntityMockObjects newObjects) {
+		if (newObjects != objects) {
+			NotificationChain msgs = null;
+			if (objects != null)
+				msgs = ((InternalEObject)objects).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - EntityMockDSLPackage.ENTITY_MOCK_PACKAGE__OBJECTS, null, msgs);
+			if (newObjects != null)
+				msgs = ((InternalEObject)newObjects).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EntityMockDSLPackage.ENTITY_MOCK_PACKAGE__OBJECTS, null, msgs);
+			msgs = basicSetObjects(newObjects, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.ENTITY_MOCK_PACKAGE__OBJECTS, newObjects, newObjects));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EntityMockDataTypes getDatatypes() {
+		return datatypes;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetDatatypes(EntityMockDataTypes newDatatypes, NotificationChain msgs) {
+		EntityMockDataTypes oldDatatypes = datatypes;
+		datatypes = newDatatypes;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.ENTITY_MOCK_PACKAGE__DATATYPES, oldDatatypes, newDatatypes);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setDatatypes(EntityMockDataTypes newDatatypes) {
+		if (newDatatypes != datatypes) {
+			NotificationChain msgs = null;
+			if (datatypes != null)
+				msgs = ((InternalEObject)datatypes).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - EntityMockDSLPackage.ENTITY_MOCK_PACKAGE__DATATYPES, null, msgs);
+			if (newDatatypes != null)
+				msgs = ((InternalEObject)newDatatypes).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EntityMockDSLPackage.ENTITY_MOCK_PACKAGE__DATATYPES, null, msgs);
+			msgs = basicSetDatatypes(newDatatypes, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.ENTITY_MOCK_PACKAGE__DATATYPES, newDatatypes, newDatatypes));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EntityMockEntities getEntities() {
+		return entities;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetEntities(EntityMockEntities newEntities, NotificationChain msgs) {
+		EntityMockEntities oldEntities = entities;
+		entities = newEntities;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.ENTITY_MOCK_PACKAGE__ENTITIES, oldEntities, newEntities);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setEntities(EntityMockEntities newEntities) {
+		if (newEntities != entities) {
+			NotificationChain msgs = null;
+			if (entities != null)
+				msgs = ((InternalEObject)entities).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - EntityMockDSLPackage.ENTITY_MOCK_PACKAGE__ENTITIES, null, msgs);
+			if (newEntities != null)
+				msgs = ((InternalEObject)newEntities).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EntityMockDSLPackage.ENTITY_MOCK_PACKAGE__ENTITIES, null, msgs);
+			msgs = basicSetEntities(newEntities, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.ENTITY_MOCK_PACKAGE__ENTITIES, newEntities, newEntities));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_PACKAGE__DATAINTERCHANGES:
+				return basicSetDatainterchanges(null, msgs);
+			case EntityMockDSLPackage.ENTITY_MOCK_PACKAGE__RESOURCES:
+				return basicSetResources(null, msgs);
+			case EntityMockDSLPackage.ENTITY_MOCK_PACKAGE__OBJECTS:
+				return basicSetObjects(null, msgs);
+			case EntityMockDSLPackage.ENTITY_MOCK_PACKAGE__DATATYPES:
+				return basicSetDatatypes(null, msgs);
+			case EntityMockDSLPackage.ENTITY_MOCK_PACKAGE__ENTITIES:
+				return basicSetEntities(null, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_PACKAGE__RUN_PRIORITY:
+				return getRunPriority();
+			case EntityMockDSLPackage.ENTITY_MOCK_PACKAGE__DATAINTERCHANGES:
+				return getDatainterchanges();
+			case EntityMockDSLPackage.ENTITY_MOCK_PACKAGE__RESOURCES:
+				return getResources();
+			case EntityMockDSLPackage.ENTITY_MOCK_PACKAGE__OBJECTS:
+				return getObjects();
+			case EntityMockDSLPackage.ENTITY_MOCK_PACKAGE__DATATYPES:
+				return getDatatypes();
+			case EntityMockDSLPackage.ENTITY_MOCK_PACKAGE__ENTITIES:
+				return getEntities();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_PACKAGE__RUN_PRIORITY:
+				setRunPriority((Integer)newValue);
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_PACKAGE__DATAINTERCHANGES:
+				setDatainterchanges((RunningDataInterchanges)newValue);
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_PACKAGE__RESOURCES:
+				setResources((EntityMockResources)newValue);
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_PACKAGE__OBJECTS:
+				setObjects((EntityMockObjects)newValue);
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_PACKAGE__DATATYPES:
+				setDatatypes((EntityMockDataTypes)newValue);
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_PACKAGE__ENTITIES:
+				setEntities((EntityMockEntities)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_PACKAGE__RUN_PRIORITY:
+				setRunPriority(RUN_PRIORITY_EDEFAULT);
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_PACKAGE__DATAINTERCHANGES:
+				setDatainterchanges((RunningDataInterchanges)null);
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_PACKAGE__RESOURCES:
+				setResources((EntityMockResources)null);
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_PACKAGE__OBJECTS:
+				setObjects((EntityMockObjects)null);
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_PACKAGE__DATATYPES:
+				setDatatypes((EntityMockDataTypes)null);
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_PACKAGE__ENTITIES:
+				setEntities((EntityMockEntities)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_PACKAGE__RUN_PRIORITY:
+				return runPriority != RUN_PRIORITY_EDEFAULT;
+			case EntityMockDSLPackage.ENTITY_MOCK_PACKAGE__DATAINTERCHANGES:
+				return datainterchanges != null;
+			case EntityMockDSLPackage.ENTITY_MOCK_PACKAGE__RESOURCES:
+				return resources != null;
+			case EntityMockDSLPackage.ENTITY_MOCK_PACKAGE__OBJECTS:
+				return objects != null;
+			case EntityMockDSLPackage.ENTITY_MOCK_PACKAGE__DATATYPES:
+				return datatypes != null;
+			case EntityMockDSLPackage.ENTITY_MOCK_PACKAGE__ENTITIES:
+				return entities != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (runPriority: ");
+		result.append(runPriority);
+		result.append(')');
+		return result.toString();
+	}
+
+} //EntityMockPackageImpl
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockReferencedObjectAttributeImpl.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockReferencedObjectAttributeImpl.java
new file mode 100644
index 0000000..cfce118
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockReferencedObjectAttributeImpl.java
@@ -0,0 +1,270 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+
+import org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectEmbed;
+import org.eclipse.osbp.xtext.entitymock.EntityMockReferencedObjectAttribute;
+import org.eclipse.osbp.xtext.entitymock.EntityMockTemporary;
+import org.eclipse.osbp.xtext.entitymock.IEntityMockObjectUsable;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Entity Mock Referenced Object Attribute</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockReferencedObjectAttributeImpl#getTemporary <em>Temporary</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockReferencedObjectAttributeImpl#getEmbedded <em>Embedded</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockReferencedObjectAttributeImpl#getAttribute <em>Attribute</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class EntityMockReferencedObjectAttributeImpl extends EntityMockLazyResolverImpl implements EntityMockReferencedObjectAttribute {
+	/**
+	 * The cached value of the '{@link #getTemporary() <em>Temporary</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getTemporary()
+	 * @generated
+	 * @ordered
+	 */
+	protected EntityMockTemporary temporary;
+
+	/**
+	 * The cached value of the '{@link #getEmbedded() <em>Embedded</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getEmbedded()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<EntityMockObjectEmbed> embedded;
+
+	/**
+	 * The cached value of the '{@link #getAttribute() <em>Attribute</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getAttribute()
+	 * @generated
+	 * @ordered
+	 */
+	protected IEntityMockObjectUsable attribute;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EntityMockReferencedObjectAttributeImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return EntityMockDSLPackage.Literals.ENTITY_MOCK_REFERENCED_OBJECT_ATTRIBUTE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EntityMockTemporary getTemporary() {
+		if (temporary != null && temporary.eIsProxy()) {
+			InternalEObject oldTemporary = (InternalEObject)temporary;
+			temporary = (EntityMockTemporary)eResolveProxy(oldTemporary);
+			if (temporary != oldTemporary) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, EntityMockDSLPackage.ENTITY_MOCK_REFERENCED_OBJECT_ATTRIBUTE__TEMPORARY, oldTemporary, temporary));
+			}
+		}
+		return temporary;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EntityMockTemporary basicGetTemporary() {
+		return temporary;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setTemporary(EntityMockTemporary newTemporary) {
+		EntityMockTemporary oldTemporary = temporary;
+		temporary = newTemporary;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.ENTITY_MOCK_REFERENCED_OBJECT_ATTRIBUTE__TEMPORARY, oldTemporary, temporary));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<EntityMockObjectEmbed> getEmbedded() {
+		if (embedded == null) {
+			embedded = new EObjectResolvingEList<EntityMockObjectEmbed>(EntityMockObjectEmbed.class, this, EntityMockDSLPackage.ENTITY_MOCK_REFERENCED_OBJECT_ATTRIBUTE__EMBEDDED);
+		}
+		return embedded;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IEntityMockObjectUsable getAttribute() {
+		if (attribute != null && attribute.eIsProxy()) {
+			InternalEObject oldAttribute = (InternalEObject)attribute;
+			attribute = (IEntityMockObjectUsable)eResolveProxy(oldAttribute);
+			if (attribute != oldAttribute) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, EntityMockDSLPackage.ENTITY_MOCK_REFERENCED_OBJECT_ATTRIBUTE__ATTRIBUTE, oldAttribute, attribute));
+			}
+		}
+		return attribute;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IEntityMockObjectUsable basicGetAttribute() {
+		return attribute;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setAttribute(IEntityMockObjectUsable newAttribute) {
+		IEntityMockObjectUsable oldAttribute = attribute;
+		attribute = newAttribute;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.ENTITY_MOCK_REFERENCED_OBJECT_ATTRIBUTE__ATTRIBUTE, oldAttribute, attribute));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_REFERENCED_OBJECT_ATTRIBUTE__TEMPORARY:
+				if (resolve) return getTemporary();
+				return basicGetTemporary();
+			case EntityMockDSLPackage.ENTITY_MOCK_REFERENCED_OBJECT_ATTRIBUTE__EMBEDDED:
+				return getEmbedded();
+			case EntityMockDSLPackage.ENTITY_MOCK_REFERENCED_OBJECT_ATTRIBUTE__ATTRIBUTE:
+				if (resolve) return getAttribute();
+				return basicGetAttribute();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_REFERENCED_OBJECT_ATTRIBUTE__TEMPORARY:
+				setTemporary((EntityMockTemporary)newValue);
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_REFERENCED_OBJECT_ATTRIBUTE__EMBEDDED:
+				getEmbedded().clear();
+				getEmbedded().addAll((Collection<? extends EntityMockObjectEmbed>)newValue);
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_REFERENCED_OBJECT_ATTRIBUTE__ATTRIBUTE:
+				setAttribute((IEntityMockObjectUsable)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_REFERENCED_OBJECT_ATTRIBUTE__TEMPORARY:
+				setTemporary((EntityMockTemporary)null);
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_REFERENCED_OBJECT_ATTRIBUTE__EMBEDDED:
+				getEmbedded().clear();
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_REFERENCED_OBJECT_ATTRIBUTE__ATTRIBUTE:
+				setAttribute((IEntityMockObjectUsable)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_REFERENCED_OBJECT_ATTRIBUTE__TEMPORARY:
+				return temporary != null;
+			case EntityMockDSLPackage.ENTITY_MOCK_REFERENCED_OBJECT_ATTRIBUTE__EMBEDDED:
+				return embedded != null && !embedded.isEmpty();
+			case EntityMockDSLPackage.ENTITY_MOCK_REFERENCED_OBJECT_ATTRIBUTE__ATTRIBUTE:
+				return attribute != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //EntityMockReferencedObjectAttributeImpl
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockResourceAttributeImpl.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockResourceAttributeImpl.java
new file mode 100644
index 0000000..9edc60e
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockResourceAttributeImpl.java
@@ -0,0 +1,52 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.osbp.dsl.semantic.common.types.impl.LEnumImpl;
+
+import org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage;
+import org.eclipse.osbp.xtext.entitymock.EntityMockResourceAttribute;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Entity Mock Resource Attribute</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class EntityMockResourceAttributeImpl extends LEnumImpl implements EntityMockResourceAttribute {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EntityMockResourceAttributeImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return EntityMockDSLPackage.Literals.ENTITY_MOCK_RESOURCE_ATTRIBUTE;
+	}
+
+} //EntityMockResourceAttributeImpl
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockResourceDataRowImpl.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockResourceDataRowImpl.java
new file mode 100644
index 0000000..ce779bb
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockResourceDataRowImpl.java
@@ -0,0 +1,160 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.util.EDataTypeEList;
+
+import org.eclipse.osbp.dsl.semantic.common.types.impl.LEnumLiteralImpl;
+
+import org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage;
+import org.eclipse.osbp.xtext.entitymock.EntityMockResourceDataRow;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Entity Mock Resource Data Row</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockResourceDataRowImpl#getValues <em>Values</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class EntityMockResourceDataRowImpl extends LEnumLiteralImpl implements EntityMockResourceDataRow {
+	/**
+	 * The cached value of the '{@link #getValues() <em>Values</em>}' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getValues()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<String> values;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EntityMockResourceDataRowImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return EntityMockDSLPackage.Literals.ENTITY_MOCK_RESOURCE_DATA_ROW;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<String> getValues() {
+		if (values == null) {
+			values = new EDataTypeEList<String>(String.class, this, EntityMockDSLPackage.ENTITY_MOCK_RESOURCE_DATA_ROW__VALUES);
+		}
+		return values;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_RESOURCE_DATA_ROW__VALUES:
+				return getValues();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_RESOURCE_DATA_ROW__VALUES:
+				getValues().clear();
+				getValues().addAll((Collection<? extends String>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_RESOURCE_DATA_ROW__VALUES:
+				getValues().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_RESOURCE_DATA_ROW__VALUES:
+				return values != null && !values.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (values: ");
+		result.append(values);
+		result.append(')');
+		return result.toString();
+	}
+
+} //EntityMockResourceDataRowImpl
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockResourceImpl.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockResourceImpl.java
new file mode 100644
index 0000000..2c2e6b9
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockResourceImpl.java
@@ -0,0 +1,200 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.osbp.dsl.semantic.common.types.impl.LEnumImpl;
+
+import org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage;
+import org.eclipse.osbp.xtext.entitymock.EntityMockResource;
+import org.eclipse.osbp.xtext.entitymock.EntityMockResourceAttribute;
+import org.eclipse.osbp.xtext.entitymock.EntityMockResourceDataRow;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Entity Mock Resource</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockResourceImpl#getAttributes <em>Attributes</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockResourceImpl#getDatarows <em>Datarows</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class EntityMockResourceImpl extends LEnumImpl implements EntityMockResource {
+	/**
+	 * The cached value of the '{@link #getAttributes() <em>Attributes</em>}' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getAttributes()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<EntityMockResourceAttribute> attributes;
+
+	/**
+	 * The cached value of the '{@link #getDatarows() <em>Datarows</em>}' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDatarows()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<EntityMockResourceDataRow> datarows;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EntityMockResourceImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return EntityMockDSLPackage.Literals.ENTITY_MOCK_RESOURCE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<EntityMockResourceAttribute> getAttributes() {
+		if (attributes == null) {
+			attributes = new EObjectContainmentEList<EntityMockResourceAttribute>(EntityMockResourceAttribute.class, this, EntityMockDSLPackage.ENTITY_MOCK_RESOURCE__ATTRIBUTES);
+		}
+		return attributes;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<EntityMockResourceDataRow> getDatarows() {
+		if (datarows == null) {
+			datarows = new EObjectContainmentEList<EntityMockResourceDataRow>(EntityMockResourceDataRow.class, this, EntityMockDSLPackage.ENTITY_MOCK_RESOURCE__DATAROWS);
+		}
+		return datarows;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_RESOURCE__ATTRIBUTES:
+				return ((InternalEList<?>)getAttributes()).basicRemove(otherEnd, msgs);
+			case EntityMockDSLPackage.ENTITY_MOCK_RESOURCE__DATAROWS:
+				return ((InternalEList<?>)getDatarows()).basicRemove(otherEnd, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_RESOURCE__ATTRIBUTES:
+				return getAttributes();
+			case EntityMockDSLPackage.ENTITY_MOCK_RESOURCE__DATAROWS:
+				return getDatarows();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_RESOURCE__ATTRIBUTES:
+				getAttributes().clear();
+				getAttributes().addAll((Collection<? extends EntityMockResourceAttribute>)newValue);
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_RESOURCE__DATAROWS:
+				getDatarows().clear();
+				getDatarows().addAll((Collection<? extends EntityMockResourceDataRow>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_RESOURCE__ATTRIBUTES:
+				getAttributes().clear();
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_RESOURCE__DATAROWS:
+				getDatarows().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_RESOURCE__ATTRIBUTES:
+				return attributes != null && !attributes.isEmpty();
+			case EntityMockDSLPackage.ENTITY_MOCK_RESOURCE__DATAROWS:
+				return datarows != null && !datarows.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //EntityMockResourceImpl
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockResourcesImpl.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockResourcesImpl.java
new file mode 100644
index 0000000..0cdbfaf
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockResourcesImpl.java
@@ -0,0 +1,163 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage;
+import org.eclipse.osbp.xtext.entitymock.EntityMockResource;
+import org.eclipse.osbp.xtext.entitymock.EntityMockResources;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Entity Mock Resources</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockResourcesImpl#getResources <em>Resources</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class EntityMockResourcesImpl extends MinimalEObjectImpl.Container implements EntityMockResources {
+	/**
+	 * The cached value of the '{@link #getResources() <em>Resources</em>}' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getResources()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<EntityMockResource> resources;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EntityMockResourcesImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return EntityMockDSLPackage.Literals.ENTITY_MOCK_RESOURCES;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<EntityMockResource> getResources() {
+		if (resources == null) {
+			resources = new EObjectContainmentEList<EntityMockResource>(EntityMockResource.class, this, EntityMockDSLPackage.ENTITY_MOCK_RESOURCES__RESOURCES);
+		}
+		return resources;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_RESOURCES__RESOURCES:
+				return ((InternalEList<?>)getResources()).basicRemove(otherEnd, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_RESOURCES__RESOURCES:
+				return getResources();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_RESOURCES__RESOURCES:
+				getResources().clear();
+				getResources().addAll((Collection<? extends EntityMockResource>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_RESOURCES__RESOURCES:
+				getResources().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_RESOURCES__RESOURCES:
+				return resources != null && !resources.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //EntityMockResourcesImpl
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockTemporaryImpl.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockTemporaryImpl.java
new file mode 100644
index 0000000..613055c
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/EntityMockTemporaryImpl.java
@@ -0,0 +1,235 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObject;
+import org.eclipse.osbp.xtext.entitymock.EntityMockTemporary;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Entity Mock Temporary</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockTemporaryImpl#getName <em>Name</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.EntityMockTemporaryImpl#getObject <em>Object</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class EntityMockTemporaryImpl extends EntityMockLazyResolverImpl implements EntityMockTemporary {
+	/**
+	 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getName()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String NAME_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getName()
+	 * @generated
+	 * @ordered
+	 */
+	protected String name = NAME_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getObject() <em>Object</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getObject()
+	 * @generated
+	 * @ordered
+	 */
+	protected EntityMockObject object;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EntityMockTemporaryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return EntityMockDSLPackage.Literals.ENTITY_MOCK_TEMPORARY;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getName() {
+		return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setName(String newName) {
+		String oldName = name;
+		name = newName;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.ENTITY_MOCK_TEMPORARY__NAME, oldName, name));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EntityMockObject getObject() {
+		if (object != null && object.eIsProxy()) {
+			InternalEObject oldObject = (InternalEObject)object;
+			object = (EntityMockObject)eResolveProxy(oldObject);
+			if (object != oldObject) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, EntityMockDSLPackage.ENTITY_MOCK_TEMPORARY__OBJECT, oldObject, object));
+			}
+		}
+		return object;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EntityMockObject basicGetObject() {
+		return object;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setObject(EntityMockObject newObject) {
+		EntityMockObject oldObject = object;
+		object = newObject;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.ENTITY_MOCK_TEMPORARY__OBJECT, oldObject, object));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_TEMPORARY__NAME:
+				return getName();
+			case EntityMockDSLPackage.ENTITY_MOCK_TEMPORARY__OBJECT:
+				if (resolve) return getObject();
+				return basicGetObject();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_TEMPORARY__NAME:
+				setName((String)newValue);
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_TEMPORARY__OBJECT:
+				setObject((EntityMockObject)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_TEMPORARY__NAME:
+				setName(NAME_EDEFAULT);
+				return;
+			case EntityMockDSLPackage.ENTITY_MOCK_TEMPORARY__OBJECT:
+				setObject((EntityMockObject)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_TEMPORARY__NAME:
+				return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+			case EntityMockDSLPackage.ENTITY_MOCK_TEMPORARY__OBJECT:
+				return object != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (name: ");
+		result.append(name);
+		result.append(')');
+		return result.toString();
+	}
+
+} //EntityMockTemporaryImpl
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/IEntityMockAttributeImpl.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/IEntityMockAttributeImpl.java
new file mode 100644
index 0000000..a988035
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/IEntityMockAttributeImpl.java
@@ -0,0 +1,50 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage;
+import org.eclipse.osbp.xtext.entitymock.IEntityMockAttribute;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>IEntity Mock Attribute</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class IEntityMockAttributeImpl extends IEntityMockEntityUsableImpl implements IEntityMockAttribute {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IEntityMockAttributeImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return EntityMockDSLPackage.Literals.IENTITY_MOCK_ATTRIBUTE;
+	}
+
+} //IEntityMockAttributeImpl
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/IEntityMockEntityUsableImpl.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/IEntityMockEntityUsableImpl.java
new file mode 100644
index 0000000..60584a5
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/IEntityMockEntityUsableImpl.java
@@ -0,0 +1,50 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage;
+import org.eclipse.osbp.xtext.entitymock.IEntityMockEntityUsable;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>IEntity Mock Entity Usable</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class IEntityMockEntityUsableImpl extends EntityMockLazyResolverImpl implements IEntityMockEntityUsable {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IEntityMockEntityUsableImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return EntityMockDSLPackage.Literals.IENTITY_MOCK_ENTITY_USABLE;
+	}
+
+} //IEntityMockEntityUsableImpl
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/IEntityMockObjectAttributeImpl.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/IEntityMockObjectAttributeImpl.java
new file mode 100644
index 0000000..e86f96d
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/IEntityMockObjectAttributeImpl.java
@@ -0,0 +1,173 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage;
+import org.eclipse.osbp.xtext.entitymock.IEntityMockObjectAttribute;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>IEntity Mock Object Attribute</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.IEntityMockObjectAttributeImpl#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class IEntityMockObjectAttributeImpl extends EntityMockLazyResolverImpl implements IEntityMockObjectAttribute {
+	/**
+	 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getName()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String NAME_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getName()
+	 * @generated
+	 * @ordered
+	 */
+	protected String name = NAME_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IEntityMockObjectAttributeImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return EntityMockDSLPackage.Literals.IENTITY_MOCK_OBJECT_ATTRIBUTE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getName() {
+		return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setName(String newName) {
+		String oldName = name;
+		name = newName;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.IENTITY_MOCK_OBJECT_ATTRIBUTE__NAME, oldName, name));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case EntityMockDSLPackage.IENTITY_MOCK_OBJECT_ATTRIBUTE__NAME:
+				return getName();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case EntityMockDSLPackage.IENTITY_MOCK_OBJECT_ATTRIBUTE__NAME:
+				setName((String)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.IENTITY_MOCK_OBJECT_ATTRIBUTE__NAME:
+				setName(NAME_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.IENTITY_MOCK_OBJECT_ATTRIBUTE__NAME:
+				return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (name: ");
+		result.append(name);
+		result.append(')');
+		return result.toString();
+	}
+
+} //IEntityMockObjectAttributeImpl
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/IEntityMockObjectUsableImpl.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/IEntityMockObjectUsableImpl.java
new file mode 100644
index 0000000..b3ac140
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/IEntityMockObjectUsableImpl.java
@@ -0,0 +1,50 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage;
+import org.eclipse.osbp.xtext.entitymock.IEntityMockObjectUsable;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>IEntity Mock Object Usable</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class IEntityMockObjectUsableImpl extends EntityMockLazyResolverImpl implements IEntityMockObjectUsable {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IEntityMockObjectUsableImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return EntityMockDSLPackage.Literals.IENTITY_MOCK_OBJECT_USABLE;
+	}
+
+} //IEntityMockObjectUsableImpl
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/IIterateImpl.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/IIterateImpl.java
new file mode 100644
index 0000000..78af222
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/IIterateImpl.java
@@ -0,0 +1,52 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage;
+import org.eclipse.osbp.xtext.entitymock.IIterate;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>IIterate</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class IIterateImpl extends MinimalEObjectImpl.Container implements IIterate {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IIterateImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return EntityMockDSLPackage.Literals.IITERATE;
+	}
+
+} //IIterateImpl
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/IntegerIterateImpl.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/IntegerIterateImpl.java
new file mode 100644
index 0000000..1ae9eab
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/IntegerIterateImpl.java
@@ -0,0 +1,281 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage;
+import org.eclipse.osbp.xtext.entitymock.IntegerIterate;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Integer Iterate</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.IntegerIterateImpl#getFrom <em>From</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.IntegerIterateImpl#getUntil <em>Until</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.IntegerIterateImpl#getStep <em>Step</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class IntegerIterateImpl extends IIterateImpl implements IntegerIterate {
+	/**
+	 * The default value of the '{@link #getFrom() <em>From</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getFrom()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int FROM_EDEFAULT = 0;
+
+	/**
+	 * The cached value of the '{@link #getFrom() <em>From</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getFrom()
+	 * @generated
+	 * @ordered
+	 */
+	protected int from = FROM_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getUntil() <em>Until</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getUntil()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int UNTIL_EDEFAULT = 0;
+
+	/**
+	 * The cached value of the '{@link #getUntil() <em>Until</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getUntil()
+	 * @generated
+	 * @ordered
+	 */
+	protected int until = UNTIL_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getStep() <em>Step</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getStep()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int STEP_EDEFAULT = 0;
+
+	/**
+	 * The cached value of the '{@link #getStep() <em>Step</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getStep()
+	 * @generated
+	 * @ordered
+	 */
+	protected int step = STEP_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IntegerIterateImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return EntityMockDSLPackage.Literals.INTEGER_ITERATE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getFrom() {
+		return from;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setFrom(int newFrom) {
+		int oldFrom = from;
+		from = newFrom;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.INTEGER_ITERATE__FROM, oldFrom, from));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getUntil() {
+		return until;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setUntil(int newUntil) {
+		int oldUntil = until;
+		until = newUntil;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.INTEGER_ITERATE__UNTIL, oldUntil, until));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getStep() {
+		return step;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setStep(int newStep) {
+		int oldStep = step;
+		step = newStep;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.INTEGER_ITERATE__STEP, oldStep, step));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case EntityMockDSLPackage.INTEGER_ITERATE__FROM:
+				return getFrom();
+			case EntityMockDSLPackage.INTEGER_ITERATE__UNTIL:
+				return getUntil();
+			case EntityMockDSLPackage.INTEGER_ITERATE__STEP:
+				return getStep();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case EntityMockDSLPackage.INTEGER_ITERATE__FROM:
+				setFrom((Integer)newValue);
+				return;
+			case EntityMockDSLPackage.INTEGER_ITERATE__UNTIL:
+				setUntil((Integer)newValue);
+				return;
+			case EntityMockDSLPackage.INTEGER_ITERATE__STEP:
+				setStep((Integer)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.INTEGER_ITERATE__FROM:
+				setFrom(FROM_EDEFAULT);
+				return;
+			case EntityMockDSLPackage.INTEGER_ITERATE__UNTIL:
+				setUntil(UNTIL_EDEFAULT);
+				return;
+			case EntityMockDSLPackage.INTEGER_ITERATE__STEP:
+				setStep(STEP_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.INTEGER_ITERATE__FROM:
+				return from != FROM_EDEFAULT;
+			case EntityMockDSLPackage.INTEGER_ITERATE__UNTIL:
+				return until != UNTIL_EDEFAULT;
+			case EntityMockDSLPackage.INTEGER_ITERATE__STEP:
+				return step != STEP_EDEFAULT;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (from: ");
+		result.append(from);
+		result.append(", until: ");
+		result.append(until);
+		result.append(", step: ");
+		result.append(step);
+		result.append(')');
+		return result.toString();
+	}
+
+} //IntegerIterateImpl
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/PropertyFillerBooleanImpl.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/PropertyFillerBooleanImpl.java
new file mode 100644
index 0000000..7079a72
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/PropertyFillerBooleanImpl.java
@@ -0,0 +1,50 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerBoolean;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Property Filler Boolean</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class PropertyFillerBooleanImpl extends PropertyFillerTypeImpl implements PropertyFillerBoolean {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected PropertyFillerBooleanImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return EntityMockDSLPackage.Literals.PROPERTY_FILLER_BOOLEAN;
+	}
+
+} //PropertyFillerBooleanImpl
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/PropertyFillerDateFutureImpl.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/PropertyFillerDateFutureImpl.java
new file mode 100644
index 0000000..121fbbf
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/PropertyFillerDateFutureImpl.java
@@ -0,0 +1,173 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerDateFuture;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Property Filler Date Future</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerDateFutureImpl#getDateFutureYears <em>Date Future Years</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PropertyFillerDateFutureImpl extends PropertyFillerDateTypeImpl implements PropertyFillerDateFuture {
+	/**
+	 * The default value of the '{@link #getDateFutureYears() <em>Date Future Years</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDateFutureYears()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int DATE_FUTURE_YEARS_EDEFAULT = 0;
+
+	/**
+	 * The cached value of the '{@link #getDateFutureYears() <em>Date Future Years</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDateFutureYears()
+	 * @generated
+	 * @ordered
+	 */
+	protected int dateFutureYears = DATE_FUTURE_YEARS_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected PropertyFillerDateFutureImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return EntityMockDSLPackage.Literals.PROPERTY_FILLER_DATE_FUTURE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getDateFutureYears() {
+		return dateFutureYears;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setDateFutureYears(int newDateFutureYears) {
+		int oldDateFutureYears = dateFutureYears;
+		dateFutureYears = newDateFutureYears;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.PROPERTY_FILLER_DATE_FUTURE__DATE_FUTURE_YEARS, oldDateFutureYears, dateFutureYears));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case EntityMockDSLPackage.PROPERTY_FILLER_DATE_FUTURE__DATE_FUTURE_YEARS:
+				return getDateFutureYears();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case EntityMockDSLPackage.PROPERTY_FILLER_DATE_FUTURE__DATE_FUTURE_YEARS:
+				setDateFutureYears((Integer)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.PROPERTY_FILLER_DATE_FUTURE__DATE_FUTURE_YEARS:
+				setDateFutureYears(DATE_FUTURE_YEARS_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.PROPERTY_FILLER_DATE_FUTURE__DATE_FUTURE_YEARS:
+				return dateFutureYears != DATE_FUTURE_YEARS_EDEFAULT;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (dateFutureYears: ");
+		result.append(dateFutureYears);
+		result.append(')');
+		return result.toString();
+	}
+
+} //PropertyFillerDateFutureImpl
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/PropertyFillerDatePastImpl.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/PropertyFillerDatePastImpl.java
new file mode 100644
index 0000000..9e5caa7
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/PropertyFillerDatePastImpl.java
@@ -0,0 +1,173 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerDatePast;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Property Filler Date Past</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerDatePastImpl#getDatePastYears <em>Date Past Years</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PropertyFillerDatePastImpl extends PropertyFillerDateTypeImpl implements PropertyFillerDatePast {
+	/**
+	 * The default value of the '{@link #getDatePastYears() <em>Date Past Years</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDatePastYears()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int DATE_PAST_YEARS_EDEFAULT = 0;
+
+	/**
+	 * The cached value of the '{@link #getDatePastYears() <em>Date Past Years</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDatePastYears()
+	 * @generated
+	 * @ordered
+	 */
+	protected int datePastYears = DATE_PAST_YEARS_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected PropertyFillerDatePastImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return EntityMockDSLPackage.Literals.PROPERTY_FILLER_DATE_PAST;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getDatePastYears() {
+		return datePastYears;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setDatePastYears(int newDatePastYears) {
+		int oldDatePastYears = datePastYears;
+		datePastYears = newDatePastYears;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.PROPERTY_FILLER_DATE_PAST__DATE_PAST_YEARS, oldDatePastYears, datePastYears));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case EntityMockDSLPackage.PROPERTY_FILLER_DATE_PAST__DATE_PAST_YEARS:
+				return getDatePastYears();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case EntityMockDSLPackage.PROPERTY_FILLER_DATE_PAST__DATE_PAST_YEARS:
+				setDatePastYears((Integer)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.PROPERTY_FILLER_DATE_PAST__DATE_PAST_YEARS:
+				setDatePastYears(DATE_PAST_YEARS_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.PROPERTY_FILLER_DATE_PAST__DATE_PAST_YEARS:
+				return datePastYears != DATE_PAST_YEARS_EDEFAULT;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (datePastYears: ");
+		result.append(datePastYears);
+		result.append(')');
+		return result.toString();
+	}
+
+} //PropertyFillerDatePastImpl
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/PropertyFillerDateRangeImpl.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/PropertyFillerDateRangeImpl.java
new file mode 100644
index 0000000..e52102c
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/PropertyFillerDateRangeImpl.java
@@ -0,0 +1,227 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerDateRange;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Property Filler Date Range</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerDateRangeImpl#getDateBeginYears <em>Date Begin Years</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerDateRangeImpl#getDateEndYears <em>Date End Years</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PropertyFillerDateRangeImpl extends PropertyFillerDateTypeImpl implements PropertyFillerDateRange {
+	/**
+	 * The default value of the '{@link #getDateBeginYears() <em>Date Begin Years</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDateBeginYears()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int DATE_BEGIN_YEARS_EDEFAULT = 0;
+
+	/**
+	 * The cached value of the '{@link #getDateBeginYears() <em>Date Begin Years</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDateBeginYears()
+	 * @generated
+	 * @ordered
+	 */
+	protected int dateBeginYears = DATE_BEGIN_YEARS_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getDateEndYears() <em>Date End Years</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDateEndYears()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int DATE_END_YEARS_EDEFAULT = 0;
+
+	/**
+	 * The cached value of the '{@link #getDateEndYears() <em>Date End Years</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDateEndYears()
+	 * @generated
+	 * @ordered
+	 */
+	protected int dateEndYears = DATE_END_YEARS_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected PropertyFillerDateRangeImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return EntityMockDSLPackage.Literals.PROPERTY_FILLER_DATE_RANGE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getDateBeginYears() {
+		return dateBeginYears;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setDateBeginYears(int newDateBeginYears) {
+		int oldDateBeginYears = dateBeginYears;
+		dateBeginYears = newDateBeginYears;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.PROPERTY_FILLER_DATE_RANGE__DATE_BEGIN_YEARS, oldDateBeginYears, dateBeginYears));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getDateEndYears() {
+		return dateEndYears;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setDateEndYears(int newDateEndYears) {
+		int oldDateEndYears = dateEndYears;
+		dateEndYears = newDateEndYears;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.PROPERTY_FILLER_DATE_RANGE__DATE_END_YEARS, oldDateEndYears, dateEndYears));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case EntityMockDSLPackage.PROPERTY_FILLER_DATE_RANGE__DATE_BEGIN_YEARS:
+				return getDateBeginYears();
+			case EntityMockDSLPackage.PROPERTY_FILLER_DATE_RANGE__DATE_END_YEARS:
+				return getDateEndYears();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case EntityMockDSLPackage.PROPERTY_FILLER_DATE_RANGE__DATE_BEGIN_YEARS:
+				setDateBeginYears((Integer)newValue);
+				return;
+			case EntityMockDSLPackage.PROPERTY_FILLER_DATE_RANGE__DATE_END_YEARS:
+				setDateEndYears((Integer)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.PROPERTY_FILLER_DATE_RANGE__DATE_BEGIN_YEARS:
+				setDateBeginYears(DATE_BEGIN_YEARS_EDEFAULT);
+				return;
+			case EntityMockDSLPackage.PROPERTY_FILLER_DATE_RANGE__DATE_END_YEARS:
+				setDateEndYears(DATE_END_YEARS_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.PROPERTY_FILLER_DATE_RANGE__DATE_BEGIN_YEARS:
+				return dateBeginYears != DATE_BEGIN_YEARS_EDEFAULT;
+			case EntityMockDSLPackage.PROPERTY_FILLER_DATE_RANGE__DATE_END_YEARS:
+				return dateEndYears != DATE_END_YEARS_EDEFAULT;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (dateBeginYears: ");
+		result.append(dateBeginYears);
+		result.append(", dateEndYears: ");
+		result.append(dateEndYears);
+		result.append(')');
+		return result.toString();
+	}
+
+} //PropertyFillerDateRangeImpl
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/PropertyFillerDateTypeImpl.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/PropertyFillerDateTypeImpl.java
new file mode 100644
index 0000000..3d46c30
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/PropertyFillerDateTypeImpl.java
@@ -0,0 +1,50 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerDateType;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Property Filler Date Type</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class PropertyFillerDateTypeImpl extends PropertyFillerTypeImpl implements PropertyFillerDateType {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected PropertyFillerDateTypeImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return EntityMockDSLPackage.Literals.PROPERTY_FILLER_DATE_TYPE;
+	}
+
+} //PropertyFillerDateTypeImpl
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/PropertyFillerDoubleTypeImpl.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/PropertyFillerDoubleTypeImpl.java
new file mode 100644
index 0000000..8277757
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/PropertyFillerDoubleTypeImpl.java
@@ -0,0 +1,50 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerDoubleType;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Property Filler Double Type</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class PropertyFillerDoubleTypeImpl extends PropertyFillerTypeImpl implements PropertyFillerDoubleType {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected PropertyFillerDoubleTypeImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return EntityMockDSLPackage.Literals.PROPERTY_FILLER_DOUBLE_TYPE;
+	}
+
+} //PropertyFillerDoubleTypeImpl
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/PropertyFillerIntegerTypeImpl.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/PropertyFillerIntegerTypeImpl.java
new file mode 100644
index 0000000..82ec601
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/PropertyFillerIntegerTypeImpl.java
@@ -0,0 +1,50 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerIntegerType;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Property Filler Integer Type</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class PropertyFillerIntegerTypeImpl extends PropertyFillerTypeImpl implements PropertyFillerIntegerType {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected PropertyFillerIntegerTypeImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return EntityMockDSLPackage.Literals.PROPERTY_FILLER_INTEGER_TYPE;
+	}
+
+} //PropertyFillerIntegerTypeImpl
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/PropertyFillerSignedDoubleRandomImpl.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/PropertyFillerSignedDoubleRandomImpl.java
new file mode 100644
index 0000000..a2bd5b5
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/PropertyFillerSignedDoubleRandomImpl.java
@@ -0,0 +1,158 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.util.EDataTypeEList;
+
+import org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedDoubleRandom;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Property Filler Signed Double Random</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerSignedDoubleRandomImpl#getItems <em>Items</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PropertyFillerSignedDoubleRandomImpl extends PropertyFillerDoubleTypeImpl implements PropertyFillerSignedDoubleRandom {
+	/**
+	 * The cached value of the '{@link #getItems() <em>Items</em>}' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getItems()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Double> items;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected PropertyFillerSignedDoubleRandomImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return EntityMockDSLPackage.Literals.PROPERTY_FILLER_SIGNED_DOUBLE_RANDOM;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<Double> getItems() {
+		if (items == null) {
+			items = new EDataTypeEList<Double>(Double.class, this, EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_DOUBLE_RANDOM__ITEMS);
+		}
+		return items;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_DOUBLE_RANDOM__ITEMS:
+				return getItems();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_DOUBLE_RANDOM__ITEMS:
+				getItems().clear();
+				getItems().addAll((Collection<? extends Double>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_DOUBLE_RANDOM__ITEMS:
+				getItems().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_DOUBLE_RANDOM__ITEMS:
+				return items != null && !items.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (items: ");
+		result.append(items);
+		result.append(')');
+		return result.toString();
+	}
+
+} //PropertyFillerSignedDoubleRandomImpl
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/PropertyFillerSignedDoubleRangeImpl.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/PropertyFillerSignedDoubleRangeImpl.java
new file mode 100644
index 0000000..6745e6f
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/PropertyFillerSignedDoubleRangeImpl.java
@@ -0,0 +1,458 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.osbp.dsl.semantic.entity.LEntityAttribute;
+
+import org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedDoubleRange;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Property Filler Signed Double Range</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerSignedDoubleRangeImpl#getDecimals <em>Decimals</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerSignedDoubleRangeImpl#getBeginRange <em>Begin Range</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerSignedDoubleRangeImpl#getEndRange <em>End Range</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerSignedDoubleRangeImpl#getBeginRangeRef <em>Begin Range Ref</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerSignedDoubleRangeImpl#getEndRangeRef <em>End Range Ref</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerSignedDoubleRangeImpl#getRounded <em>Rounded</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PropertyFillerSignedDoubleRangeImpl extends PropertyFillerDoubleTypeImpl implements PropertyFillerSignedDoubleRange {
+	/**
+	 * The default value of the '{@link #getDecimals() <em>Decimals</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDecimals()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int DECIMALS_EDEFAULT = 0;
+
+	/**
+	 * The cached value of the '{@link #getDecimals() <em>Decimals</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDecimals()
+	 * @generated
+	 * @ordered
+	 */
+	protected int decimals = DECIMALS_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getBeginRange() <em>Begin Range</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBeginRange()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final double BEGIN_RANGE_EDEFAULT = 0.0;
+
+	/**
+	 * The cached value of the '{@link #getBeginRange() <em>Begin Range</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBeginRange()
+	 * @generated
+	 * @ordered
+	 */
+	protected double beginRange = BEGIN_RANGE_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getEndRange() <em>End Range</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getEndRange()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final double END_RANGE_EDEFAULT = 0.0;
+
+	/**
+	 * The cached value of the '{@link #getEndRange() <em>End Range</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getEndRange()
+	 * @generated
+	 * @ordered
+	 */
+	protected double endRange = END_RANGE_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getBeginRangeRef() <em>Begin Range Ref</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBeginRangeRef()
+	 * @generated
+	 * @ordered
+	 */
+	protected LEntityAttribute beginRangeRef;
+
+	/**
+	 * The cached value of the '{@link #getEndRangeRef() <em>End Range Ref</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getEndRangeRef()
+	 * @generated
+	 * @ordered
+	 */
+	protected LEntityAttribute endRangeRef;
+
+	/**
+	 * The default value of the '{@link #getRounded() <em>Rounded</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getRounded()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final double ROUNDED_EDEFAULT = 0.0;
+
+	/**
+	 * The cached value of the '{@link #getRounded() <em>Rounded</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getRounded()
+	 * @generated
+	 * @ordered
+	 */
+	protected double rounded = ROUNDED_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected PropertyFillerSignedDoubleRangeImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return EntityMockDSLPackage.Literals.PROPERTY_FILLER_SIGNED_DOUBLE_RANGE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getDecimals() {
+		return decimals;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setDecimals(int newDecimals) {
+		int oldDecimals = decimals;
+		decimals = newDecimals;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_DOUBLE_RANGE__DECIMALS, oldDecimals, decimals));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public double getBeginRange() {
+		return beginRange;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBeginRange(double newBeginRange) {
+		double oldBeginRange = beginRange;
+		beginRange = newBeginRange;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_DOUBLE_RANGE__BEGIN_RANGE, oldBeginRange, beginRange));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public double getEndRange() {
+		return endRange;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setEndRange(double newEndRange) {
+		double oldEndRange = endRange;
+		endRange = newEndRange;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_DOUBLE_RANGE__END_RANGE, oldEndRange, endRange));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public LEntityAttribute getBeginRangeRef() {
+		if (beginRangeRef != null && beginRangeRef.eIsProxy()) {
+			InternalEObject oldBeginRangeRef = (InternalEObject)beginRangeRef;
+			beginRangeRef = (LEntityAttribute)eResolveProxy(oldBeginRangeRef);
+			if (beginRangeRef != oldBeginRangeRef) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_DOUBLE_RANGE__BEGIN_RANGE_REF, oldBeginRangeRef, beginRangeRef));
+			}
+		}
+		return beginRangeRef;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public LEntityAttribute basicGetBeginRangeRef() {
+		return beginRangeRef;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBeginRangeRef(LEntityAttribute newBeginRangeRef) {
+		LEntityAttribute oldBeginRangeRef = beginRangeRef;
+		beginRangeRef = newBeginRangeRef;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_DOUBLE_RANGE__BEGIN_RANGE_REF, oldBeginRangeRef, beginRangeRef));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public LEntityAttribute getEndRangeRef() {
+		if (endRangeRef != null && endRangeRef.eIsProxy()) {
+			InternalEObject oldEndRangeRef = (InternalEObject)endRangeRef;
+			endRangeRef = (LEntityAttribute)eResolveProxy(oldEndRangeRef);
+			if (endRangeRef != oldEndRangeRef) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_DOUBLE_RANGE__END_RANGE_REF, oldEndRangeRef, endRangeRef));
+			}
+		}
+		return endRangeRef;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public LEntityAttribute basicGetEndRangeRef() {
+		return endRangeRef;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setEndRangeRef(LEntityAttribute newEndRangeRef) {
+		LEntityAttribute oldEndRangeRef = endRangeRef;
+		endRangeRef = newEndRangeRef;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_DOUBLE_RANGE__END_RANGE_REF, oldEndRangeRef, endRangeRef));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public double getRounded() {
+		return rounded;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setRounded(double newRounded) {
+		double oldRounded = rounded;
+		rounded = newRounded;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_DOUBLE_RANGE__ROUNDED, oldRounded, rounded));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_DOUBLE_RANGE__DECIMALS:
+				return getDecimals();
+			case EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_DOUBLE_RANGE__BEGIN_RANGE:
+				return getBeginRange();
+			case EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_DOUBLE_RANGE__END_RANGE:
+				return getEndRange();
+			case EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_DOUBLE_RANGE__BEGIN_RANGE_REF:
+				if (resolve) return getBeginRangeRef();
+				return basicGetBeginRangeRef();
+			case EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_DOUBLE_RANGE__END_RANGE_REF:
+				if (resolve) return getEndRangeRef();
+				return basicGetEndRangeRef();
+			case EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_DOUBLE_RANGE__ROUNDED:
+				return getRounded();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_DOUBLE_RANGE__DECIMALS:
+				setDecimals((Integer)newValue);
+				return;
+			case EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_DOUBLE_RANGE__BEGIN_RANGE:
+				setBeginRange((Double)newValue);
+				return;
+			case EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_DOUBLE_RANGE__END_RANGE:
+				setEndRange((Double)newValue);
+				return;
+			case EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_DOUBLE_RANGE__BEGIN_RANGE_REF:
+				setBeginRangeRef((LEntityAttribute)newValue);
+				return;
+			case EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_DOUBLE_RANGE__END_RANGE_REF:
+				setEndRangeRef((LEntityAttribute)newValue);
+				return;
+			case EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_DOUBLE_RANGE__ROUNDED:
+				setRounded((Double)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_DOUBLE_RANGE__DECIMALS:
+				setDecimals(DECIMALS_EDEFAULT);
+				return;
+			case EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_DOUBLE_RANGE__BEGIN_RANGE:
+				setBeginRange(BEGIN_RANGE_EDEFAULT);
+				return;
+			case EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_DOUBLE_RANGE__END_RANGE:
+				setEndRange(END_RANGE_EDEFAULT);
+				return;
+			case EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_DOUBLE_RANGE__BEGIN_RANGE_REF:
+				setBeginRangeRef((LEntityAttribute)null);
+				return;
+			case EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_DOUBLE_RANGE__END_RANGE_REF:
+				setEndRangeRef((LEntityAttribute)null);
+				return;
+			case EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_DOUBLE_RANGE__ROUNDED:
+				setRounded(ROUNDED_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_DOUBLE_RANGE__DECIMALS:
+				return decimals != DECIMALS_EDEFAULT;
+			case EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_DOUBLE_RANGE__BEGIN_RANGE:
+				return beginRange != BEGIN_RANGE_EDEFAULT;
+			case EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_DOUBLE_RANGE__END_RANGE:
+				return endRange != END_RANGE_EDEFAULT;
+			case EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_DOUBLE_RANGE__BEGIN_RANGE_REF:
+				return beginRangeRef != null;
+			case EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_DOUBLE_RANGE__END_RANGE_REF:
+				return endRangeRef != null;
+			case EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_DOUBLE_RANGE__ROUNDED:
+				return rounded != ROUNDED_EDEFAULT;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (decimals: ");
+		result.append(decimals);
+		result.append(", beginRange: ");
+		result.append(beginRange);
+		result.append(", endRange: ");
+		result.append(endRange);
+		result.append(", rounded: ");
+		result.append(rounded);
+		result.append(')');
+		return result.toString();
+	}
+
+} //PropertyFillerSignedDoubleRangeImpl
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/PropertyFillerSignedIntegerRandomImpl.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/PropertyFillerSignedIntegerRandomImpl.java
new file mode 100644
index 0000000..a397422
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/PropertyFillerSignedIntegerRandomImpl.java
@@ -0,0 +1,158 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.util.EDataTypeEList;
+
+import org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedIntegerRandom;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Property Filler Signed Integer Random</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerSignedIntegerRandomImpl#getItems <em>Items</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PropertyFillerSignedIntegerRandomImpl extends PropertyFillerIntegerTypeImpl implements PropertyFillerSignedIntegerRandom {
+	/**
+	 * The cached value of the '{@link #getItems() <em>Items</em>}' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getItems()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Integer> items;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected PropertyFillerSignedIntegerRandomImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return EntityMockDSLPackage.Literals.PROPERTY_FILLER_SIGNED_INTEGER_RANDOM;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<Integer> getItems() {
+		if (items == null) {
+			items = new EDataTypeEList<Integer>(Integer.class, this, EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_INTEGER_RANDOM__ITEMS);
+		}
+		return items;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_INTEGER_RANDOM__ITEMS:
+				return getItems();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_INTEGER_RANDOM__ITEMS:
+				getItems().clear();
+				getItems().addAll((Collection<? extends Integer>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_INTEGER_RANDOM__ITEMS:
+				getItems().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_INTEGER_RANDOM__ITEMS:
+				return items != null && !items.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (items: ");
+		result.append(items);
+		result.append(')');
+		return result.toString();
+	}
+
+} //PropertyFillerSignedIntegerRandomImpl
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/PropertyFillerSignedIntegerRangeImpl.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/PropertyFillerSignedIntegerRangeImpl.java
new file mode 100644
index 0000000..a97c057
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/PropertyFillerSignedIntegerRangeImpl.java
@@ -0,0 +1,404 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.osbp.dsl.semantic.entity.LEntityAttribute;
+
+import org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedIntegerRange;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Property Filler Signed Integer Range</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerSignedIntegerRangeImpl#getBeginRange <em>Begin Range</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerSignedIntegerRangeImpl#getEndRange <em>End Range</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerSignedIntegerRangeImpl#getBeginRangeRef <em>Begin Range Ref</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerSignedIntegerRangeImpl#getEndRangeRef <em>End Range Ref</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerSignedIntegerRangeImpl#getRounded <em>Rounded</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PropertyFillerSignedIntegerRangeImpl extends PropertyFillerIntegerTypeImpl implements PropertyFillerSignedIntegerRange {
+	/**
+	 * The default value of the '{@link #getBeginRange() <em>Begin Range</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBeginRange()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int BEGIN_RANGE_EDEFAULT = 0;
+
+	/**
+	 * The cached value of the '{@link #getBeginRange() <em>Begin Range</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBeginRange()
+	 * @generated
+	 * @ordered
+	 */
+	protected int beginRange = BEGIN_RANGE_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getEndRange() <em>End Range</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getEndRange()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int END_RANGE_EDEFAULT = 0;
+
+	/**
+	 * The cached value of the '{@link #getEndRange() <em>End Range</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getEndRange()
+	 * @generated
+	 * @ordered
+	 */
+	protected int endRange = END_RANGE_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getBeginRangeRef() <em>Begin Range Ref</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBeginRangeRef()
+	 * @generated
+	 * @ordered
+	 */
+	protected LEntityAttribute beginRangeRef;
+
+	/**
+	 * The cached value of the '{@link #getEndRangeRef() <em>End Range Ref</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getEndRangeRef()
+	 * @generated
+	 * @ordered
+	 */
+	protected LEntityAttribute endRangeRef;
+
+	/**
+	 * The default value of the '{@link #getRounded() <em>Rounded</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getRounded()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int ROUNDED_EDEFAULT = 0;
+
+	/**
+	 * The cached value of the '{@link #getRounded() <em>Rounded</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getRounded()
+	 * @generated
+	 * @ordered
+	 */
+	protected int rounded = ROUNDED_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected PropertyFillerSignedIntegerRangeImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return EntityMockDSLPackage.Literals.PROPERTY_FILLER_SIGNED_INTEGER_RANGE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getBeginRange() {
+		return beginRange;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBeginRange(int newBeginRange) {
+		int oldBeginRange = beginRange;
+		beginRange = newBeginRange;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_INTEGER_RANGE__BEGIN_RANGE, oldBeginRange, beginRange));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getEndRange() {
+		return endRange;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setEndRange(int newEndRange) {
+		int oldEndRange = endRange;
+		endRange = newEndRange;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_INTEGER_RANGE__END_RANGE, oldEndRange, endRange));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public LEntityAttribute getBeginRangeRef() {
+		if (beginRangeRef != null && beginRangeRef.eIsProxy()) {
+			InternalEObject oldBeginRangeRef = (InternalEObject)beginRangeRef;
+			beginRangeRef = (LEntityAttribute)eResolveProxy(oldBeginRangeRef);
+			if (beginRangeRef != oldBeginRangeRef) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_INTEGER_RANGE__BEGIN_RANGE_REF, oldBeginRangeRef, beginRangeRef));
+			}
+		}
+		return beginRangeRef;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public LEntityAttribute basicGetBeginRangeRef() {
+		return beginRangeRef;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBeginRangeRef(LEntityAttribute newBeginRangeRef) {
+		LEntityAttribute oldBeginRangeRef = beginRangeRef;
+		beginRangeRef = newBeginRangeRef;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_INTEGER_RANGE__BEGIN_RANGE_REF, oldBeginRangeRef, beginRangeRef));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public LEntityAttribute getEndRangeRef() {
+		if (endRangeRef != null && endRangeRef.eIsProxy()) {
+			InternalEObject oldEndRangeRef = (InternalEObject)endRangeRef;
+			endRangeRef = (LEntityAttribute)eResolveProxy(oldEndRangeRef);
+			if (endRangeRef != oldEndRangeRef) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_INTEGER_RANGE__END_RANGE_REF, oldEndRangeRef, endRangeRef));
+			}
+		}
+		return endRangeRef;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public LEntityAttribute basicGetEndRangeRef() {
+		return endRangeRef;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setEndRangeRef(LEntityAttribute newEndRangeRef) {
+		LEntityAttribute oldEndRangeRef = endRangeRef;
+		endRangeRef = newEndRangeRef;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_INTEGER_RANGE__END_RANGE_REF, oldEndRangeRef, endRangeRef));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getRounded() {
+		return rounded;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setRounded(int newRounded) {
+		int oldRounded = rounded;
+		rounded = newRounded;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_INTEGER_RANGE__ROUNDED, oldRounded, rounded));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_INTEGER_RANGE__BEGIN_RANGE:
+				return getBeginRange();
+			case EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_INTEGER_RANGE__END_RANGE:
+				return getEndRange();
+			case EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_INTEGER_RANGE__BEGIN_RANGE_REF:
+				if (resolve) return getBeginRangeRef();
+				return basicGetBeginRangeRef();
+			case EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_INTEGER_RANGE__END_RANGE_REF:
+				if (resolve) return getEndRangeRef();
+				return basicGetEndRangeRef();
+			case EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_INTEGER_RANGE__ROUNDED:
+				return getRounded();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_INTEGER_RANGE__BEGIN_RANGE:
+				setBeginRange((Integer)newValue);
+				return;
+			case EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_INTEGER_RANGE__END_RANGE:
+				setEndRange((Integer)newValue);
+				return;
+			case EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_INTEGER_RANGE__BEGIN_RANGE_REF:
+				setBeginRangeRef((LEntityAttribute)newValue);
+				return;
+			case EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_INTEGER_RANGE__END_RANGE_REF:
+				setEndRangeRef((LEntityAttribute)newValue);
+				return;
+			case EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_INTEGER_RANGE__ROUNDED:
+				setRounded((Integer)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_INTEGER_RANGE__BEGIN_RANGE:
+				setBeginRange(BEGIN_RANGE_EDEFAULT);
+				return;
+			case EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_INTEGER_RANGE__END_RANGE:
+				setEndRange(END_RANGE_EDEFAULT);
+				return;
+			case EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_INTEGER_RANGE__BEGIN_RANGE_REF:
+				setBeginRangeRef((LEntityAttribute)null);
+				return;
+			case EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_INTEGER_RANGE__END_RANGE_REF:
+				setEndRangeRef((LEntityAttribute)null);
+				return;
+			case EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_INTEGER_RANGE__ROUNDED:
+				setRounded(ROUNDED_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_INTEGER_RANGE__BEGIN_RANGE:
+				return beginRange != BEGIN_RANGE_EDEFAULT;
+			case EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_INTEGER_RANGE__END_RANGE:
+				return endRange != END_RANGE_EDEFAULT;
+			case EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_INTEGER_RANGE__BEGIN_RANGE_REF:
+				return beginRangeRef != null;
+			case EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_INTEGER_RANGE__END_RANGE_REF:
+				return endRangeRef != null;
+			case EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_INTEGER_RANGE__ROUNDED:
+				return rounded != ROUNDED_EDEFAULT;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (beginRange: ");
+		result.append(beginRange);
+		result.append(", endRange: ");
+		result.append(endRange);
+		result.append(", rounded: ");
+		result.append(rounded);
+		result.append(')');
+		return result.toString();
+	}
+
+} //PropertyFillerSignedIntegerRangeImpl
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/PropertyFillerTextParagraphsImpl.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/PropertyFillerTextParagraphsImpl.java
new file mode 100644
index 0000000..bf72107
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/PropertyFillerTextParagraphsImpl.java
@@ -0,0 +1,173 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerTextParagraphs;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Property Filler Text Paragraphs</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerTextParagraphsImpl#getCount <em>Count</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PropertyFillerTextParagraphsImpl extends PropertyFillerTextTypeImpl implements PropertyFillerTextParagraphs {
+	/**
+	 * The default value of the '{@link #getCount() <em>Count</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getCount()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int COUNT_EDEFAULT = 0;
+
+	/**
+	 * The cached value of the '{@link #getCount() <em>Count</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getCount()
+	 * @generated
+	 * @ordered
+	 */
+	protected int count = COUNT_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected PropertyFillerTextParagraphsImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return EntityMockDSLPackage.Literals.PROPERTY_FILLER_TEXT_PARAGRAPHS;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getCount() {
+		return count;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setCount(int newCount) {
+		int oldCount = count;
+		count = newCount;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.PROPERTY_FILLER_TEXT_PARAGRAPHS__COUNT, oldCount, count));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case EntityMockDSLPackage.PROPERTY_FILLER_TEXT_PARAGRAPHS__COUNT:
+				return getCount();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case EntityMockDSLPackage.PROPERTY_FILLER_TEXT_PARAGRAPHS__COUNT:
+				setCount((Integer)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.PROPERTY_FILLER_TEXT_PARAGRAPHS__COUNT:
+				setCount(COUNT_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.PROPERTY_FILLER_TEXT_PARAGRAPHS__COUNT:
+				return count != COUNT_EDEFAULT;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (count: ");
+		result.append(count);
+		result.append(')');
+		return result.toString();
+	}
+
+} //PropertyFillerTextParagraphsImpl
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/PropertyFillerTextRandomImpl.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/PropertyFillerTextRandomImpl.java
new file mode 100644
index 0000000..ab39fae
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/PropertyFillerTextRandomImpl.java
@@ -0,0 +1,158 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.util.EDataTypeEList;
+
+import org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerTextRandom;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Property Filler Text Random</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerTextRandomImpl#getItems <em>Items</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PropertyFillerTextRandomImpl extends PropertyFillerTextTypeImpl implements PropertyFillerTextRandom {
+	/**
+	 * The cached value of the '{@link #getItems() <em>Items</em>}' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getItems()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<String> items;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected PropertyFillerTextRandomImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return EntityMockDSLPackage.Literals.PROPERTY_FILLER_TEXT_RANDOM;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<String> getItems() {
+		if (items == null) {
+			items = new EDataTypeEList<String>(String.class, this, EntityMockDSLPackage.PROPERTY_FILLER_TEXT_RANDOM__ITEMS);
+		}
+		return items;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case EntityMockDSLPackage.PROPERTY_FILLER_TEXT_RANDOM__ITEMS:
+				return getItems();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case EntityMockDSLPackage.PROPERTY_FILLER_TEXT_RANDOM__ITEMS:
+				getItems().clear();
+				getItems().addAll((Collection<? extends String>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.PROPERTY_FILLER_TEXT_RANDOM__ITEMS:
+				getItems().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.PROPERTY_FILLER_TEXT_RANDOM__ITEMS:
+				return items != null && !items.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (items: ");
+		result.append(items);
+		result.append(')');
+		return result.toString();
+	}
+
+} //PropertyFillerTextRandomImpl
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/PropertyFillerTextSentencesImpl.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/PropertyFillerTextSentencesImpl.java
new file mode 100644
index 0000000..ce46273
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/PropertyFillerTextSentencesImpl.java
@@ -0,0 +1,173 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerTextSentences;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Property Filler Text Sentences</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerTextSentencesImpl#getCount <em>Count</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PropertyFillerTextSentencesImpl extends PropertyFillerTextTypeImpl implements PropertyFillerTextSentences {
+	/**
+	 * The default value of the '{@link #getCount() <em>Count</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getCount()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int COUNT_EDEFAULT = 0;
+
+	/**
+	 * The cached value of the '{@link #getCount() <em>Count</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getCount()
+	 * @generated
+	 * @ordered
+	 */
+	protected int count = COUNT_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected PropertyFillerTextSentencesImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return EntityMockDSLPackage.Literals.PROPERTY_FILLER_TEXT_SENTENCES;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getCount() {
+		return count;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setCount(int newCount) {
+		int oldCount = count;
+		count = newCount;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.PROPERTY_FILLER_TEXT_SENTENCES__COUNT, oldCount, count));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case EntityMockDSLPackage.PROPERTY_FILLER_TEXT_SENTENCES__COUNT:
+				return getCount();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case EntityMockDSLPackage.PROPERTY_FILLER_TEXT_SENTENCES__COUNT:
+				setCount((Integer)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.PROPERTY_FILLER_TEXT_SENTENCES__COUNT:
+				setCount(COUNT_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.PROPERTY_FILLER_TEXT_SENTENCES__COUNT:
+				return count != COUNT_EDEFAULT;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (count: ");
+		result.append(count);
+		result.append(')');
+		return result.toString();
+	}
+
+} //PropertyFillerTextSentencesImpl
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/PropertyFillerTextTypeImpl.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/PropertyFillerTextTypeImpl.java
new file mode 100644
index 0000000..51969e7
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/PropertyFillerTextTypeImpl.java
@@ -0,0 +1,50 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerTextType;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Property Filler Text Type</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class PropertyFillerTextTypeImpl extends PropertyFillerTypeImpl implements PropertyFillerTextType {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected PropertyFillerTextTypeImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return EntityMockDSLPackage.Literals.PROPERTY_FILLER_TEXT_TYPE;
+	}
+
+} //PropertyFillerTextTypeImpl
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/PropertyFillerTextWordsImpl.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/PropertyFillerTextWordsImpl.java
new file mode 100644
index 0000000..fcda90f
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/PropertyFillerTextWordsImpl.java
@@ -0,0 +1,173 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerTextWords;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Property Filler Text Words</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerTextWordsImpl#getCount <em>Count</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PropertyFillerTextWordsImpl extends PropertyFillerTextTypeImpl implements PropertyFillerTextWords {
+	/**
+	 * The default value of the '{@link #getCount() <em>Count</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getCount()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int COUNT_EDEFAULT = 0;
+
+	/**
+	 * The cached value of the '{@link #getCount() <em>Count</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getCount()
+	 * @generated
+	 * @ordered
+	 */
+	protected int count = COUNT_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected PropertyFillerTextWordsImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return EntityMockDSLPackage.Literals.PROPERTY_FILLER_TEXT_WORDS;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getCount() {
+		return count;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setCount(int newCount) {
+		int oldCount = count;
+		count = newCount;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.PROPERTY_FILLER_TEXT_WORDS__COUNT, oldCount, count));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case EntityMockDSLPackage.PROPERTY_FILLER_TEXT_WORDS__COUNT:
+				return getCount();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case EntityMockDSLPackage.PROPERTY_FILLER_TEXT_WORDS__COUNT:
+				setCount((Integer)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.PROPERTY_FILLER_TEXT_WORDS__COUNT:
+				setCount(COUNT_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.PROPERTY_FILLER_TEXT_WORDS__COUNT:
+				return count != COUNT_EDEFAULT;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (count: ");
+		result.append(count);
+		result.append(')');
+		return result.toString();
+	}
+
+} //PropertyFillerTextWordsImpl
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/PropertyFillerTypeImpl.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/PropertyFillerTypeImpl.java
new file mode 100644
index 0000000..7d8df42
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/PropertyFillerTypeImpl.java
@@ -0,0 +1,50 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerType;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Property Filler Type</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class PropertyFillerTypeImpl extends EntityMockLazyResolverImpl implements PropertyFillerType {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected PropertyFillerTypeImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return EntityMockDSLPackage.Literals.PROPERTY_FILLER_TYPE;
+	}
+
+} //PropertyFillerTypeImpl
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/PropertyFillerUnsignedDoubleRandomImpl.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/PropertyFillerUnsignedDoubleRandomImpl.java
new file mode 100644
index 0000000..a945bb4
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/PropertyFillerUnsignedDoubleRandomImpl.java
@@ -0,0 +1,158 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.util.EDataTypeEList;
+
+import org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedDoubleRandom;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Property Filler Unsigned Double Random</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerUnsignedDoubleRandomImpl#getItems <em>Items</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PropertyFillerUnsignedDoubleRandomImpl extends PropertyFillerDoubleTypeImpl implements PropertyFillerUnsignedDoubleRandom {
+	/**
+	 * The cached value of the '{@link #getItems() <em>Items</em>}' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getItems()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Double> items;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected PropertyFillerUnsignedDoubleRandomImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return EntityMockDSLPackage.Literals.PROPERTY_FILLER_UNSIGNED_DOUBLE_RANDOM;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<Double> getItems() {
+		if (items == null) {
+			items = new EDataTypeEList<Double>(Double.class, this, EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_DOUBLE_RANDOM__ITEMS);
+		}
+		return items;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_DOUBLE_RANDOM__ITEMS:
+				return getItems();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_DOUBLE_RANDOM__ITEMS:
+				getItems().clear();
+				getItems().addAll((Collection<? extends Double>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_DOUBLE_RANDOM__ITEMS:
+				getItems().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_DOUBLE_RANDOM__ITEMS:
+				return items != null && !items.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (items: ");
+		result.append(items);
+		result.append(')');
+		return result.toString();
+	}
+
+} //PropertyFillerUnsignedDoubleRandomImpl
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/PropertyFillerUnsignedDoubleRangeImpl.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/PropertyFillerUnsignedDoubleRangeImpl.java
new file mode 100644
index 0000000..b11905a
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/PropertyFillerUnsignedDoubleRangeImpl.java
@@ -0,0 +1,458 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.osbp.dsl.semantic.entity.LEntityAttribute;
+
+import org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedDoubleRange;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Property Filler Unsigned Double Range</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerUnsignedDoubleRangeImpl#getDecimals <em>Decimals</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerUnsignedDoubleRangeImpl#getBeginRange <em>Begin Range</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerUnsignedDoubleRangeImpl#getEndRange <em>End Range</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerUnsignedDoubleRangeImpl#getBeginRangeRef <em>Begin Range Ref</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerUnsignedDoubleRangeImpl#getEndRangeRef <em>End Range Ref</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerUnsignedDoubleRangeImpl#getRounded <em>Rounded</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PropertyFillerUnsignedDoubleRangeImpl extends PropertyFillerDoubleTypeImpl implements PropertyFillerUnsignedDoubleRange {
+	/**
+	 * The default value of the '{@link #getDecimals() <em>Decimals</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDecimals()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int DECIMALS_EDEFAULT = 0;
+
+	/**
+	 * The cached value of the '{@link #getDecimals() <em>Decimals</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDecimals()
+	 * @generated
+	 * @ordered
+	 */
+	protected int decimals = DECIMALS_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getBeginRange() <em>Begin Range</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBeginRange()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final double BEGIN_RANGE_EDEFAULT = 0.0;
+
+	/**
+	 * The cached value of the '{@link #getBeginRange() <em>Begin Range</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBeginRange()
+	 * @generated
+	 * @ordered
+	 */
+	protected double beginRange = BEGIN_RANGE_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getEndRange() <em>End Range</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getEndRange()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final double END_RANGE_EDEFAULT = 0.0;
+
+	/**
+	 * The cached value of the '{@link #getEndRange() <em>End Range</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getEndRange()
+	 * @generated
+	 * @ordered
+	 */
+	protected double endRange = END_RANGE_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getBeginRangeRef() <em>Begin Range Ref</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBeginRangeRef()
+	 * @generated
+	 * @ordered
+	 */
+	protected LEntityAttribute beginRangeRef;
+
+	/**
+	 * The cached value of the '{@link #getEndRangeRef() <em>End Range Ref</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getEndRangeRef()
+	 * @generated
+	 * @ordered
+	 */
+	protected LEntityAttribute endRangeRef;
+
+	/**
+	 * The default value of the '{@link #getRounded() <em>Rounded</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getRounded()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final double ROUNDED_EDEFAULT = 0.0;
+
+	/**
+	 * The cached value of the '{@link #getRounded() <em>Rounded</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getRounded()
+	 * @generated
+	 * @ordered
+	 */
+	protected double rounded = ROUNDED_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected PropertyFillerUnsignedDoubleRangeImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return EntityMockDSLPackage.Literals.PROPERTY_FILLER_UNSIGNED_DOUBLE_RANGE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getDecimals() {
+		return decimals;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setDecimals(int newDecimals) {
+		int oldDecimals = decimals;
+		decimals = newDecimals;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_DOUBLE_RANGE__DECIMALS, oldDecimals, decimals));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public double getBeginRange() {
+		return beginRange;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBeginRange(double newBeginRange) {
+		double oldBeginRange = beginRange;
+		beginRange = newBeginRange;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_DOUBLE_RANGE__BEGIN_RANGE, oldBeginRange, beginRange));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public double getEndRange() {
+		return endRange;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setEndRange(double newEndRange) {
+		double oldEndRange = endRange;
+		endRange = newEndRange;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_DOUBLE_RANGE__END_RANGE, oldEndRange, endRange));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public LEntityAttribute getBeginRangeRef() {
+		if (beginRangeRef != null && beginRangeRef.eIsProxy()) {
+			InternalEObject oldBeginRangeRef = (InternalEObject)beginRangeRef;
+			beginRangeRef = (LEntityAttribute)eResolveProxy(oldBeginRangeRef);
+			if (beginRangeRef != oldBeginRangeRef) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_DOUBLE_RANGE__BEGIN_RANGE_REF, oldBeginRangeRef, beginRangeRef));
+			}
+		}
+		return beginRangeRef;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public LEntityAttribute basicGetBeginRangeRef() {
+		return beginRangeRef;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBeginRangeRef(LEntityAttribute newBeginRangeRef) {
+		LEntityAttribute oldBeginRangeRef = beginRangeRef;
+		beginRangeRef = newBeginRangeRef;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_DOUBLE_RANGE__BEGIN_RANGE_REF, oldBeginRangeRef, beginRangeRef));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public LEntityAttribute getEndRangeRef() {
+		if (endRangeRef != null && endRangeRef.eIsProxy()) {
+			InternalEObject oldEndRangeRef = (InternalEObject)endRangeRef;
+			endRangeRef = (LEntityAttribute)eResolveProxy(oldEndRangeRef);
+			if (endRangeRef != oldEndRangeRef) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_DOUBLE_RANGE__END_RANGE_REF, oldEndRangeRef, endRangeRef));
+			}
+		}
+		return endRangeRef;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public LEntityAttribute basicGetEndRangeRef() {
+		return endRangeRef;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setEndRangeRef(LEntityAttribute newEndRangeRef) {
+		LEntityAttribute oldEndRangeRef = endRangeRef;
+		endRangeRef = newEndRangeRef;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_DOUBLE_RANGE__END_RANGE_REF, oldEndRangeRef, endRangeRef));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public double getRounded() {
+		return rounded;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setRounded(double newRounded) {
+		double oldRounded = rounded;
+		rounded = newRounded;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_DOUBLE_RANGE__ROUNDED, oldRounded, rounded));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_DOUBLE_RANGE__DECIMALS:
+				return getDecimals();
+			case EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_DOUBLE_RANGE__BEGIN_RANGE:
+				return getBeginRange();
+			case EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_DOUBLE_RANGE__END_RANGE:
+				return getEndRange();
+			case EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_DOUBLE_RANGE__BEGIN_RANGE_REF:
+				if (resolve) return getBeginRangeRef();
+				return basicGetBeginRangeRef();
+			case EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_DOUBLE_RANGE__END_RANGE_REF:
+				if (resolve) return getEndRangeRef();
+				return basicGetEndRangeRef();
+			case EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_DOUBLE_RANGE__ROUNDED:
+				return getRounded();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_DOUBLE_RANGE__DECIMALS:
+				setDecimals((Integer)newValue);
+				return;
+			case EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_DOUBLE_RANGE__BEGIN_RANGE:
+				setBeginRange((Double)newValue);
+				return;
+			case EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_DOUBLE_RANGE__END_RANGE:
+				setEndRange((Double)newValue);
+				return;
+			case EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_DOUBLE_RANGE__BEGIN_RANGE_REF:
+				setBeginRangeRef((LEntityAttribute)newValue);
+				return;
+			case EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_DOUBLE_RANGE__END_RANGE_REF:
+				setEndRangeRef((LEntityAttribute)newValue);
+				return;
+			case EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_DOUBLE_RANGE__ROUNDED:
+				setRounded((Double)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_DOUBLE_RANGE__DECIMALS:
+				setDecimals(DECIMALS_EDEFAULT);
+				return;
+			case EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_DOUBLE_RANGE__BEGIN_RANGE:
+				setBeginRange(BEGIN_RANGE_EDEFAULT);
+				return;
+			case EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_DOUBLE_RANGE__END_RANGE:
+				setEndRange(END_RANGE_EDEFAULT);
+				return;
+			case EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_DOUBLE_RANGE__BEGIN_RANGE_REF:
+				setBeginRangeRef((LEntityAttribute)null);
+				return;
+			case EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_DOUBLE_RANGE__END_RANGE_REF:
+				setEndRangeRef((LEntityAttribute)null);
+				return;
+			case EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_DOUBLE_RANGE__ROUNDED:
+				setRounded(ROUNDED_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_DOUBLE_RANGE__DECIMALS:
+				return decimals != DECIMALS_EDEFAULT;
+			case EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_DOUBLE_RANGE__BEGIN_RANGE:
+				return beginRange != BEGIN_RANGE_EDEFAULT;
+			case EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_DOUBLE_RANGE__END_RANGE:
+				return endRange != END_RANGE_EDEFAULT;
+			case EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_DOUBLE_RANGE__BEGIN_RANGE_REF:
+				return beginRangeRef != null;
+			case EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_DOUBLE_RANGE__END_RANGE_REF:
+				return endRangeRef != null;
+			case EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_DOUBLE_RANGE__ROUNDED:
+				return rounded != ROUNDED_EDEFAULT;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (decimals: ");
+		result.append(decimals);
+		result.append(", beginRange: ");
+		result.append(beginRange);
+		result.append(", endRange: ");
+		result.append(endRange);
+		result.append(", rounded: ");
+		result.append(rounded);
+		result.append(')');
+		return result.toString();
+	}
+
+} //PropertyFillerUnsignedDoubleRangeImpl
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/PropertyFillerUnsignedIntegerRandomImpl.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/PropertyFillerUnsignedIntegerRandomImpl.java
new file mode 100644
index 0000000..8b4377f
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/PropertyFillerUnsignedIntegerRandomImpl.java
@@ -0,0 +1,158 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.util.EDataTypeEList;
+
+import org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedIntegerRandom;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Property Filler Unsigned Integer Random</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerUnsignedIntegerRandomImpl#getItems <em>Items</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PropertyFillerUnsignedIntegerRandomImpl extends PropertyFillerIntegerTypeImpl implements PropertyFillerUnsignedIntegerRandom {
+	/**
+	 * The cached value of the '{@link #getItems() <em>Items</em>}' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getItems()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Integer> items;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected PropertyFillerUnsignedIntegerRandomImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return EntityMockDSLPackage.Literals.PROPERTY_FILLER_UNSIGNED_INTEGER_RANDOM;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<Integer> getItems() {
+		if (items == null) {
+			items = new EDataTypeEList<Integer>(Integer.class, this, EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_INTEGER_RANDOM__ITEMS);
+		}
+		return items;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_INTEGER_RANDOM__ITEMS:
+				return getItems();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_INTEGER_RANDOM__ITEMS:
+				getItems().clear();
+				getItems().addAll((Collection<? extends Integer>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_INTEGER_RANDOM__ITEMS:
+				getItems().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_INTEGER_RANDOM__ITEMS:
+				return items != null && !items.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (items: ");
+		result.append(items);
+		result.append(')');
+		return result.toString();
+	}
+
+} //PropertyFillerUnsignedIntegerRandomImpl
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/PropertyFillerUnsignedIntegerRangeImpl.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/PropertyFillerUnsignedIntegerRangeImpl.java
new file mode 100644
index 0000000..edafd61
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/PropertyFillerUnsignedIntegerRangeImpl.java
@@ -0,0 +1,404 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.osbp.dsl.semantic.entity.LEntityAttribute;
+
+import org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedIntegerRange;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Property Filler Unsigned Integer Range</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerUnsignedIntegerRangeImpl#getBeginRange <em>Begin Range</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerUnsignedIntegerRangeImpl#getEndRange <em>End Range</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerUnsignedIntegerRangeImpl#getBeginRangeRef <em>Begin Range Ref</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerUnsignedIntegerRangeImpl#getEndRangeRef <em>End Range Ref</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.PropertyFillerUnsignedIntegerRangeImpl#getRounded <em>Rounded</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PropertyFillerUnsignedIntegerRangeImpl extends PropertyFillerIntegerTypeImpl implements PropertyFillerUnsignedIntegerRange {
+	/**
+	 * The default value of the '{@link #getBeginRange() <em>Begin Range</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBeginRange()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int BEGIN_RANGE_EDEFAULT = 0;
+
+	/**
+	 * The cached value of the '{@link #getBeginRange() <em>Begin Range</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBeginRange()
+	 * @generated
+	 * @ordered
+	 */
+	protected int beginRange = BEGIN_RANGE_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getEndRange() <em>End Range</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getEndRange()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int END_RANGE_EDEFAULT = 0;
+
+	/**
+	 * The cached value of the '{@link #getEndRange() <em>End Range</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getEndRange()
+	 * @generated
+	 * @ordered
+	 */
+	protected int endRange = END_RANGE_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getBeginRangeRef() <em>Begin Range Ref</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBeginRangeRef()
+	 * @generated
+	 * @ordered
+	 */
+	protected LEntityAttribute beginRangeRef;
+
+	/**
+	 * The cached value of the '{@link #getEndRangeRef() <em>End Range Ref</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getEndRangeRef()
+	 * @generated
+	 * @ordered
+	 */
+	protected LEntityAttribute endRangeRef;
+
+	/**
+	 * The default value of the '{@link #getRounded() <em>Rounded</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getRounded()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int ROUNDED_EDEFAULT = 0;
+
+	/**
+	 * The cached value of the '{@link #getRounded() <em>Rounded</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getRounded()
+	 * @generated
+	 * @ordered
+	 */
+	protected int rounded = ROUNDED_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected PropertyFillerUnsignedIntegerRangeImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return EntityMockDSLPackage.Literals.PROPERTY_FILLER_UNSIGNED_INTEGER_RANGE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getBeginRange() {
+		return beginRange;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBeginRange(int newBeginRange) {
+		int oldBeginRange = beginRange;
+		beginRange = newBeginRange;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_INTEGER_RANGE__BEGIN_RANGE, oldBeginRange, beginRange));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getEndRange() {
+		return endRange;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setEndRange(int newEndRange) {
+		int oldEndRange = endRange;
+		endRange = newEndRange;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_INTEGER_RANGE__END_RANGE, oldEndRange, endRange));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public LEntityAttribute getBeginRangeRef() {
+		if (beginRangeRef != null && beginRangeRef.eIsProxy()) {
+			InternalEObject oldBeginRangeRef = (InternalEObject)beginRangeRef;
+			beginRangeRef = (LEntityAttribute)eResolveProxy(oldBeginRangeRef);
+			if (beginRangeRef != oldBeginRangeRef) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_INTEGER_RANGE__BEGIN_RANGE_REF, oldBeginRangeRef, beginRangeRef));
+			}
+		}
+		return beginRangeRef;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public LEntityAttribute basicGetBeginRangeRef() {
+		return beginRangeRef;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBeginRangeRef(LEntityAttribute newBeginRangeRef) {
+		LEntityAttribute oldBeginRangeRef = beginRangeRef;
+		beginRangeRef = newBeginRangeRef;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_INTEGER_RANGE__BEGIN_RANGE_REF, oldBeginRangeRef, beginRangeRef));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public LEntityAttribute getEndRangeRef() {
+		if (endRangeRef != null && endRangeRef.eIsProxy()) {
+			InternalEObject oldEndRangeRef = (InternalEObject)endRangeRef;
+			endRangeRef = (LEntityAttribute)eResolveProxy(oldEndRangeRef);
+			if (endRangeRef != oldEndRangeRef) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_INTEGER_RANGE__END_RANGE_REF, oldEndRangeRef, endRangeRef));
+			}
+		}
+		return endRangeRef;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public LEntityAttribute basicGetEndRangeRef() {
+		return endRangeRef;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setEndRangeRef(LEntityAttribute newEndRangeRef) {
+		LEntityAttribute oldEndRangeRef = endRangeRef;
+		endRangeRef = newEndRangeRef;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_INTEGER_RANGE__END_RANGE_REF, oldEndRangeRef, endRangeRef));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getRounded() {
+		return rounded;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setRounded(int newRounded) {
+		int oldRounded = rounded;
+		rounded = newRounded;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_INTEGER_RANGE__ROUNDED, oldRounded, rounded));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_INTEGER_RANGE__BEGIN_RANGE:
+				return getBeginRange();
+			case EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_INTEGER_RANGE__END_RANGE:
+				return getEndRange();
+			case EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_INTEGER_RANGE__BEGIN_RANGE_REF:
+				if (resolve) return getBeginRangeRef();
+				return basicGetBeginRangeRef();
+			case EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_INTEGER_RANGE__END_RANGE_REF:
+				if (resolve) return getEndRangeRef();
+				return basicGetEndRangeRef();
+			case EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_INTEGER_RANGE__ROUNDED:
+				return getRounded();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_INTEGER_RANGE__BEGIN_RANGE:
+				setBeginRange((Integer)newValue);
+				return;
+			case EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_INTEGER_RANGE__END_RANGE:
+				setEndRange((Integer)newValue);
+				return;
+			case EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_INTEGER_RANGE__BEGIN_RANGE_REF:
+				setBeginRangeRef((LEntityAttribute)newValue);
+				return;
+			case EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_INTEGER_RANGE__END_RANGE_REF:
+				setEndRangeRef((LEntityAttribute)newValue);
+				return;
+			case EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_INTEGER_RANGE__ROUNDED:
+				setRounded((Integer)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_INTEGER_RANGE__BEGIN_RANGE:
+				setBeginRange(BEGIN_RANGE_EDEFAULT);
+				return;
+			case EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_INTEGER_RANGE__END_RANGE:
+				setEndRange(END_RANGE_EDEFAULT);
+				return;
+			case EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_INTEGER_RANGE__BEGIN_RANGE_REF:
+				setBeginRangeRef((LEntityAttribute)null);
+				return;
+			case EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_INTEGER_RANGE__END_RANGE_REF:
+				setEndRangeRef((LEntityAttribute)null);
+				return;
+			case EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_INTEGER_RANGE__ROUNDED:
+				setRounded(ROUNDED_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_INTEGER_RANGE__BEGIN_RANGE:
+				return beginRange != BEGIN_RANGE_EDEFAULT;
+			case EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_INTEGER_RANGE__END_RANGE:
+				return endRange != END_RANGE_EDEFAULT;
+			case EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_INTEGER_RANGE__BEGIN_RANGE_REF:
+				return beginRangeRef != null;
+			case EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_INTEGER_RANGE__END_RANGE_REF:
+				return endRangeRef != null;
+			case EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_INTEGER_RANGE__ROUNDED:
+				return rounded != ROUNDED_EDEFAULT;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (beginRange: ");
+		result.append(beginRange);
+		result.append(", endRange: ");
+		result.append(endRange);
+		result.append(", rounded: ");
+		result.append(rounded);
+		result.append(')');
+		return result.toString();
+	}
+
+} //PropertyFillerUnsignedIntegerRangeImpl
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/RunningDataInterchangeImpl.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/RunningDataInterchangeImpl.java
new file mode 100644
index 0000000..6d16b42
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/RunningDataInterchangeImpl.java
@@ -0,0 +1,237 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.osbp.xtext.datainterchange.DataInterchange;
+
+import org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage;
+import org.eclipse.osbp.xtext.entitymock.RunningDataInterchange;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Running Data Interchange</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.RunningDataInterchangeImpl#getDatainterchangeRef <em>Datainterchange Ref</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.RunningDataInterchangeImpl#getFileURL <em>File URL</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RunningDataInterchangeImpl extends MinimalEObjectImpl.Container implements RunningDataInterchange {
+	/**
+	 * The cached value of the '{@link #getDatainterchangeRef() <em>Datainterchange Ref</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDatainterchangeRef()
+	 * @generated
+	 * @ordered
+	 */
+	protected DataInterchange datainterchangeRef;
+
+	/**
+	 * The default value of the '{@link #getFileURL() <em>File URL</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getFileURL()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String FILE_URL_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getFileURL() <em>File URL</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getFileURL()
+	 * @generated
+	 * @ordered
+	 */
+	protected String fileURL = FILE_URL_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected RunningDataInterchangeImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return EntityMockDSLPackage.Literals.RUNNING_DATA_INTERCHANGE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DataInterchange getDatainterchangeRef() {
+		if (datainterchangeRef != null && datainterchangeRef.eIsProxy()) {
+			InternalEObject oldDatainterchangeRef = (InternalEObject)datainterchangeRef;
+			datainterchangeRef = (DataInterchange)eResolveProxy(oldDatainterchangeRef);
+			if (datainterchangeRef != oldDatainterchangeRef) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, EntityMockDSLPackage.RUNNING_DATA_INTERCHANGE__DATAINTERCHANGE_REF, oldDatainterchangeRef, datainterchangeRef));
+			}
+		}
+		return datainterchangeRef;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DataInterchange basicGetDatainterchangeRef() {
+		return datainterchangeRef;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setDatainterchangeRef(DataInterchange newDatainterchangeRef) {
+		DataInterchange oldDatainterchangeRef = datainterchangeRef;
+		datainterchangeRef = newDatainterchangeRef;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.RUNNING_DATA_INTERCHANGE__DATAINTERCHANGE_REF, oldDatainterchangeRef, datainterchangeRef));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getFileURL() {
+		return fileURL;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setFileURL(String newFileURL) {
+		String oldFileURL = fileURL;
+		fileURL = newFileURL;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EntityMockDSLPackage.RUNNING_DATA_INTERCHANGE__FILE_URL, oldFileURL, fileURL));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case EntityMockDSLPackage.RUNNING_DATA_INTERCHANGE__DATAINTERCHANGE_REF:
+				if (resolve) return getDatainterchangeRef();
+				return basicGetDatainterchangeRef();
+			case EntityMockDSLPackage.RUNNING_DATA_INTERCHANGE__FILE_URL:
+				return getFileURL();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case EntityMockDSLPackage.RUNNING_DATA_INTERCHANGE__DATAINTERCHANGE_REF:
+				setDatainterchangeRef((DataInterchange)newValue);
+				return;
+			case EntityMockDSLPackage.RUNNING_DATA_INTERCHANGE__FILE_URL:
+				setFileURL((String)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.RUNNING_DATA_INTERCHANGE__DATAINTERCHANGE_REF:
+				setDatainterchangeRef((DataInterchange)null);
+				return;
+			case EntityMockDSLPackage.RUNNING_DATA_INTERCHANGE__FILE_URL:
+				setFileURL(FILE_URL_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.RUNNING_DATA_INTERCHANGE__DATAINTERCHANGE_REF:
+				return datainterchangeRef != null;
+			case EntityMockDSLPackage.RUNNING_DATA_INTERCHANGE__FILE_URL:
+				return FILE_URL_EDEFAULT == null ? fileURL != null : !FILE_URL_EDEFAULT.equals(fileURL);
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (fileURL: ");
+		result.append(fileURL);
+		result.append(')');
+		return result.toString();
+	}
+
+} //RunningDataInterchangeImpl
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/RunningDataInterchangesImpl.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/RunningDataInterchangesImpl.java
new file mode 100644
index 0000000..9572ee9
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/impl/RunningDataInterchangesImpl.java
@@ -0,0 +1,163 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage;
+import org.eclipse.osbp.xtext.entitymock.RunningDataInterchange;
+import org.eclipse.osbp.xtext.entitymock.RunningDataInterchanges;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Running Data Interchanges</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.xtext.entitymock.impl.RunningDataInterchangesImpl#getDatainterchanges <em>Datainterchanges</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RunningDataInterchangesImpl extends MinimalEObjectImpl.Container implements RunningDataInterchanges {
+	/**
+	 * The cached value of the '{@link #getDatainterchanges() <em>Datainterchanges</em>}' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDatainterchanges()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<RunningDataInterchange> datainterchanges;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected RunningDataInterchangesImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return EntityMockDSLPackage.Literals.RUNNING_DATA_INTERCHANGES;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<RunningDataInterchange> getDatainterchanges() {
+		if (datainterchanges == null) {
+			datainterchanges = new EObjectContainmentEList<RunningDataInterchange>(RunningDataInterchange.class, this, EntityMockDSLPackage.RUNNING_DATA_INTERCHANGES__DATAINTERCHANGES);
+		}
+		return datainterchanges;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case EntityMockDSLPackage.RUNNING_DATA_INTERCHANGES__DATAINTERCHANGES:
+				return ((InternalEList<?>)getDatainterchanges()).basicRemove(otherEnd, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case EntityMockDSLPackage.RUNNING_DATA_INTERCHANGES__DATAINTERCHANGES:
+				return getDatainterchanges();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case EntityMockDSLPackage.RUNNING_DATA_INTERCHANGES__DATAINTERCHANGES:
+				getDatainterchanges().clear();
+				getDatainterchanges().addAll((Collection<? extends RunningDataInterchange>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.RUNNING_DATA_INTERCHANGES__DATAINTERCHANGES:
+				getDatainterchanges().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case EntityMockDSLPackage.RUNNING_DATA_INTERCHANGES__DATAINTERCHANGES:
+				return datainterchanges != null && !datainterchanges.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //RunningDataInterchangesImpl
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/util/EntityMockDSLAdapterFactory.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/util/EntityMockDSLAdapterFactory.java
new file mode 100644
index 0000000..95f7815
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/util/EntityMockDSLAdapterFactory.java
@@ -0,0 +1,1345 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.osbp.dsl.semantic.common.types.LAnnotationTarget;
+import org.eclipse.osbp.dsl.semantic.common.types.LEnum;
+import org.eclipse.osbp.dsl.semantic.common.types.LEnumLiteral;
+import org.eclipse.osbp.dsl.semantic.common.types.LLazyResolver;
+import org.eclipse.osbp.dsl.semantic.common.types.LPackage;
+import org.eclipse.osbp.dsl.semantic.common.types.LScalarType;
+import org.eclipse.osbp.dsl.semantic.common.types.LType;
+
+import org.eclipse.osbp.xtext.entitymock.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage
+ * @generated
+ */
+public class EntityMockDSLAdapterFactory extends AdapterFactoryImpl {
+	/**
+	 * The cached model package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static EntityMockDSLPackage modelPackage;
+
+	/**
+	 * Creates an instance of the adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EntityMockDSLAdapterFactory() {
+		if (modelPackage == null) {
+			modelPackage = EntityMockDSLPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Returns whether this factory is applicable for the type of the object.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+	 * <!-- end-user-doc -->
+	 * @return whether this factory is applicable for the type of the object.
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object object) {
+		if (object == modelPackage) {
+			return true;
+		}
+		if (object instanceof EObject) {
+			return ((EObject)object).eClass().getEPackage() == modelPackage;
+		}
+		return false;
+	}
+
+	/**
+	 * The switch that delegates to the <code>createXXX</code> methods.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EntityMockDSLSwitch<Adapter> modelSwitch =
+		new EntityMockDSLSwitch<Adapter>() {
+			@Override
+			public Adapter caseEntityMockModel(EntityMockModel object) {
+				return createEntityMockModelAdapter();
+			}
+			@Override
+			public Adapter caseEntityMockPackage(EntityMockPackage object) {
+				return createEntityMockPackageAdapter();
+			}
+			@Override
+			public Adapter caseRunningDataInterchanges(RunningDataInterchanges object) {
+				return createRunningDataInterchangesAdapter();
+			}
+			@Override
+			public Adapter caseRunningDataInterchange(RunningDataInterchange object) {
+				return createRunningDataInterchangeAdapter();
+			}
+			@Override
+			public Adapter caseEntityMockLazyResolver(EntityMockLazyResolver object) {
+				return createEntityMockLazyResolverAdapter();
+			}
+			@Override
+			public Adapter caseEntityMockResources(EntityMockResources object) {
+				return createEntityMockResourcesAdapter();
+			}
+			@Override
+			public Adapter caseEntityMockResource(EntityMockResource object) {
+				return createEntityMockResourceAdapter();
+			}
+			@Override
+			public Adapter caseEntityMockResourceAttribute(EntityMockResourceAttribute object) {
+				return createEntityMockResourceAttributeAdapter();
+			}
+			@Override
+			public Adapter caseEntityMockResourceDataRow(EntityMockResourceDataRow object) {
+				return createEntityMockResourceDataRowAdapter();
+			}
+			@Override
+			public Adapter caseEntityMockObjects(EntityMockObjects object) {
+				return createEntityMockObjectsAdapter();
+			}
+			@Override
+			public Adapter caseEntityMockObject(EntityMockObject object) {
+				return createEntityMockObjectAdapter();
+			}
+			@Override
+			public Adapter caseEntityMockObjectEnum(EntityMockObjectEnum object) {
+				return createEntityMockObjectEnumAdapter();
+			}
+			@Override
+			public Adapter caseIEntityMockObjectAttribute(IEntityMockObjectAttribute object) {
+				return createIEntityMockObjectAttributeAdapter();
+			}
+			@Override
+			public Adapter caseEntityMockObjectPlainValue(EntityMockObjectPlainValue object) {
+				return createEntityMockObjectPlainValueAdapter();
+			}
+			@Override
+			public Adapter caseEntityMockObjectResourceValue(EntityMockObjectResourceValue object) {
+				return createEntityMockObjectResourceValueAdapter();
+			}
+			@Override
+			public Adapter caseEntityMockObjectArrayValue(EntityMockObjectArrayValue object) {
+				return createEntityMockObjectArrayValueAdapter();
+			}
+			@Override
+			public Adapter caseEntityMockObjectItemValue(EntityMockObjectItemValue object) {
+				return createEntityMockObjectItemValueAdapter();
+			}
+			@Override
+			public Adapter caseEntityMockObjectEmbed(EntityMockObjectEmbed object) {
+				return createEntityMockObjectEmbedAdapter();
+			}
+			@Override
+			public Adapter caseEntityMockObjectFunction(EntityMockObjectFunction object) {
+				return createEntityMockObjectFunctionAdapter();
+			}
+			@Override
+			public Adapter caseEntityMockObjectFunctionParameter(EntityMockObjectFunctionParameter object) {
+				return createEntityMockObjectFunctionParameterAdapter();
+			}
+			@Override
+			public Adapter caseEntityMockObjectFill(EntityMockObjectFill object) {
+				return createEntityMockObjectFillAdapter();
+			}
+			@Override
+			public Adapter casePropertyFillerType(PropertyFillerType object) {
+				return createPropertyFillerTypeAdapter();
+			}
+			@Override
+			public Adapter casePropertyFillerDateType(PropertyFillerDateType object) {
+				return createPropertyFillerDateTypeAdapter();
+			}
+			@Override
+			public Adapter casePropertyFillerBoolean(PropertyFillerBoolean object) {
+				return createPropertyFillerBooleanAdapter();
+			}
+			@Override
+			public Adapter casePropertyFillerDoubleType(PropertyFillerDoubleType object) {
+				return createPropertyFillerDoubleTypeAdapter();
+			}
+			@Override
+			public Adapter casePropertyFillerIntegerType(PropertyFillerIntegerType object) {
+				return createPropertyFillerIntegerTypeAdapter();
+			}
+			@Override
+			public Adapter casePropertyFillerTextType(PropertyFillerTextType object) {
+				return createPropertyFillerTextTypeAdapter();
+			}
+			@Override
+			public Adapter casePropertyFillerDateFuture(PropertyFillerDateFuture object) {
+				return createPropertyFillerDateFutureAdapter();
+			}
+			@Override
+			public Adapter casePropertyFillerDatePast(PropertyFillerDatePast object) {
+				return createPropertyFillerDatePastAdapter();
+			}
+			@Override
+			public Adapter casePropertyFillerDateRange(PropertyFillerDateRange object) {
+				return createPropertyFillerDateRangeAdapter();
+			}
+			@Override
+			public Adapter casePropertyFillerSignedDoubleRange(PropertyFillerSignedDoubleRange object) {
+				return createPropertyFillerSignedDoubleRangeAdapter();
+			}
+			@Override
+			public Adapter casePropertyFillerSignedDoubleRandom(PropertyFillerSignedDoubleRandom object) {
+				return createPropertyFillerSignedDoubleRandomAdapter();
+			}
+			@Override
+			public Adapter casePropertyFillerSignedIntegerRange(PropertyFillerSignedIntegerRange object) {
+				return createPropertyFillerSignedIntegerRangeAdapter();
+			}
+			@Override
+			public Adapter casePropertyFillerSignedIntegerRandom(PropertyFillerSignedIntegerRandom object) {
+				return createPropertyFillerSignedIntegerRandomAdapter();
+			}
+			@Override
+			public Adapter casePropertyFillerTextRandom(PropertyFillerTextRandom object) {
+				return createPropertyFillerTextRandomAdapter();
+			}
+			@Override
+			public Adapter casePropertyFillerTextParagraphs(PropertyFillerTextParagraphs object) {
+				return createPropertyFillerTextParagraphsAdapter();
+			}
+			@Override
+			public Adapter casePropertyFillerTextSentences(PropertyFillerTextSentences object) {
+				return createPropertyFillerTextSentencesAdapter();
+			}
+			@Override
+			public Adapter casePropertyFillerTextWords(PropertyFillerTextWords object) {
+				return createPropertyFillerTextWordsAdapter();
+			}
+			@Override
+			public Adapter casePropertyFillerUnsignedDoubleRange(PropertyFillerUnsignedDoubleRange object) {
+				return createPropertyFillerUnsignedDoubleRangeAdapter();
+			}
+			@Override
+			public Adapter casePropertyFillerUnsignedDoubleRandom(PropertyFillerUnsignedDoubleRandom object) {
+				return createPropertyFillerUnsignedDoubleRandomAdapter();
+			}
+			@Override
+			public Adapter casePropertyFillerUnsignedIntegerRange(PropertyFillerUnsignedIntegerRange object) {
+				return createPropertyFillerUnsignedIntegerRangeAdapter();
+			}
+			@Override
+			public Adapter casePropertyFillerUnsignedIntegerRandom(PropertyFillerUnsignedIntegerRandom object) {
+				return createPropertyFillerUnsignedIntegerRandomAdapter();
+			}
+			@Override
+			public Adapter caseEntityMockDataTypes(EntityMockDataTypes object) {
+				return createEntityMockDataTypesAdapter();
+			}
+			@Override
+			public Adapter caseEntityMockDataType(EntityMockDataType object) {
+				return createEntityMockDataTypeAdapter();
+			}
+			@Override
+			public Adapter caseEntityMockEntities(EntityMockEntities object) {
+				return createEntityMockEntitiesAdapter();
+			}
+			@Override
+			public Adapter caseEntityMockEntity(EntityMockEntity object) {
+				return createEntityMockEntityAdapter();
+			}
+			@Override
+			public Adapter caseIIterate(IIterate object) {
+				return createIIterateAdapter();
+			}
+			@Override
+			public Adapter caseIntegerIterate(IntegerIterate object) {
+				return createIntegerIterateAdapter();
+			}
+			@Override
+			public Adapter caseDateIterate(DateIterate object) {
+				return createDateIterateAdapter();
+			}
+			@Override
+			public Adapter caseDate(Date object) {
+				return createDateAdapter();
+			}
+			@Override
+			public Adapter caseEntityMockByResourceAttribute(EntityMockByResourceAttribute object) {
+				return createEntityMockByResourceAttributeAdapter();
+			}
+			@Override
+			public Adapter caseEntityMockTemporary(EntityMockTemporary object) {
+				return createEntityMockTemporaryAdapter();
+			}
+			@Override
+			public Adapter caseIEntityMockObjectUsable(IEntityMockObjectUsable object) {
+				return createIEntityMockObjectUsableAdapter();
+			}
+			@Override
+			public Adapter caseIEntityMockEntityUsable(IEntityMockEntityUsable object) {
+				return createIEntityMockEntityUsableAdapter();
+			}
+			@Override
+			public Adapter caseIEntityMockAttribute(IEntityMockAttribute object) {
+				return createIEntityMockAttributeAdapter();
+			}
+			@Override
+			public Adapter caseEntityMockReferencedObjectAttribute(EntityMockReferencedObjectAttribute object) {
+				return createEntityMockReferencedObjectAttributeAdapter();
+			}
+			@Override
+			public Adapter caseEntityMockAttributeByObject(EntityMockAttributeByObject object) {
+				return createEntityMockAttributeByObjectAdapter();
+			}
+			@Override
+			public Adapter caseEntityMockAttributeFiller(EntityMockAttributeFiller object) {
+				return createEntityMockAttributeFillerAdapter();
+			}
+			@Override
+			public Adapter caseEntityMockAttributeByReference(EntityMockAttributeByReference object) {
+				return createEntityMockAttributeByReferenceAdapter();
+			}
+			@Override
+			public Adapter caseEntityMockEntityFunction(EntityMockEntityFunction object) {
+				return createEntityMockEntityFunctionAdapter();
+			}
+			@Override
+			public Adapter caseEntityMockEntityFunctionParameter(EntityMockEntityFunctionParameter object) {
+				return createEntityMockEntityFunctionParameterAdapter();
+			}
+			@Override
+			public Adapter caseLLazyResolver(LLazyResolver object) {
+				return createLLazyResolverAdapter();
+			}
+			@Override
+			public Adapter caseLPackage(LPackage object) {
+				return createLPackageAdapter();
+			}
+			@Override
+			public Adapter caseLAnnotationTarget(LAnnotationTarget object) {
+				return createLAnnotationTargetAdapter();
+			}
+			@Override
+			public Adapter caseLType(LType object) {
+				return createLTypeAdapter();
+			}
+			@Override
+			public Adapter caseLScalarType(LScalarType object) {
+				return createLScalarTypeAdapter();
+			}
+			@Override
+			public Adapter caseLEnum(LEnum object) {
+				return createLEnumAdapter();
+			}
+			@Override
+			public Adapter caseLEnumLiteral(LEnumLiteral object) {
+				return createLEnumLiteralAdapter();
+			}
+			@Override
+			public Adapter defaultCase(EObject object) {
+				return createEObjectAdapter();
+			}
+		};
+
+	/**
+	 * Creates an adapter for the <code>target</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param target the object to adapt.
+	 * @return the adapter for the <code>target</code>.
+	 * @generated
+	 */
+	@Override
+	public Adapter createAdapter(Notifier target) {
+		return modelSwitch.doSwitch((EObject)target);
+	}
+
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.entitymock.EntityMockModel <em>Entity Mock Model</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockModel
+	 * @generated
+	 */
+	public Adapter createEntityMockModelAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.entitymock.EntityMockPackage <em>Entity Mock Package</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockPackage
+	 * @generated
+	 */
+	public Adapter createEntityMockPackageAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.entitymock.RunningDataInterchanges <em>Running Data Interchanges</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.xtext.entitymock.RunningDataInterchanges
+	 * @generated
+	 */
+	public Adapter createRunningDataInterchangesAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.entitymock.RunningDataInterchange <em>Running Data Interchange</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.xtext.entitymock.RunningDataInterchange
+	 * @generated
+	 */
+	public Adapter createRunningDataInterchangeAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.entitymock.EntityMockLazyResolver <em>Entity Mock Lazy Resolver</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockLazyResolver
+	 * @generated
+	 */
+	public Adapter createEntityMockLazyResolverAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.entitymock.EntityMockResources <em>Entity Mock Resources</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockResources
+	 * @generated
+	 */
+	public Adapter createEntityMockResourcesAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.entitymock.EntityMockResource <em>Entity Mock Resource</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockResource
+	 * @generated
+	 */
+	public Adapter createEntityMockResourceAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.entitymock.EntityMockResourceAttribute <em>Entity Mock Resource Attribute</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockResourceAttribute
+	 * @generated
+	 */
+	public Adapter createEntityMockResourceAttributeAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.entitymock.EntityMockResourceDataRow <em>Entity Mock Resource Data Row</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockResourceDataRow
+	 * @generated
+	 */
+	public Adapter createEntityMockResourceDataRowAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.entitymock.EntityMockObjects <em>Entity Mock Objects</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockObjects
+	 * @generated
+	 */
+	public Adapter createEntityMockObjectsAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.entitymock.EntityMockObject <em>Entity Mock Object</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockObject
+	 * @generated
+	 */
+	public Adapter createEntityMockObjectAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.entitymock.EntityMockObjectEnum <em>Entity Mock Object Enum</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockObjectEnum
+	 * @generated
+	 */
+	public Adapter createEntityMockObjectEnumAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.entitymock.IEntityMockObjectAttribute <em>IEntity Mock Object Attribute</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.xtext.entitymock.IEntityMockObjectAttribute
+	 * @generated
+	 */
+	public Adapter createIEntityMockObjectAttributeAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.entitymock.EntityMockObjectPlainValue <em>Entity Mock Object Plain Value</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockObjectPlainValue
+	 * @generated
+	 */
+	public Adapter createEntityMockObjectPlainValueAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.entitymock.EntityMockObjectResourceValue <em>Entity Mock Object Resource Value</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockObjectResourceValue
+	 * @generated
+	 */
+	public Adapter createEntityMockObjectResourceValueAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.entitymock.EntityMockObjectArrayValue <em>Entity Mock Object Array Value</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockObjectArrayValue
+	 * @generated
+	 */
+	public Adapter createEntityMockObjectArrayValueAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.entitymock.EntityMockObjectItemValue <em>Entity Mock Object Item Value</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockObjectItemValue
+	 * @generated
+	 */
+	public Adapter createEntityMockObjectItemValueAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.entitymock.EntityMockObjectEmbed <em>Entity Mock Object Embed</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockObjectEmbed
+	 * @generated
+	 */
+	public Adapter createEntityMockObjectEmbedAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.entitymock.EntityMockObjectFunction <em>Entity Mock Object Function</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockObjectFunction
+	 * @generated
+	 */
+	public Adapter createEntityMockObjectFunctionAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.entitymock.EntityMockObjectFunctionParameter <em>Entity Mock Object Function Parameter</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockObjectFunctionParameter
+	 * @generated
+	 */
+	public Adapter createEntityMockObjectFunctionParameterAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.entitymock.EntityMockObjectFill <em>Entity Mock Object Fill</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockObjectFill
+	 * @generated
+	 */
+	public Adapter createEntityMockObjectFillAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerType <em>Property Filler Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerType
+	 * @generated
+	 */
+	public Adapter createPropertyFillerTypeAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerDateType <em>Property Filler Date Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerDateType
+	 * @generated
+	 */
+	public Adapter createPropertyFillerDateTypeAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerBoolean <em>Property Filler Boolean</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerBoolean
+	 * @generated
+	 */
+	public Adapter createPropertyFillerBooleanAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerDoubleType <em>Property Filler Double Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerDoubleType
+	 * @generated
+	 */
+	public Adapter createPropertyFillerDoubleTypeAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerIntegerType <em>Property Filler Integer Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerIntegerType
+	 * @generated
+	 */
+	public Adapter createPropertyFillerIntegerTypeAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerTextType <em>Property Filler Text Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerTextType
+	 * @generated
+	 */
+	public Adapter createPropertyFillerTextTypeAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerDateFuture <em>Property Filler Date Future</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerDateFuture
+	 * @generated
+	 */
+	public Adapter createPropertyFillerDateFutureAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerDatePast <em>Property Filler Date Past</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerDatePast
+	 * @generated
+	 */
+	public Adapter createPropertyFillerDatePastAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerDateRange <em>Property Filler Date Range</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerDateRange
+	 * @generated
+	 */
+	public Adapter createPropertyFillerDateRangeAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedDoubleRange <em>Property Filler Signed Double Range</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedDoubleRange
+	 * @generated
+	 */
+	public Adapter createPropertyFillerSignedDoubleRangeAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedDoubleRandom <em>Property Filler Signed Double Random</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedDoubleRandom
+	 * @generated
+	 */
+	public Adapter createPropertyFillerSignedDoubleRandomAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedIntegerRange <em>Property Filler Signed Integer Range</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedIntegerRange
+	 * @generated
+	 */
+	public Adapter createPropertyFillerSignedIntegerRangeAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedIntegerRandom <em>Property Filler Signed Integer Random</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedIntegerRandom
+	 * @generated
+	 */
+	public Adapter createPropertyFillerSignedIntegerRandomAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerTextRandom <em>Property Filler Text Random</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerTextRandom
+	 * @generated
+	 */
+	public Adapter createPropertyFillerTextRandomAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerTextParagraphs <em>Property Filler Text Paragraphs</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerTextParagraphs
+	 * @generated
+	 */
+	public Adapter createPropertyFillerTextParagraphsAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerTextSentences <em>Property Filler Text Sentences</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerTextSentences
+	 * @generated
+	 */
+	public Adapter createPropertyFillerTextSentencesAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerTextWords <em>Property Filler Text Words</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerTextWords
+	 * @generated
+	 */
+	public Adapter createPropertyFillerTextWordsAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedDoubleRange <em>Property Filler Unsigned Double Range</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedDoubleRange
+	 * @generated
+	 */
+	public Adapter createPropertyFillerUnsignedDoubleRangeAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedDoubleRandom <em>Property Filler Unsigned Double Random</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedDoubleRandom
+	 * @generated
+	 */
+	public Adapter createPropertyFillerUnsignedDoubleRandomAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedIntegerRange <em>Property Filler Unsigned Integer Range</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedIntegerRange
+	 * @generated
+	 */
+	public Adapter createPropertyFillerUnsignedIntegerRangeAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedIntegerRandom <em>Property Filler Unsigned Integer Random</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedIntegerRandom
+	 * @generated
+	 */
+	public Adapter createPropertyFillerUnsignedIntegerRandomAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.entitymock.EntityMockDataTypes <em>Entity Mock Data Types</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDataTypes
+	 * @generated
+	 */
+	public Adapter createEntityMockDataTypesAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.entitymock.EntityMockDataType <em>Entity Mock Data Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockDataType
+	 * @generated
+	 */
+	public Adapter createEntityMockDataTypeAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.entitymock.EntityMockEntities <em>Entity Mock Entities</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockEntities
+	 * @generated
+	 */
+	public Adapter createEntityMockEntitiesAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.entitymock.EntityMockEntity <em>Entity Mock Entity</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockEntity
+	 * @generated
+	 */
+	public Adapter createEntityMockEntityAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.entitymock.IIterate <em>IIterate</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.xtext.entitymock.IIterate
+	 * @generated
+	 */
+	public Adapter createIIterateAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.entitymock.IntegerIterate <em>Integer Iterate</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.xtext.entitymock.IntegerIterate
+	 * @generated
+	 */
+	public Adapter createIntegerIterateAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.entitymock.DateIterate <em>Date Iterate</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.xtext.entitymock.DateIterate
+	 * @generated
+	 */
+	public Adapter createDateIterateAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.entitymock.Date <em>Date</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.xtext.entitymock.Date
+	 * @generated
+	 */
+	public Adapter createDateAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.entitymock.EntityMockByResourceAttribute <em>Entity Mock By Resource Attribute</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockByResourceAttribute
+	 * @generated
+	 */
+	public Adapter createEntityMockByResourceAttributeAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.entitymock.EntityMockTemporary <em>Entity Mock Temporary</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockTemporary
+	 * @generated
+	 */
+	public Adapter createEntityMockTemporaryAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.entitymock.IEntityMockObjectUsable <em>IEntity Mock Object Usable</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.xtext.entitymock.IEntityMockObjectUsable
+	 * @generated
+	 */
+	public Adapter createIEntityMockObjectUsableAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.entitymock.IEntityMockEntityUsable <em>IEntity Mock Entity Usable</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.xtext.entitymock.IEntityMockEntityUsable
+	 * @generated
+	 */
+	public Adapter createIEntityMockEntityUsableAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.entitymock.IEntityMockAttribute <em>IEntity Mock Attribute</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.xtext.entitymock.IEntityMockAttribute
+	 * @generated
+	 */
+	public Adapter createIEntityMockAttributeAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.entitymock.EntityMockReferencedObjectAttribute <em>Entity Mock Referenced Object Attribute</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockReferencedObjectAttribute
+	 * @generated
+	 */
+	public Adapter createEntityMockReferencedObjectAttributeAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByObject <em>Entity Mock Attribute By Object</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByObject
+	 * @generated
+	 */
+	public Adapter createEntityMockAttributeByObjectAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.entitymock.EntityMockAttributeFiller <em>Entity Mock Attribute Filler</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockAttributeFiller
+	 * @generated
+	 */
+	public Adapter createEntityMockAttributeFillerAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByReference <em>Entity Mock Attribute By Reference</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByReference
+	 * @generated
+	 */
+	public Adapter createEntityMockAttributeByReferenceAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.entitymock.EntityMockEntityFunction <em>Entity Mock Entity Function</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockEntityFunction
+	 * @generated
+	 */
+	public Adapter createEntityMockEntityFunctionAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.xtext.entitymock.EntityMockEntityFunctionParameter <em>Entity Mock Entity Function Parameter</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.xtext.entitymock.EntityMockEntityFunctionParameter
+	 * @generated
+	 */
+	public Adapter createEntityMockEntityFunctionParameterAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.dsl.semantic.common.types.LLazyResolver <em>LLazy Resolver</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.dsl.semantic.common.types.LLazyResolver
+	 * @generated
+	 */
+	public Adapter createLLazyResolverAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.dsl.semantic.common.types.LPackage <em>LPackage</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.dsl.semantic.common.types.LPackage
+	 * @generated
+	 */
+	public Adapter createLPackageAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.dsl.semantic.common.types.LAnnotationTarget <em>LAnnotation Target</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.dsl.semantic.common.types.LAnnotationTarget
+	 * @generated
+	 */
+	public Adapter createLAnnotationTargetAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.dsl.semantic.common.types.LType <em>LType</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.dsl.semantic.common.types.LType
+	 * @generated
+	 */
+	public Adapter createLTypeAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.dsl.semantic.common.types.LScalarType <em>LScalar Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.dsl.semantic.common.types.LScalarType
+	 * @generated
+	 */
+	public Adapter createLScalarTypeAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.dsl.semantic.common.types.LEnum <em>LEnum</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.dsl.semantic.common.types.LEnum
+	 * @generated
+	 */
+	public Adapter createLEnumAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.dsl.semantic.common.types.LEnumLiteral <em>LEnum Literal</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.dsl.semantic.common.types.LEnumLiteral
+	 * @generated
+	 */
+	public Adapter createLEnumLiteralAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for the default case.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @generated
+	 */
+	public Adapter createEObjectAdapter() {
+		return null;
+	}
+
+} //EntityMockDSLAdapterFactory
diff --git a/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/util/EntityMockDSLSwitch.java b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/util/EntityMockDSLSwitch.java
new file mode 100644
index 0000000..f05066e
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/emf-gen/org/eclipse/osbp/xtext/entitymock/util/EntityMockDSLSwitch.java
@@ -0,0 +1,1605 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *  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 
+ * 
+ *  Based on ideas from Xtext, Xtend, Xcore
+ *   
+ *  Contributors:  
+ *  		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ *  
+ */
+package org.eclipse.osbp.xtext.entitymock.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.util.Switch;
+
+import org.eclipse.osbp.dsl.semantic.common.types.LAnnotationTarget;
+import org.eclipse.osbp.dsl.semantic.common.types.LEnum;
+import org.eclipse.osbp.dsl.semantic.common.types.LEnumLiteral;
+import org.eclipse.osbp.dsl.semantic.common.types.LLazyResolver;
+import org.eclipse.osbp.dsl.semantic.common.types.LPackage;
+import org.eclipse.osbp.dsl.semantic.common.types.LScalarType;
+import org.eclipse.osbp.dsl.semantic.common.types.LType;
+
+import org.eclipse.osbp.xtext.entitymock.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage
+ * @generated
+ */
+public class EntityMockDSLSwitch<T> extends Switch<T> {
+	/**
+	 * The cached model package
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static EntityMockDSLPackage modelPackage;
+
+	/**
+	 * Creates an instance of the switch.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EntityMockDSLSwitch() {
+		if (modelPackage == null) {
+			modelPackage = EntityMockDSLPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Checks whether this is a switch for the given package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @parameter ePackage the package in question.
+	 * @return whether this is a switch for the given package.
+	 * @generated
+	 */
+	@Override
+	protected boolean isSwitchFor(EPackage ePackage) {
+		return ePackage == modelPackage;
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	@Override
+	protected T doSwitch(int classifierID, EObject theEObject) {
+		switch (classifierID) {
+			case EntityMockDSLPackage.ENTITY_MOCK_MODEL: {
+				EntityMockModel entityMockModel = (EntityMockModel)theEObject;
+				T result = caseEntityMockModel(entityMockModel);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EntityMockDSLPackage.ENTITY_MOCK_PACKAGE: {
+				EntityMockPackage entityMockPackage = (EntityMockPackage)theEObject;
+				T result = caseEntityMockPackage(entityMockPackage);
+				if (result == null) result = caseLPackage(entityMockPackage);
+				if (result == null) result = caseLLazyResolver(entityMockPackage);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EntityMockDSLPackage.RUNNING_DATA_INTERCHANGES: {
+				RunningDataInterchanges runningDataInterchanges = (RunningDataInterchanges)theEObject;
+				T result = caseRunningDataInterchanges(runningDataInterchanges);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EntityMockDSLPackage.RUNNING_DATA_INTERCHANGE: {
+				RunningDataInterchange runningDataInterchange = (RunningDataInterchange)theEObject;
+				T result = caseRunningDataInterchange(runningDataInterchange);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EntityMockDSLPackage.ENTITY_MOCK_LAZY_RESOLVER: {
+				EntityMockLazyResolver entityMockLazyResolver = (EntityMockLazyResolver)theEObject;
+				T result = caseEntityMockLazyResolver(entityMockLazyResolver);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EntityMockDSLPackage.ENTITY_MOCK_RESOURCES: {
+				EntityMockResources entityMockResources = (EntityMockResources)theEObject;
+				T result = caseEntityMockResources(entityMockResources);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EntityMockDSLPackage.ENTITY_MOCK_RESOURCE: {
+				EntityMockResource entityMockResource = (EntityMockResource)theEObject;
+				T result = caseEntityMockResource(entityMockResource);
+				if (result == null) result = caseLEnum(entityMockResource);
+				if (result == null) result = caseLScalarType(entityMockResource);
+				if (result == null) result = caseLType(entityMockResource);
+				if (result == null) result = caseLAnnotationTarget(entityMockResource);
+				if (result == null) result = caseLLazyResolver(entityMockResource);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EntityMockDSLPackage.ENTITY_MOCK_RESOURCE_ATTRIBUTE: {
+				EntityMockResourceAttribute entityMockResourceAttribute = (EntityMockResourceAttribute)theEObject;
+				T result = caseEntityMockResourceAttribute(entityMockResourceAttribute);
+				if (result == null) result = caseLEnum(entityMockResourceAttribute);
+				if (result == null) result = caseLScalarType(entityMockResourceAttribute);
+				if (result == null) result = caseLType(entityMockResourceAttribute);
+				if (result == null) result = caseLAnnotationTarget(entityMockResourceAttribute);
+				if (result == null) result = caseLLazyResolver(entityMockResourceAttribute);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EntityMockDSLPackage.ENTITY_MOCK_RESOURCE_DATA_ROW: {
+				EntityMockResourceDataRow entityMockResourceDataRow = (EntityMockResourceDataRow)theEObject;
+				T result = caseEntityMockResourceDataRow(entityMockResourceDataRow);
+				if (result == null) result = caseLEnumLiteral(entityMockResourceDataRow);
+				if (result == null) result = caseLLazyResolver(entityMockResourceDataRow);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECTS: {
+				EntityMockObjects entityMockObjects = (EntityMockObjects)theEObject;
+				T result = caseEntityMockObjects(entityMockObjects);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT: {
+				EntityMockObject entityMockObject = (EntityMockObject)theEObject;
+				T result = caseEntityMockObject(entityMockObject);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_ENUM: {
+				EntityMockObjectEnum entityMockObjectEnum = (EntityMockObjectEnum)theEObject;
+				T result = caseEntityMockObjectEnum(entityMockObjectEnum);
+				if (result == null) result = caseIEntityMockObjectUsable(entityMockObjectEnum);
+				if (result == null) result = caseEntityMockLazyResolver(entityMockObjectEnum);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EntityMockDSLPackage.IENTITY_MOCK_OBJECT_ATTRIBUTE: {
+				IEntityMockObjectAttribute iEntityMockObjectAttribute = (IEntityMockObjectAttribute)theEObject;
+				T result = caseIEntityMockObjectAttribute(iEntityMockObjectAttribute);
+				if (result == null) result = caseEntityMockLazyResolver(iEntityMockObjectAttribute);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_PLAIN_VALUE: {
+				EntityMockObjectPlainValue entityMockObjectPlainValue = (EntityMockObjectPlainValue)theEObject;
+				T result = caseEntityMockObjectPlainValue(entityMockObjectPlainValue);
+				if (result == null) result = caseIEntityMockObjectAttribute(entityMockObjectPlainValue);
+				if (result == null) result = caseIEntityMockObjectUsable(entityMockObjectPlainValue);
+				if (result == null) result = caseEntityMockLazyResolver(entityMockObjectPlainValue);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_RESOURCE_VALUE: {
+				EntityMockObjectResourceValue entityMockObjectResourceValue = (EntityMockObjectResourceValue)theEObject;
+				T result = caseEntityMockObjectResourceValue(entityMockObjectResourceValue);
+				if (result == null) result = caseIEntityMockObjectAttribute(entityMockObjectResourceValue);
+				if (result == null) result = caseIEntityMockObjectUsable(entityMockObjectResourceValue);
+				if (result == null) result = caseEntityMockLazyResolver(entityMockObjectResourceValue);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_ARRAY_VALUE: {
+				EntityMockObjectArrayValue entityMockObjectArrayValue = (EntityMockObjectArrayValue)theEObject;
+				T result = caseEntityMockObjectArrayValue(entityMockObjectArrayValue);
+				if (result == null) result = caseIEntityMockObjectAttribute(entityMockObjectArrayValue);
+				if (result == null) result = caseIEntityMockObjectUsable(entityMockObjectArrayValue);
+				if (result == null) result = caseEntityMockLazyResolver(entityMockObjectArrayValue);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_ITEM_VALUE: {
+				EntityMockObjectItemValue entityMockObjectItemValue = (EntityMockObjectItemValue)theEObject;
+				T result = caseEntityMockObjectItemValue(entityMockObjectItemValue);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_EMBED: {
+				EntityMockObjectEmbed entityMockObjectEmbed = (EntityMockObjectEmbed)theEObject;
+				T result = caseEntityMockObjectEmbed(entityMockObjectEmbed);
+				if (result == null) result = caseIEntityMockObjectAttribute(entityMockObjectEmbed);
+				if (result == null) result = caseIEntityMockObjectUsable(entityMockObjectEmbed);
+				if (result == null) result = caseEntityMockLazyResolver(entityMockObjectEmbed);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_FUNCTION: {
+				EntityMockObjectFunction entityMockObjectFunction = (EntityMockObjectFunction)theEObject;
+				T result = caseEntityMockObjectFunction(entityMockObjectFunction);
+				if (result == null) result = caseIEntityMockObjectAttribute(entityMockObjectFunction);
+				if (result == null) result = caseIEntityMockObjectUsable(entityMockObjectFunction);
+				if (result == null) result = caseEntityMockLazyResolver(entityMockObjectFunction);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_FUNCTION_PARAMETER: {
+				EntityMockObjectFunctionParameter entityMockObjectFunctionParameter = (EntityMockObjectFunctionParameter)theEObject;
+				T result = caseEntityMockObjectFunctionParameter(entityMockObjectFunctionParameter);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_FILL: {
+				EntityMockObjectFill entityMockObjectFill = (EntityMockObjectFill)theEObject;
+				T result = caseEntityMockObjectFill(entityMockObjectFill);
+				if (result == null) result = caseIEntityMockObjectAttribute(entityMockObjectFill);
+				if (result == null) result = caseIEntityMockObjectUsable(entityMockObjectFill);
+				if (result == null) result = caseEntityMockLazyResolver(entityMockObjectFill);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EntityMockDSLPackage.PROPERTY_FILLER_TYPE: {
+				PropertyFillerType propertyFillerType = (PropertyFillerType)theEObject;
+				T result = casePropertyFillerType(propertyFillerType);
+				if (result == null) result = caseEntityMockLazyResolver(propertyFillerType);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EntityMockDSLPackage.PROPERTY_FILLER_DATE_TYPE: {
+				PropertyFillerDateType propertyFillerDateType = (PropertyFillerDateType)theEObject;
+				T result = casePropertyFillerDateType(propertyFillerDateType);
+				if (result == null) result = casePropertyFillerType(propertyFillerDateType);
+				if (result == null) result = caseEntityMockLazyResolver(propertyFillerDateType);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EntityMockDSLPackage.PROPERTY_FILLER_BOOLEAN: {
+				PropertyFillerBoolean propertyFillerBoolean = (PropertyFillerBoolean)theEObject;
+				T result = casePropertyFillerBoolean(propertyFillerBoolean);
+				if (result == null) result = casePropertyFillerType(propertyFillerBoolean);
+				if (result == null) result = caseEntityMockLazyResolver(propertyFillerBoolean);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EntityMockDSLPackage.PROPERTY_FILLER_DOUBLE_TYPE: {
+				PropertyFillerDoubleType propertyFillerDoubleType = (PropertyFillerDoubleType)theEObject;
+				T result = casePropertyFillerDoubleType(propertyFillerDoubleType);
+				if (result == null) result = casePropertyFillerType(propertyFillerDoubleType);
+				if (result == null) result = caseEntityMockLazyResolver(propertyFillerDoubleType);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EntityMockDSLPackage.PROPERTY_FILLER_INTEGER_TYPE: {
+				PropertyFillerIntegerType propertyFillerIntegerType = (PropertyFillerIntegerType)theEObject;
+				T result = casePropertyFillerIntegerType(propertyFillerIntegerType);
+				if (result == null) result = casePropertyFillerType(propertyFillerIntegerType);
+				if (result == null) result = caseEntityMockLazyResolver(propertyFillerIntegerType);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EntityMockDSLPackage.PROPERTY_FILLER_TEXT_TYPE: {
+				PropertyFillerTextType propertyFillerTextType = (PropertyFillerTextType)theEObject;
+				T result = casePropertyFillerTextType(propertyFillerTextType);
+				if (result == null) result = casePropertyFillerType(propertyFillerTextType);
+				if (result == null) result = caseEntityMockLazyResolver(propertyFillerTextType);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EntityMockDSLPackage.PROPERTY_FILLER_DATE_FUTURE: {
+				PropertyFillerDateFuture propertyFillerDateFuture = (PropertyFillerDateFuture)theEObject;
+				T result = casePropertyFillerDateFuture(propertyFillerDateFuture);
+				if (result == null) result = casePropertyFillerDateType(propertyFillerDateFuture);
+				if (result == null) result = casePropertyFillerType(propertyFillerDateFuture);
+				if (result == null) result = caseEntityMockLazyResolver(propertyFillerDateFuture);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EntityMockDSLPackage.PROPERTY_FILLER_DATE_PAST: {
+				PropertyFillerDatePast propertyFillerDatePast = (PropertyFillerDatePast)theEObject;
+				T result = casePropertyFillerDatePast(propertyFillerDatePast);
+				if (result == null) result = casePropertyFillerDateType(propertyFillerDatePast);
+				if (result == null) result = casePropertyFillerType(propertyFillerDatePast);
+				if (result == null) result = caseEntityMockLazyResolver(propertyFillerDatePast);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EntityMockDSLPackage.PROPERTY_FILLER_DATE_RANGE: {
+				PropertyFillerDateRange propertyFillerDateRange = (PropertyFillerDateRange)theEObject;
+				T result = casePropertyFillerDateRange(propertyFillerDateRange);
+				if (result == null) result = casePropertyFillerDateType(propertyFillerDateRange);
+				if (result == null) result = casePropertyFillerType(propertyFillerDateRange);
+				if (result == null) result = caseEntityMockLazyResolver(propertyFillerDateRange);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_DOUBLE_RANGE: {
+				PropertyFillerSignedDoubleRange propertyFillerSignedDoubleRange = (PropertyFillerSignedDoubleRange)theEObject;
+				T result = casePropertyFillerSignedDoubleRange(propertyFillerSignedDoubleRange);
+				if (result == null) result = casePropertyFillerDoubleType(propertyFillerSignedDoubleRange);
+				if (result == null) result = casePropertyFillerType(propertyFillerSignedDoubleRange);
+				if (result == null) result = caseEntityMockLazyResolver(propertyFillerSignedDoubleRange);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_DOUBLE_RANDOM: {
+				PropertyFillerSignedDoubleRandom propertyFillerSignedDoubleRandom = (PropertyFillerSignedDoubleRandom)theEObject;
+				T result = casePropertyFillerSignedDoubleRandom(propertyFillerSignedDoubleRandom);
+				if (result == null) result = casePropertyFillerDoubleType(propertyFillerSignedDoubleRandom);
+				if (result == null) result = casePropertyFillerType(propertyFillerSignedDoubleRandom);
+				if (result == null) result = caseEntityMockLazyResolver(propertyFillerSignedDoubleRandom);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_INTEGER_RANGE: {
+				PropertyFillerSignedIntegerRange propertyFillerSignedIntegerRange = (PropertyFillerSignedIntegerRange)theEObject;
+				T result = casePropertyFillerSignedIntegerRange(propertyFillerSignedIntegerRange);
+				if (result == null) result = casePropertyFillerIntegerType(propertyFillerSignedIntegerRange);
+				if (result == null) result = casePropertyFillerType(propertyFillerSignedIntegerRange);
+				if (result == null) result = caseEntityMockLazyResolver(propertyFillerSignedIntegerRange);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_INTEGER_RANDOM: {
+				PropertyFillerSignedIntegerRandom propertyFillerSignedIntegerRandom = (PropertyFillerSignedIntegerRandom)theEObject;
+				T result = casePropertyFillerSignedIntegerRandom(propertyFillerSignedIntegerRandom);
+				if (result == null) result = casePropertyFillerIntegerType(propertyFillerSignedIntegerRandom);
+				if (result == null) result = casePropertyFillerType(propertyFillerSignedIntegerRandom);
+				if (result == null) result = caseEntityMockLazyResolver(propertyFillerSignedIntegerRandom);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EntityMockDSLPackage.PROPERTY_FILLER_TEXT_RANDOM: {
+				PropertyFillerTextRandom propertyFillerTextRandom = (PropertyFillerTextRandom)theEObject;
+				T result = casePropertyFillerTextRandom(propertyFillerTextRandom);
+				if (result == null) result = casePropertyFillerTextType(propertyFillerTextRandom);
+				if (result == null) result = casePropertyFillerType(propertyFillerTextRandom);
+				if (result == null) result = caseEntityMockLazyResolver(propertyFillerTextRandom);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EntityMockDSLPackage.PROPERTY_FILLER_TEXT_PARAGRAPHS: {
+				PropertyFillerTextParagraphs propertyFillerTextParagraphs = (PropertyFillerTextParagraphs)theEObject;
+				T result = casePropertyFillerTextParagraphs(propertyFillerTextParagraphs);
+				if (result == null) result = casePropertyFillerTextType(propertyFillerTextParagraphs);
+				if (result == null) result = casePropertyFillerType(propertyFillerTextParagraphs);
+				if (result == null) result = caseEntityMockLazyResolver(propertyFillerTextParagraphs);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EntityMockDSLPackage.PROPERTY_FILLER_TEXT_SENTENCES: {
+				PropertyFillerTextSentences propertyFillerTextSentences = (PropertyFillerTextSentences)theEObject;
+				T result = casePropertyFillerTextSentences(propertyFillerTextSentences);
+				if (result == null) result = casePropertyFillerTextType(propertyFillerTextSentences);
+				if (result == null) result = casePropertyFillerType(propertyFillerTextSentences);
+				if (result == null) result = caseEntityMockLazyResolver(propertyFillerTextSentences);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EntityMockDSLPackage.PROPERTY_FILLER_TEXT_WORDS: {
+				PropertyFillerTextWords propertyFillerTextWords = (PropertyFillerTextWords)theEObject;
+				T result = casePropertyFillerTextWords(propertyFillerTextWords);
+				if (result == null) result = casePropertyFillerTextType(propertyFillerTextWords);
+				if (result == null) result = casePropertyFillerType(propertyFillerTextWords);
+				if (result == null) result = caseEntityMockLazyResolver(propertyFillerTextWords);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_DOUBLE_RANGE: {
+				PropertyFillerUnsignedDoubleRange propertyFillerUnsignedDoubleRange = (PropertyFillerUnsignedDoubleRange)theEObject;
+				T result = casePropertyFillerUnsignedDoubleRange(propertyFillerUnsignedDoubleRange);
+				if (result == null) result = casePropertyFillerDoubleType(propertyFillerUnsignedDoubleRange);
+				if (result == null) result = casePropertyFillerType(propertyFillerUnsignedDoubleRange);
+				if (result == null) result = caseEntityMockLazyResolver(propertyFillerUnsignedDoubleRange);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_DOUBLE_RANDOM: {
+				PropertyFillerUnsignedDoubleRandom propertyFillerUnsignedDoubleRandom = (PropertyFillerUnsignedDoubleRandom)theEObject;
+				T result = casePropertyFillerUnsignedDoubleRandom(propertyFillerUnsignedDoubleRandom);
+				if (result == null) result = casePropertyFillerDoubleType(propertyFillerUnsignedDoubleRandom);
+				if (result == null) result = casePropertyFillerType(propertyFillerUnsignedDoubleRandom);
+				if (result == null) result = caseEntityMockLazyResolver(propertyFillerUnsignedDoubleRandom);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_INTEGER_RANGE: {
+				PropertyFillerUnsignedIntegerRange propertyFillerUnsignedIntegerRange = (PropertyFillerUnsignedIntegerRange)theEObject;
+				T result = casePropertyFillerUnsignedIntegerRange(propertyFillerUnsignedIntegerRange);
+				if (result == null) result = casePropertyFillerIntegerType(propertyFillerUnsignedIntegerRange);
+				if (result == null) result = casePropertyFillerType(propertyFillerUnsignedIntegerRange);
+				if (result == null) result = caseEntityMockLazyResolver(propertyFillerUnsignedIntegerRange);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_INTEGER_RANDOM: {
+				PropertyFillerUnsignedIntegerRandom propertyFillerUnsignedIntegerRandom = (PropertyFillerUnsignedIntegerRandom)theEObject;
+				T result = casePropertyFillerUnsignedIntegerRandom(propertyFillerUnsignedIntegerRandom);
+				if (result == null) result = casePropertyFillerIntegerType(propertyFillerUnsignedIntegerRandom);
+				if (result == null) result = casePropertyFillerType(propertyFillerUnsignedIntegerRandom);
+				if (result == null) result = caseEntityMockLazyResolver(propertyFillerUnsignedIntegerRandom);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EntityMockDSLPackage.ENTITY_MOCK_DATA_TYPES: {
+				EntityMockDataTypes entityMockDataTypes = (EntityMockDataTypes)theEObject;
+				T result = caseEntityMockDataTypes(entityMockDataTypes);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EntityMockDSLPackage.ENTITY_MOCK_DATA_TYPE: {
+				EntityMockDataType entityMockDataType = (EntityMockDataType)theEObject;
+				T result = caseEntityMockDataType(entityMockDataType);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITIES: {
+				EntityMockEntities entityMockEntities = (EntityMockEntities)theEObject;
+				T result = caseEntityMockEntities(entityMockEntities);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY: {
+				EntityMockEntity entityMockEntity = (EntityMockEntity)theEObject;
+				T result = caseEntityMockEntity(entityMockEntity);
+				if (result == null) result = caseEntityMockLazyResolver(entityMockEntity);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EntityMockDSLPackage.IITERATE: {
+				IIterate iIterate = (IIterate)theEObject;
+				T result = caseIIterate(iIterate);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EntityMockDSLPackage.INTEGER_ITERATE: {
+				IntegerIterate integerIterate = (IntegerIterate)theEObject;
+				T result = caseIntegerIterate(integerIterate);
+				if (result == null) result = caseIIterate(integerIterate);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EntityMockDSLPackage.DATE_ITERATE: {
+				DateIterate dateIterate = (DateIterate)theEObject;
+				T result = caseDateIterate(dateIterate);
+				if (result == null) result = caseIIterate(dateIterate);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EntityMockDSLPackage.DATE: {
+				Date date = (Date)theEObject;
+				T result = caseDate(date);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EntityMockDSLPackage.ENTITY_MOCK_BY_RESOURCE_ATTRIBUTE: {
+				EntityMockByResourceAttribute entityMockByResourceAttribute = (EntityMockByResourceAttribute)theEObject;
+				T result = caseEntityMockByResourceAttribute(entityMockByResourceAttribute);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EntityMockDSLPackage.ENTITY_MOCK_TEMPORARY: {
+				EntityMockTemporary entityMockTemporary = (EntityMockTemporary)theEObject;
+				T result = caseEntityMockTemporary(entityMockTemporary);
+				if (result == null) result = caseEntityMockLazyResolver(entityMockTemporary);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EntityMockDSLPackage.IENTITY_MOCK_OBJECT_USABLE: {
+				IEntityMockObjectUsable iEntityMockObjectUsable = (IEntityMockObjectUsable)theEObject;
+				T result = caseIEntityMockObjectUsable(iEntityMockObjectUsable);
+				if (result == null) result = caseEntityMockLazyResolver(iEntityMockObjectUsable);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EntityMockDSLPackage.IENTITY_MOCK_ENTITY_USABLE: {
+				IEntityMockEntityUsable iEntityMockEntityUsable = (IEntityMockEntityUsable)theEObject;
+				T result = caseIEntityMockEntityUsable(iEntityMockEntityUsable);
+				if (result == null) result = caseEntityMockLazyResolver(iEntityMockEntityUsable);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EntityMockDSLPackage.IENTITY_MOCK_ATTRIBUTE: {
+				IEntityMockAttribute iEntityMockAttribute = (IEntityMockAttribute)theEObject;
+				T result = caseIEntityMockAttribute(iEntityMockAttribute);
+				if (result == null) result = caseIEntityMockEntityUsable(iEntityMockAttribute);
+				if (result == null) result = caseEntityMockLazyResolver(iEntityMockAttribute);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EntityMockDSLPackage.ENTITY_MOCK_REFERENCED_OBJECT_ATTRIBUTE: {
+				EntityMockReferencedObjectAttribute entityMockReferencedObjectAttribute = (EntityMockReferencedObjectAttribute)theEObject;
+				T result = caseEntityMockReferencedObjectAttribute(entityMockReferencedObjectAttribute);
+				if (result == null) result = caseEntityMockLazyResolver(entityMockReferencedObjectAttribute);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EntityMockDSLPackage.ENTITY_MOCK_ATTRIBUTE_BY_OBJECT: {
+				EntityMockAttributeByObject entityMockAttributeByObject = (EntityMockAttributeByObject)theEObject;
+				T result = caseEntityMockAttributeByObject(entityMockAttributeByObject);
+				if (result == null) result = caseIEntityMockAttribute(entityMockAttributeByObject);
+				if (result == null) result = caseIEntityMockEntityUsable(entityMockAttributeByObject);
+				if (result == null) result = caseEntityMockLazyResolver(entityMockAttributeByObject);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EntityMockDSLPackage.ENTITY_MOCK_ATTRIBUTE_FILLER: {
+				EntityMockAttributeFiller entityMockAttributeFiller = (EntityMockAttributeFiller)theEObject;
+				T result = caseEntityMockAttributeFiller(entityMockAttributeFiller);
+				if (result == null) result = caseIEntityMockAttribute(entityMockAttributeFiller);
+				if (result == null) result = caseIEntityMockEntityUsable(entityMockAttributeFiller);
+				if (result == null) result = caseEntityMockLazyResolver(entityMockAttributeFiller);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EntityMockDSLPackage.ENTITY_MOCK_ATTRIBUTE_BY_REFERENCE: {
+				EntityMockAttributeByReference entityMockAttributeByReference = (EntityMockAttributeByReference)theEObject;
+				T result = caseEntityMockAttributeByReference(entityMockAttributeByReference);
+				if (result == null) result = caseIEntityMockAttribute(entityMockAttributeByReference);
+				if (result == null) result = caseIEntityMockEntityUsable(entityMockAttributeByReference);
+				if (result == null) result = caseEntityMockLazyResolver(entityMockAttributeByReference);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY_FUNCTION: {
+				EntityMockEntityFunction entityMockEntityFunction = (EntityMockEntityFunction)theEObject;
+				T result = caseEntityMockEntityFunction(entityMockEntityFunction);
+				if (result == null) result = caseIEntityMockEntityUsable(entityMockEntityFunction);
+				if (result == null) result = caseEntityMockLazyResolver(entityMockEntityFunction);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY_FUNCTION_PARAMETER: {
+				EntityMockEntityFunctionParameter entityMockEntityFunctionParameter = (EntityMockEntityFunctionParameter)theEObject;
+				T result = caseEntityMockEntityFunctionParameter(entityMockEntityFunctionParameter);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			default: return defaultCase(theEObject);
+		}
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Entity Mock Model</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Entity Mock Model</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseEntityMockModel(EntityMockModel object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Entity Mock Package</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Entity Mock Package</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseEntityMockPackage(EntityMockPackage object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Running Data Interchanges</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Running Data Interchanges</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseRunningDataInterchanges(RunningDataInterchanges object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Running Data Interchange</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Running Data Interchange</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseRunningDataInterchange(RunningDataInterchange object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Entity Mock Lazy Resolver</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Entity Mock Lazy Resolver</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseEntityMockLazyResolver(EntityMockLazyResolver object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Entity Mock Resources</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Entity Mock Resources</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseEntityMockResources(EntityMockResources object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Entity Mock Resource</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Entity Mock Resource</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseEntityMockResource(EntityMockResource object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Entity Mock Resource Attribute</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Entity Mock Resource Attribute</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseEntityMockResourceAttribute(EntityMockResourceAttribute object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Entity Mock Resource Data Row</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Entity Mock Resource Data Row</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseEntityMockResourceDataRow(EntityMockResourceDataRow object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Entity Mock Objects</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Entity Mock Objects</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseEntityMockObjects(EntityMockObjects object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Entity Mock Object</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Entity Mock Object</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseEntityMockObject(EntityMockObject object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Entity Mock Object Enum</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Entity Mock Object Enum</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseEntityMockObjectEnum(EntityMockObjectEnum object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>IEntity Mock Object Attribute</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>IEntity Mock Object Attribute</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseIEntityMockObjectAttribute(IEntityMockObjectAttribute object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Entity Mock Object Plain Value</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Entity Mock Object Plain Value</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseEntityMockObjectPlainValue(EntityMockObjectPlainValue object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Entity Mock Object Resource Value</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Entity Mock Object Resource Value</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseEntityMockObjectResourceValue(EntityMockObjectResourceValue object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Entity Mock Object Array Value</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Entity Mock Object Array Value</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseEntityMockObjectArrayValue(EntityMockObjectArrayValue object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Entity Mock Object Item Value</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Entity Mock Object Item Value</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseEntityMockObjectItemValue(EntityMockObjectItemValue object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Entity Mock Object Embed</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Entity Mock Object Embed</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseEntityMockObjectEmbed(EntityMockObjectEmbed object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Entity Mock Object Function</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Entity Mock Object Function</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseEntityMockObjectFunction(EntityMockObjectFunction object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Entity Mock Object Function Parameter</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Entity Mock Object Function Parameter</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseEntityMockObjectFunctionParameter(EntityMockObjectFunctionParameter object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Entity Mock Object Fill</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Entity Mock Object Fill</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseEntityMockObjectFill(EntityMockObjectFill object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Property Filler Type</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Property Filler Type</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T casePropertyFillerType(PropertyFillerType object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Property Filler Date Type</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Property Filler Date Type</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T casePropertyFillerDateType(PropertyFillerDateType object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Property Filler Boolean</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Property Filler Boolean</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T casePropertyFillerBoolean(PropertyFillerBoolean object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Property Filler Double Type</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Property Filler Double Type</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T casePropertyFillerDoubleType(PropertyFillerDoubleType object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Property Filler Integer Type</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Property Filler Integer Type</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T casePropertyFillerIntegerType(PropertyFillerIntegerType object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Property Filler Text Type</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Property Filler Text Type</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T casePropertyFillerTextType(PropertyFillerTextType object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Property Filler Date Future</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Property Filler Date Future</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T casePropertyFillerDateFuture(PropertyFillerDateFuture object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Property Filler Date Past</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Property Filler Date Past</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T casePropertyFillerDatePast(PropertyFillerDatePast object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Property Filler Date Range</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Property Filler Date Range</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T casePropertyFillerDateRange(PropertyFillerDateRange object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Property Filler Signed Double Range</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Property Filler Signed Double Range</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T casePropertyFillerSignedDoubleRange(PropertyFillerSignedDoubleRange object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Property Filler Signed Double Random</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Property Filler Signed Double Random</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T casePropertyFillerSignedDoubleRandom(PropertyFillerSignedDoubleRandom object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Property Filler Signed Integer Range</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Property Filler Signed Integer Range</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T casePropertyFillerSignedIntegerRange(PropertyFillerSignedIntegerRange object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Property Filler Signed Integer Random</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Property Filler Signed Integer Random</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T casePropertyFillerSignedIntegerRandom(PropertyFillerSignedIntegerRandom object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Property Filler Text Random</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Property Filler Text Random</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T casePropertyFillerTextRandom(PropertyFillerTextRandom object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Property Filler Text Paragraphs</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Property Filler Text Paragraphs</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T casePropertyFillerTextParagraphs(PropertyFillerTextParagraphs object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Property Filler Text Sentences</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Property Filler Text Sentences</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T casePropertyFillerTextSentences(PropertyFillerTextSentences object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Property Filler Text Words</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Property Filler Text Words</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T casePropertyFillerTextWords(PropertyFillerTextWords object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Property Filler Unsigned Double Range</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Property Filler Unsigned Double Range</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T casePropertyFillerUnsignedDoubleRange(PropertyFillerUnsignedDoubleRange object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Property Filler Unsigned Double Random</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Property Filler Unsigned Double Random</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T casePropertyFillerUnsignedDoubleRandom(PropertyFillerUnsignedDoubleRandom object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Property Filler Unsigned Integer Range</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Property Filler Unsigned Integer Range</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T casePropertyFillerUnsignedIntegerRange(PropertyFillerUnsignedIntegerRange object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Property Filler Unsigned Integer Random</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Property Filler Unsigned Integer Random</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T casePropertyFillerUnsignedIntegerRandom(PropertyFillerUnsignedIntegerRandom object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Entity Mock Data Types</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Entity Mock Data Types</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseEntityMockDataTypes(EntityMockDataTypes object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Entity Mock Data Type</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Entity Mock Data Type</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseEntityMockDataType(EntityMockDataType object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Entity Mock Entities</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Entity Mock Entities</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseEntityMockEntities(EntityMockEntities object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Entity Mock Entity</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Entity Mock Entity</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseEntityMockEntity(EntityMockEntity object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>IIterate</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>IIterate</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseIIterate(IIterate object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Integer Iterate</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Integer Iterate</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseIntegerIterate(IntegerIterate object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Date Iterate</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Date Iterate</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseDateIterate(DateIterate object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Date</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Date</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseDate(Date object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Entity Mock By Resource Attribute</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Entity Mock By Resource Attribute</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseEntityMockByResourceAttribute(EntityMockByResourceAttribute object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Entity Mock Temporary</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Entity Mock Temporary</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseEntityMockTemporary(EntityMockTemporary object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>IEntity Mock Object Usable</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>IEntity Mock Object Usable</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseIEntityMockObjectUsable(IEntityMockObjectUsable object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>IEntity Mock Entity Usable</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>IEntity Mock Entity Usable</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseIEntityMockEntityUsable(IEntityMockEntityUsable object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>IEntity Mock Attribute</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>IEntity Mock Attribute</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseIEntityMockAttribute(IEntityMockAttribute object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Entity Mock Referenced Object Attribute</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Entity Mock Referenced Object Attribute</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseEntityMockReferencedObjectAttribute(EntityMockReferencedObjectAttribute object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Entity Mock Attribute By Object</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Entity Mock Attribute By Object</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseEntityMockAttributeByObject(EntityMockAttributeByObject object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Entity Mock Attribute Filler</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Entity Mock Attribute Filler</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseEntityMockAttributeFiller(EntityMockAttributeFiller object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Entity Mock Attribute By Reference</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Entity Mock Attribute By Reference</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseEntityMockAttributeByReference(EntityMockAttributeByReference object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Entity Mock Entity Function</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Entity Mock Entity Function</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseEntityMockEntityFunction(EntityMockEntityFunction object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Entity Mock Entity Function Parameter</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Entity Mock Entity Function Parameter</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseEntityMockEntityFunctionParameter(EntityMockEntityFunctionParameter object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>LLazy Resolver</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>LLazy Resolver</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseLLazyResolver(LLazyResolver object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>LPackage</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>LPackage</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseLPackage(LPackage object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>LAnnotation Target</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>LAnnotation Target</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseLAnnotationTarget(LAnnotationTarget object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>LType</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>LType</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseLType(LType object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>LScalar Type</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>LScalar Type</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseLScalarType(LScalarType object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>LEnum</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>LEnum</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseLEnum(LEnum object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>LEnum Literal</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>LEnum Literal</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseLEnumLiteral(LEnumLiteral object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch, but this is the last case anyway.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+	 * @generated
+	 */
+	@Override
+	public T defaultCase(EObject object) {
+		return null;
+	}
+
+} //EntityMockDSLSwitch
diff --git a/org.eclipse.osbp.xtext.entitymock/epl-v10.html b/org.eclipse.osbp.xtext.entitymock/epl-v10.html
new file mode 100644
index 0000000..b398acc
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/epl-v10.html
@@ -0,0 +1,259 @@
+<!--?xml version="1.0" encoding="ISO-8859-1" ?-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Eclipse Public License - Version 1.0</title>
+<style type="text/css">
+  body {
+    size: 8.5in 11.0in;
+    margin: 0.25in 0.5in 0.25in 0.5in;
+    tab-interval: 0.5in;
+    }
+  p {  	
+    margin-left: auto;
+    margin-top:  0.5em;
+    margin-bottom: 0.5em;
+    }
+  p.list {
+  	margin-left: 0.5in;
+    margin-top:  0.05em;
+    margin-bottom: 0.05em;
+    }
+  </style>
+
+</head>
+
+<body lang="EN-US">
+
+<h2>Eclipse Public License - v 1.0</h2>
+
+<p>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
+PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR
+DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS
+AGREEMENT.</p>
+
+<p><b>1. DEFINITIONS</b></p>
+
+<p>"Contribution" means:</p>
+
+<p class="list">a) in the case of the initial Contributor, the initial
+code and documentation distributed under this Agreement, and</p>
+<p class="list">b) in the case of each subsequent Contributor:</p>
+<p class="list">i) changes to the Program, and</p>
+<p class="list">ii) additions to the Program;</p>
+<p class="list">where such changes and/or additions to the Program
+originate from and are distributed by that particular Contributor. A
+Contribution 'originates' from a Contributor if it was added to the
+Program by such Contributor itself or anyone acting on such
+Contributor's behalf. Contributions do not include additions to the
+Program which: (i) are separate modules of software distributed in
+conjunction with the Program under their own license agreement, and (ii)
+are not derivative works of the Program.</p>
+
+<p>"Contributor" means any person or entity that distributes
+the Program.</p>
+
+<p>"Licensed Patents" mean patent claims licensable by a
+Contributor which are necessarily infringed by the use or sale of its
+Contribution alone or when combined with the Program.</p>
+
+<p>"Program" means the Contributions distributed in accordance
+with this Agreement.</p>
+
+<p>"Recipient" means anyone who receives the Program under
+this Agreement, including all Contributors.</p>
+
+<p><b>2. GRANT OF RIGHTS</b></p>
+
+<p class="list">a) Subject to the terms of this Agreement, each
+Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free copyright license to reproduce, prepare derivative works
+of, publicly display, publicly perform, distribute and sublicense the
+Contribution of such Contributor, if any, and such derivative works, in
+source code and object code form.</p>
+
+<p class="list">b) Subject to the terms of this Agreement, each
+Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free patent license under Licensed Patents to make, use, sell,
+offer to sell, import and otherwise transfer the Contribution of such
+Contributor, if any, in source code and object code form. This patent
+license shall apply to the combination of the Contribution and the
+Program if, at the time the Contribution is added by the Contributor,
+such addition of the Contribution causes such combination to be covered
+by the Licensed Patents. The patent license shall not apply to any other
+combinations which include the Contribution. No hardware per se is
+licensed hereunder.</p>
+
+<p class="list">c) Recipient understands that although each Contributor
+grants the licenses to its Contributions set forth herein, no assurances
+are provided by any Contributor that the Program does not infringe the
+patent or other intellectual property rights of any other entity. Each
+Contributor disclaims any liability to Recipient for claims brought by
+any other entity based on infringement of intellectual property rights
+or otherwise. As a condition to exercising the rights and licenses
+granted hereunder, each Recipient hereby assumes sole responsibility to
+secure any other intellectual property rights needed, if any. For
+example, if a third party patent license is required to allow Recipient
+to distribute the Program, it is Recipient's responsibility to acquire
+that license before distributing the Program.</p>
+
+<p class="list">d) Each Contributor represents that to its knowledge it
+has sufficient copyright rights in its Contribution, if any, to grant
+the copyright license set forth in this Agreement.</p>
+
+<p><b>3. REQUIREMENTS</b></p>
+
+<p>A Contributor may choose to distribute the Program in object code
+form under its own license agreement, provided that:</p>
+
+<p class="list">a) it complies with the terms and conditions of this
+Agreement; and</p>
+
+<p class="list">b) its license agreement:</p>
+
+<p class="list">i) effectively disclaims on behalf of all Contributors
+all warranties and conditions, express and implied, including warranties
+or conditions of title and non-infringement, and implied warranties or
+conditions of merchantability and fitness for a particular purpose;</p>
+
+<p class="list">ii) effectively excludes on behalf of all Contributors
+all liability for damages, including direct, indirect, special,
+incidental and consequential damages, such as lost profits;</p>
+
+<p class="list">iii) states that any provisions which differ from this
+Agreement are offered by that Contributor alone and not by any other
+party; and</p>
+
+<p class="list">iv) states that source code for the Program is available
+from such Contributor, and informs licensees how to obtain it in a
+reasonable manner on or through a medium customarily used for software
+exchange.</p>
+
+<p>When the Program is made available in source code form:</p>
+
+<p class="list">a) it must be made available under this Agreement; and</p>
+
+<p class="list">b) a copy of this Agreement must be included with each
+copy of the Program.</p>
+
+<p>Contributors may not remove or alter any copyright notices contained
+within the Program.</p>
+
+<p>Each Contributor must identify itself as the originator of its
+Contribution, if any, in a manner that reasonably allows subsequent
+Recipients to identify the originator of the Contribution.</p>
+
+<p><b>4. COMMERCIAL DISTRIBUTION</b></p>
+
+<p>Commercial distributors of software may accept certain
+responsibilities with respect to end users, business partners and the
+like. While this license is intended to facilitate the commercial use of
+the Program, the Contributor who includes the Program in a commercial
+product offering should do so in a manner which does not create
+potential liability for other Contributors. Therefore, if a Contributor
+includes the Program in a commercial product offering, such Contributor
+("Commercial Contributor") hereby agrees to defend and
+indemnify every other Contributor ("Indemnified Contributor")
+against any losses, damages and costs (collectively "Losses")
+arising from claims, lawsuits and other legal actions brought by a third
+party against the Indemnified Contributor to the extent caused by the
+acts or omissions of such Commercial Contributor in connection with its
+distribution of the Program in a commercial product offering. The
+obligations in this section do not apply to any claims or Losses
+relating to any actual or alleged intellectual property infringement. In
+order to qualify, an Indemnified Contributor must: a) promptly notify
+the Commercial Contributor in writing of such claim, and b) allow the
+Commercial Contributor to control, and cooperate with the Commercial
+Contributor in, the defense and any related settlement negotiations. The
+Indemnified Contributor may participate in any such claim at its own
+expense.</p>
+
+<p>For example, a Contributor might include the Program in a commercial
+product offering, Product X. That Contributor is then a Commercial
+Contributor. If that Commercial Contributor then makes performance
+claims, or offers warranties related to Product X, those performance
+claims and warranties are such Commercial Contributor's responsibility
+alone. Under this section, the Commercial Contributor would have to
+defend claims against the other Contributors related to those
+performance claims and warranties, and if a court requires any other
+Contributor to pay any damages as a result, the Commercial Contributor
+must pay those damages.</p>
+
+<p><b>5. NO WARRANTY</b></p>
+
+<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS
+PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
+OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION,
+ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY
+OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
+responsible for determining the appropriateness of using and
+distributing the Program and assumes all risks associated with its
+exercise of rights under this Agreement , including but not limited to
+the risks and costs of program errors, compliance with applicable laws,
+damage to or loss of data, programs or equipment, and unavailability or
+interruption of operations.</p>
+
+<p><b>6. DISCLAIMER OF LIABILITY</b></p>
+
+<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT
+NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING
+WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR
+DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
+HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</p>
+
+<p><b>7. GENERAL</b></p>
+
+<p>If any provision of this Agreement is invalid or unenforceable under
+applicable law, it shall not affect the validity or enforceability of
+the remainder of the terms of this Agreement, and without further action
+by the parties hereto, such provision shall be reformed to the minimum
+extent necessary to make such provision valid and enforceable.</p>
+
+<p>If Recipient institutes patent litigation against any entity
+(including a cross-claim or counterclaim in a lawsuit) alleging that the
+Program itself (excluding combinations of the Program with other
+software or hardware) infringes such Recipient's patent(s), then such
+Recipient's rights granted under Section 2(b) shall terminate as of the
+date such litigation is filed.</p>
+
+<p>All Recipient's rights under this Agreement shall terminate if it
+fails to comply with any of the material terms or conditions of this
+Agreement and does not cure such failure in a reasonable period of time
+after becoming aware of such noncompliance. If all Recipient's rights
+under this Agreement terminate, Recipient agrees to cease use and
+distribution of the Program as soon as reasonably practicable. However,
+Recipient's obligations under this Agreement and any licenses granted by
+Recipient relating to the Program shall continue and survive.</p>
+
+<p>Everyone is permitted to copy and distribute copies of this
+Agreement, but in order to avoid inconsistency the Agreement is
+copyrighted and may only be modified in the following manner. The
+Agreement Steward reserves the right to publish new versions (including
+revisions) of this Agreement from time to time. No one other than the
+Agreement Steward has the right to modify this Agreement. The Eclipse
+Foundation is the initial Agreement Steward. The Eclipse Foundation may
+assign the responsibility to serve as the Agreement Steward to a
+suitable separate entity. Each new version of the Agreement will be
+given a distinguishing version number. The Program (including
+Contributions) may always be distributed subject to the version of the
+Agreement under which it was received. In addition, after a new version
+of the Agreement is published, Contributor may elect to distribute the
+Program (including its Contributions) under the new version. Except as
+expressly stated in Sections 2(a) and 2(b) above, Recipient receives no
+rights or licenses to the intellectual property of any Contributor under
+this Agreement, whether expressly, by implication, estoppel or
+otherwise. All rights in the Program not expressly granted under this
+Agreement are reserved.</p>
+
+<p>This Agreement is governed by the laws of the State of New York and
+the intellectual property laws of the United States of America. No party
+to this Agreement will bring a legal action under this Agreement more
+than one year after the cause of action arose. Each party waives its
+rights to a jury trial in any resulting litigation.</p>
+
+
+
+</body></html>
\ No newline at end of file
diff --git a/org.eclipse.osbp.xtext.entitymock/license.html b/org.eclipse.osbp.xtext.entitymock/license.html
new file mode 100644
index 0000000..6e579a5
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/license.html
@@ -0,0 +1,164 @@
+<!--?xml version="1.0" encoding="ISO-8859-1" ?-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Eclipse Foundation Software User Agreement</title>
+</head>
+
+<body lang="EN-US">
+<h2>Eclipse Foundation Software User Agreement</h2>
+<p>February 1, 2011</p>
+
+<h3>Usage Of Content</h3>
+
+<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
+   (COLLECTIVELY "CONTENT").  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
+   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
+   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
+   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
+   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
+
+<h3>Applicable Licenses</h3>
+
+<p>Unless otherwise indicated, all Content made available by the Eclipse
+ Foundation is provided to you under the terms and conditions of the 
+Eclipse Public License Version 1.0
+   ("EPL").  A copy of the EPL is provided with this Content and is also
+ available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+   For purposes of the EPL, "Program" will mean the Content.</p>
+
+<p>Content includes, but is not limited to, source code, object code, 
+documentation and other files maintained in the Eclipse Foundation 
+source code
+   repository ("Repository") in software modules ("Modules") and made 
+available as downloadable archives ("Downloads").</p>
+
+<ul>
+       <li>Content may be structured and packaged into modules to 
+facilitate delivering, extending, and upgrading the Content.  Typical 
+modules may include plug-ins ("Plug-ins"), plug-in fragments 
+("Fragments"), and features ("Features").</li>
+       <li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&#8482; ARchive) in a directory named "plugins".</li>
+       <li>A Feature is a bundle of one or more Plug-ins and/or 
+Fragments and associated material.  Each Feature may be packaged as a 
+sub-directory in a directory named "features".  Within a Feature, files 
+named "feature.xml" may contain a list of the names and version numbers 
+of the Plug-ins
+      and/or Fragments associated with that Feature.</li>
+       <li>Features may also include other Features ("Included 
+Features"). Within a Feature, files named "feature.xml" may contain a 
+list of the names and version numbers of Included Features.</li>
+</ul>
+
+<p>The terms and conditions governing Plug-ins and Fragments should be 
+contained in files named "about.html" ("Abouts"). The terms and 
+conditions governing Features and
+Included Features should be contained in files named "license.html" 
+("Feature Licenses").  Abouts and Feature Licenses may be located in any
+ directory of a Download or Module
+including, but not limited to the following locations:</p>
+
+<ul>
+       <li>The top-level (root) directory</li>
+       <li>Plug-in and Fragment directories</li>
+       <li>Inside Plug-ins and Fragments packaged as JARs</li>
+       <li>Sub-directories of the directory named "src" of certain Plug-ins</li>
+       <li>Feature directories</li>
+</ul>
+
+<p>Note: if a Feature made available by the Eclipse Foundation is 
+installed using the Provisioning Technology (as defined below), you must
+ agree to a license ("Feature Update License") during the
+installation process.  If the Feature contains Included Features, the 
+Feature Update License should either provide you with the terms and 
+conditions governing the Included Features or
+inform you where you can locate them.  Feature Update Licenses may be 
+found in the "license" property of files named "feature.properties" 
+found within a Feature.
+Such Abouts, Feature Licenses, and Feature Update Licenses contain the 
+terms and conditions (or references to such terms and conditions) that 
+govern your use of the associated Content in
+that directory.</p>
+
+<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER 
+TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.
+  SOME OF THESE
+OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
+
+<ul>
+       <li>Eclipse Distribution License Version 1.0 (available at <a href="http://www.eclipse.org/licenses/edl-v10.html">http://www.eclipse.org/licenses/edl-v1.0.html</a>)</li>
+       <li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
+       <li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
+       <li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
+       <li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
+       <li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
+</ul>
+
+<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND 
+CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, 
+or Feature Update License is provided, please
+contact the Eclipse Foundation to determine what terms and conditions 
+govern that particular Content.</p>
+
+
+<h3>Use of Provisioning Technology</h3>
+
+<p>The Eclipse Foundation makes available provisioning software, 
+examples of which include, but are not limited to, p2 and the Eclipse
+   Update Manager ("Provisioning Technology") for the purpose of 
+allowing users to install software, documentation, information and/or
+   other materials (collectively "Installable Software"). This 
+capability is provided with the intent of allowing such users to
+   install, extend and update Eclipse-based products. Information about 
+packaging Installable Software is available at <a href="http://eclipse.org/equinox/p2/repository_packaging.html">http://eclipse.org/equinox/p2/repository_packaging.html</a>
+   ("Specification").</p>
+
+<p>You may use Provisioning Technology to allow other parties to install
+ Installable Software. You shall be responsible for enabling the
+   applicable license agreements relating to the Installable Software to
+ be presented to, and accepted by, the users of the Provisioning 
+Technology
+   in accordance with the Specification. By using Provisioning 
+Technology in such a manner and making it available in accordance with 
+the
+   Specification, you further acknowledge your agreement to, and the 
+acquisition of all necessary rights to permit the following:</p>
+
+<ol>
+       <li>A series of actions may occur ("Provisioning Process") in 
+which a user may execute the Provisioning Technology
+       on a machine ("Target Machine") with the intent of installing, 
+extending or updating the functionality of an Eclipse-based
+       product.</li>
+       <li>During the Provisioning Process, the Provisioning Technology 
+may cause third party Installable Software or a portion thereof to be
+       accessed and copied to the Target Machine.</li>
+       <li>Pursuant to the Specification, you will provide to the user 
+the terms and conditions that govern the use of the Installable
+       Software ("Installable Software Agreement") and such Installable 
+Software Agreement shall be accessed from the Target
+       Machine in accordance with the Specification. Such Installable 
+Software Agreement must inform the user of the terms and conditions that
+ govern
+       the Installable Software and must solicit acceptance by the end 
+user in the manner prescribed in such Installable Software Agreement. 
+Upon such
+       indication of agreement by the user, the provisioning Technology 
+will complete installation of the Installable Software.</li>
+</ol>
+
+<h3>Cryptography</h3>
+
+<p>Content may contain encryption software. The country in which you are
+ currently may have restrictions on the import, possession, and use, 
+and/or re-export to
+   another country, of encryption software. BEFORE using any encryption 
+software, please check the country's laws, regulations and policies 
+concerning the import,
+   possession, or use, and re-export of encryption software, to see if 
+this is permitted.</p>
+
+<p><small>Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.</small></p>
+
+
+</body></html>
\ No newline at end of file
diff --git a/org.eclipse.osbp.xtext.entitymock/model/EntityMockDSL.xcore b/org.eclipse.osbp.xtext.entitymock/model/EntityMockDSL.xcore
new file mode 100644
index 0000000..f29d5f3
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/model/EntityMockDSL.xcore
@@ -0,0 +1,350 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  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:                                                      
+ * 	   Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ * 
+ */
+
+@GenModel(fileExtensions="entitymock")
+@GenModel(modelName="EntityMockDSL")
+@GenModel(prefix="EntityMockDSL")
+@GenModel(updateClasspath="false")
+@GenModel(copyrightText="Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ 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 
+
+ Based on ideas from Xtext, Xtend, Xcore
+  
+ Contributors:  
+ 		Christophe Loetz  (Loetz GmbH&Co.KG) - Initial implementation 
+ ")
+@Ecore(nsURI="http://osbp.eclipse.org/xtext/entitymock/EntityMockDSL")
+@Ecore(nsPrefix="entitymockdsl")
+@Ecore(rootPackage="entitymockdsl")
+package org.eclipse.osbp.xtext.entitymock
+
+import org.eclipse.osbp.xtext.datainterchange.DataInterchange
+import org.eclipse.emf.ecore.EObject
+import org.eclipse.emf.ecore.InternalEObject
+import org.eclipse.xtext.common.types.JvmTypeReference
+import org.eclipse.xtext.xbase.XExpression
+import org.eclipse.osbp.dsl.semantic.common.types.LEnum
+import org.eclipse.osbp.dsl.semantic.common.types.LPackage
+import org.eclipse.osbp.dsl.semantic.entity.LEntity
+import org.eclipse.osbp.dsl.semantic.entity.LEntityAttribute
+import org.eclipse.osbp.dsl.semantic.entity.LEntityReference
+import org.eclipse.osbp.dsl.xtext.lazyresolver.api.EcoreUtil3
+import org.eclipse.osbp.dsl.semantic.common.types.LEnumLiteral
+
+class EntityMockModel {
+    contains EntityMockPackage[] packages
+}
+
+class EntityMockPackage extends LPackage {
+	int runPriority
+	contains RunningDataInterchanges datainterchanges
+    contains EntityMockResources resources
+	contains EntityMockObjects objects
+    contains EntityMockDataTypes datatypes
+    contains EntityMockEntities entities
+}
+
+class RunningDataInterchanges {
+    contains RunningDataInterchange[] datainterchanges
+}
+
+class RunningDataInterchange {
+    refers DataInterchange datainterchangeRef
+    String fileURL
+}
+
+type InternalEObject wraps InternalEObject
+
+class EntityMockLazyResolver { 
+    op EObject eResolveProxy(InternalEObject proxy) {
+        return EcoreUtil3.resolve(proxy, this.eResource().resourceSet);
+    }
+}
+
+class EntityMockResources {
+    contains EntityMockResource[] resources
+}
+
+class EntityMockResource extends LEnum {
+    contains EntityMockResourceAttribute[] attributes
+    contains EntityMockResourceDataRow[] datarows
+}
+
+class EntityMockResourceAttribute extends LEnum {
+}
+
+class EntityMockResourceDataRow extends LEnumLiteral {
+    String[] values
+}
+
+class EntityMockObjects {
+    contains EntityMockObject[] objects
+}
+
+class EntityMockObject {
+    String name
+    contains EntityMockObjectEnum[] enumerations
+    contains IEntityMockObjectAttribute[] attributes
+    contains EntityMockObjectFunction[] calculations
+}
+
+class EntityMockObjectEnum extends IEntityMockObjectUsable {
+    String name
+    refers LEnum usingResource
+}
+
+class IEntityMockObjectAttribute extends EntityMockLazyResolver {
+    String name
+}
+
+class EntityMockObjectPlainValue extends IEntityMockObjectAttribute, IEntityMockObjectUsable {
+    String[] values
+}
+
+class EntityMockObjectResourceValue extends IEntityMockObjectAttribute, IEntityMockObjectUsable {
+    refers EntityMockObjectEnum resourceEnum
+    refers EntityMockResourceAttribute resourceAttribute
+}
+
+class EntityMockObjectArrayValue extends IEntityMockObjectAttribute, IEntityMockObjectUsable {
+    refers EntityMockObjectEnum enumeration
+    contains EntityMockObjectItemValue[] items
+}
+
+class EntityMockObjectItemValue {
+    refers LEnumLiteral datarow
+    String[] values
+}
+
+class EntityMockObjectEmbed extends IEntityMockObjectAttribute, IEntityMockObjectUsable, EntityMockLazyResolver {
+    refers EntityMockObject object
+}
+
+class EntityMockObjectFunction extends IEntityMockObjectAttribute, IEntityMockObjectUsable {
+	contains JvmTypeReference oftype
+	contains EntityMockObjectFunctionParameter[] params
+	contains XExpression body
+}
+
+class EntityMockObjectFunctionParameter {
+	contains JvmTypeReference parameterType
+	refers IEntityMockObjectUsable name
+}
+
+class EntityMockObjectFill extends IEntityMockObjectAttribute, IEntityMockObjectUsable {
+    contains PropertyFillerType fillerType
+}
+
+class PropertyFillerType extends EntityMockLazyResolver {}
+
+class PropertyFillerDateType extends PropertyFillerType {}
+class PropertyFillerBoolean extends PropertyFillerType {}
+class PropertyFillerDoubleType extends PropertyFillerType {}
+class PropertyFillerIntegerType extends PropertyFillerType {}
+class PropertyFillerTextType extends PropertyFillerType {}
+
+class PropertyFillerDateFuture extends PropertyFillerDateType {
+    int dateFutureYears
+}
+
+class PropertyFillerDatePast extends PropertyFillerDateType {
+    int datePastYears
+}
+
+class PropertyFillerDateRange extends PropertyFillerDateType {
+    int dateBeginYears
+    int dateEndYears
+}
+
+class PropertyFillerSignedDoubleRange extends PropertyFillerDoubleType {
+    int decimals
+    double beginRange
+    double endRange
+    refers LEntityAttribute beginRangeRef
+    refers LEntityAttribute endRangeRef
+    double rounded
+}
+
+class PropertyFillerSignedDoubleRandom extends PropertyFillerDoubleType {
+    double[] items
+}
+
+class PropertyFillerSignedIntegerRange extends PropertyFillerIntegerType {
+    int beginRange
+    int endRange
+    refers LEntityAttribute beginRangeRef
+    refers LEntityAttribute endRangeRef
+    int rounded
+}
+
+class PropertyFillerSignedIntegerRandom extends PropertyFillerIntegerType {
+    int[] items
+}
+
+class PropertyFillerTextRandom extends PropertyFillerTextType {
+    String[] items
+}
+
+class PropertyFillerTextParagraphs extends PropertyFillerTextType {
+    int count
+}
+
+class PropertyFillerTextSentences extends PropertyFillerTextType {
+    int count
+}
+
+class PropertyFillerTextWords extends PropertyFillerTextType {
+    int count
+}
+
+class PropertyFillerUnsignedDoubleRange extends PropertyFillerDoubleType {
+    int decimals
+    double beginRange
+    double endRange
+    refers LEntityAttribute beginRangeRef
+    refers LEntityAttribute endRangeRef
+    double rounded
+}
+
+class PropertyFillerUnsignedDoubleRandom extends PropertyFillerDoubleType {
+    double[] items
+}
+
+class PropertyFillerUnsignedIntegerRange extends PropertyFillerIntegerType {
+    int beginRange
+    int endRange
+    refers LEntityAttribute beginRangeRef
+    refers LEntityAttribute endRangeRef
+    int rounded
+}
+
+class PropertyFillerUnsignedIntegerRandom extends PropertyFillerIntegerType {
+    int[] items
+}
+
+
+class EntityMockDataTypes {
+    contains EntityMockDataType[] datatypes
+}
+
+class EntityMockDataType {
+    String name
+}
+
+class EntityMockEntities {
+    contains EntityMockEntity[] entities
+}
+
+class EntityMockEntity extends EntityMockLazyResolver {
+    String name
+    refers LEntity entityRef
+    int minRows
+    int maxRows
+    contains IIterate iterate
+    refers LEntityAttribute iterator
+    contains EntityMockTemporary[] temporaries
+    contains IEntityMockAttribute[] attributes
+    contains EntityMockEntityFunction[] calculations
+    refers EntityMockResource byResource
+    contains EntityMockByResourceAttribute[] byResourceAttributes
+    boolean createBlobMapping
+}
+
+class IIterate {}
+
+class IntegerIterate extends IIterate {
+	int from
+	int until
+	int step
+}
+
+class DateIterate extends IIterate {
+	contains Date from
+	contains Date until
+	int stepCount
+	EDateStepType stepType 
+}
+
+class Date {
+	boolean yesterday
+	boolean today
+	boolean tomorrow
+	int offsetCount
+	EDateStepType offsetType
+	int year
+	int month
+	int day
+}
+
+enum EDateStepType {
+	DAYS as 'days'
+	WEEKS as 'weeks'
+	MONTHS as 'months'
+	YEARS as 'years'
+}
+
+class EntityMockByResourceAttribute {
+    refers LEntityAttribute attributeRef
+    refers EntityMockResourceAttribute resourceAttribute
+}
+
+class EntityMockTemporary extends EntityMockLazyResolver {
+    String name
+    refers EntityMockObject object
+}
+
+class IEntityMockObjectUsable extends EntityMockLazyResolver {}
+
+class IEntityMockEntityUsable extends EntityMockLazyResolver {}
+
+class IEntityMockAttribute extends IEntityMockEntityUsable {}
+
+class EntityMockReferencedObjectAttribute extends EntityMockLazyResolver {
+    refers EntityMockTemporary temporary
+    refers EntityMockObjectEmbed[] embedded
+    refers IEntityMockObjectUsable attribute
+}
+
+class EntityMockAttributeByObject extends IEntityMockAttribute {
+    refers LEntityAttribute attributeRef
+    contains EntityMockReferencedObjectAttribute reference
+    refers EntityMockObjectEnum resourceEnum
+    refers EntityMockResourceAttribute resourceAttribute
+}
+
+class EntityMockAttributeFiller extends IEntityMockAttribute {
+    refers LEntityAttribute attributeRef
+    contains PropertyFillerType fillerType
+}
+
+class EntityMockAttributeByReference extends IEntityMockAttribute {
+    refers LEntityReference attributeRef
+    refers EntityMockEntity mockedEntity
+    int optionalFor
+}
+
+class EntityMockEntityFunction extends IEntityMockEntityUsable {
+    refers LEntityAttribute attributeRef
+	contains EntityMockEntityFunctionParameter[] params
+	contains XExpression body
+}
+
+class EntityMockEntityFunctionParameter {
+	refers LEntityAttribute attributeRef
+	refers LEntityReference[] referencePaths
+	refers LEntityAttribute referenceRef
+}
diff --git a/org.eclipse.osbp.xtext.entitymock/plugin.properties b/org.eclipse.osbp.xtext.entitymock/plugin.properties
new file mode 100644
index 0000000..9ff9338
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/plugin.properties
@@ -0,0 +1,14 @@
+# Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+#  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 
+# 
+#  Based on ideas from Xtext, Xtend, Xcore
+#   
+#  Contributors:  
+#  		Michael Mokroß - Initial implementation 
+#  
+
+pluginName = EntityMockDSL Model
+providerName = www.example.org
diff --git a/org.eclipse.osbp.xtext.entitymock/plugin.xml b/org.eclipse.osbp.xtext.entitymock/plugin.xml
new file mode 100644
index 0000000..59e59af
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/plugin.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+  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 
+ 
+  Based on ideas from Xtext, Xtend, Xcore
+   
+  Contributors:  
+  		Christophe Loetz (Loetz GmbH&Co) - Initial implementation 
+  
+-->
+
+<plugin>
+
+   <extension point="org.eclipse.emf.ecore.generated_package">
+      <!-- @generated EntityMockDSL -->
+      <package
+            uri="http://osbp.eclipse.org/xtext/entitymock/EntityMockDSL"
+            class="org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage"
+            genModel="model/EntityMockDSL.xcore"/>
+   </extension>
+
+</plugin>
diff --git a/org.eclipse.osbp.xtext.entitymock/pom.xml b/org.eclipse.osbp.xtext.entitymock/pom.xml
new file mode 100644
index 0000000..0095679
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/pom.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--#======================================================================= -->
+<!--# Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) -->
+<!--# 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: -->
+<!--#     Christophe Loetz (Loetz GmbH&Co.KG) - initial API and implementation -->
+<!--#======================================================================= -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.eclipse.osbp.xtext.entitymock</groupId>
+        <artifactId>org.eclipse.osbp.xtext.entitymock.aggregator</artifactId>
+        <version>0.9.0-SNAPSHOT</version>
+        <relativePath>..</relativePath>
+    </parent>
+    <artifactId>org.eclipse.osbp.xtext.entitymock</artifactId>
+    <packaging>eclipse-plugin</packaging>
+</project>
diff --git a/org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/AbstractEntityMockDSLRuntimeModule.java b/org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/AbstractEntityMockDSLRuntimeModule.java
new file mode 100644
index 0000000..74a133f
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/AbstractEntityMockDSLRuntimeModule.java
@@ -0,0 +1,348 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  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:                                                      
+ * 	   Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ * 
+ */
+
+package org.eclipse.osbp.xtext.entitymock;
+
+import java.util.Properties;
+
+import org.eclipse.xtext.Constants;
+import org.eclipse.xtext.service.DefaultRuntimeModule;
+
+import com.google.inject.Binder;
+import com.google.inject.name.Names;
+
+/**
+ * Manual modifications go to {org.eclipse.osbp.xtext.entitymock.EntityMockDSLRuntimeModule}
+ */
+ @SuppressWarnings("all")
+public abstract class AbstractEntityMockDSLRuntimeModule extends DefaultRuntimeModule {
+
+	protected Properties properties = null;
+
+	@Override
+	public void configure(Binder binder) {
+		properties = tryBindProperties(binder, "org/eclipse/osbp/xtext/entitymock/EntityMockDSL.properties");
+		super.configure(binder);
+	}
+	
+	public void configureLanguageName(Binder binder) {
+		binder.bind(String.class).annotatedWith(Names.named(Constants.LANGUAGE_NAME)).toInstance("org.eclipse.osbp.xtext.entitymock.EntityMockDSL");
+	}
+	
+	public void configureFileExtensions(Binder binder) {
+		if (properties == null || properties.getProperty(Constants.FILE_EXTENSIONS) == null)
+			binder.bind(String.class).annotatedWith(Names.named(Constants.FILE_EXTENSIONS)).toInstance("entitymock");
+	}
+	
+	// contributed by org.eclipse.xtext.generator.serializer.SerializerFragment
+	public Class<? extends org.eclipse.xtext.serializer.sequencer.ISemanticSequencer> bindISemanticSequencer() {
+		return org.eclipse.osbp.xtext.entitymock.serializer.EntityMockDSLSemanticSequencer.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.serializer.SerializerFragment
+	public Class<? extends org.eclipse.xtext.serializer.sequencer.ISyntacticSequencer> bindISyntacticSequencer() {
+		return org.eclipse.osbp.xtext.entitymock.serializer.EntityMockDSLSyntacticSequencer.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.serializer.SerializerFragment
+	public Class<? extends org.eclipse.xtext.serializer.ISerializer> bindISerializer() {
+		return org.eclipse.xtext.serializer.impl.Serializer.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+	public Class<? extends org.eclipse.xtext.parser.IParser> bindIParser() {
+		return org.eclipse.osbp.xtext.entitymock.parser.antlr.EntityMockDSLParser.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+	public Class<? extends org.eclipse.xtext.parser.ITokenToStringConverter> bindITokenToStringConverter() {
+		return org.eclipse.xtext.parser.antlr.AntlrTokenToStringConverter.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+	public Class<? extends org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider> bindIAntlrTokenFileProvider() {
+		return org.eclipse.osbp.xtext.entitymock.parser.antlr.EntityMockDSLAntlrTokenFileProvider.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+	public Class<? extends org.eclipse.xtext.parser.antlr.Lexer> bindLexer() {
+		return org.eclipse.osbp.xtext.entitymock.parser.antlr.internal.InternalEntityMockDSLLexer.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+	public com.google.inject.Provider<org.eclipse.osbp.xtext.entitymock.parser.antlr.internal.InternalEntityMockDSLLexer> provideInternalEntityMockDSLLexer() {
+		return org.eclipse.xtext.parser.antlr.LexerProvider.create(org.eclipse.osbp.xtext.entitymock.parser.antlr.internal.InternalEntityMockDSLLexer.class);
+	}
+
+	// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+	public void configureRuntimeLexer(com.google.inject.Binder binder) {
+		binder.bind(org.eclipse.xtext.parser.antlr.Lexer.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.parser.antlr.LexerBindings.RUNTIME)).to(org.eclipse.osbp.xtext.entitymock.parser.antlr.internal.InternalEntityMockDSLLexer.class);
+	}
+
+	// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+	public Class<? extends org.eclipse.xtext.parser.antlr.ITokenDefProvider> bindITokenDefProvider() {
+		return org.eclipse.xtext.parser.antlr.AntlrTokenDefProvider.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.validation.ValidatorFragment
+	@org.eclipse.xtext.service.SingletonBinding(eager=true)	public Class<? extends org.eclipse.osbp.xtext.entitymock.validation.EntityMockDSLValidator> bindEntityMockDSLValidator() {
+		return org.eclipse.osbp.xtext.entitymock.validation.EntityMockDSLValidator.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.scoping.AbstractScopingFragment
+	public void configureIgnoreCaseLinking(com.google.inject.Binder binder) {
+		binder.bindConstant().annotatedWith(org.eclipse.xtext.scoping.IgnoreCaseLinking.class).to(false);
+	}
+
+	// contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
+	public Class<? extends org.eclipse.xtext.resource.IContainer.Manager> bindIContainer$Manager() {
+		return org.eclipse.xtext.resource.containers.StateBasedContainerManager.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
+	public Class<? extends org.eclipse.xtext.resource.containers.IAllContainersState.Provider> bindIAllContainersState$Provider() {
+		return org.eclipse.xtext.resource.containers.ResourceSetBasedAllContainersStateProvider.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
+	public void configureIResourceDescriptions(com.google.inject.Binder binder) {
+		binder.bind(org.eclipse.xtext.resource.IResourceDescriptions.class).to(org.eclipse.xtext.resource.impl.ResourceSetBasedResourceDescriptions.class);
+	}
+
+	// contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
+	public void configureIResourceDescriptionsPersisted(com.google.inject.Binder binder) {
+		binder.bind(org.eclipse.xtext.resource.IResourceDescriptions.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.resource.impl.ResourceDescriptionsProvider.PERSISTED_DESCRIPTIONS)).to(org.eclipse.xtext.resource.impl.ResourceSetBasedResourceDescriptions.class);
+	}
+
+	// contributed by org.eclipse.xtext.generator.formatting.FormatterFragment
+	public Class<? extends org.eclipse.xtext.formatting.IFormatter> bindIFormatter() {
+		return org.eclipse.osbp.xtext.entitymock.formatting.EntityMockDSLFormatter.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+	public org.eclipse.xtext.common.types.TypesFactory bindTypesFactoryToInstance() {
+		return org.eclipse.xtext.common.types.TypesFactory.eINSTANCE;
+	}
+
+	// contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+	public Class<? extends org.eclipse.xtext.common.types.access.IJvmTypeProvider.Factory> bindIJvmTypeProvider$Factory() {
+		return org.eclipse.xtext.common.types.access.ClasspathTypeProviderFactory.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+	public Class<? extends org.eclipse.xtext.common.types.xtext.AbstractTypeScopeProvider> bindAbstractTypeScopeProvider() {
+		return org.eclipse.xtext.common.types.xtext.ClasspathBasedTypeScopeProvider.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+	public Class<? extends org.eclipse.xtext.xbase.interpreter.IEvaluationContext> bindIEvaluationContext() {
+		return org.eclipse.xtext.xbase.interpreter.impl.DefaultEvaluationContext.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+	public Class<? extends org.eclipse.xtext.xbase.interpreter.IExpressionInterpreter> bindIExpressionInterpreter() {
+		return org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+	public Class<? extends org.eclipse.xtext.naming.IQualifiedNameConverter> bindIQualifiedNameConverter() {
+		return org.eclipse.xtext.xbase.XbaseQualifiedNameConverter.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+	public Class<? extends org.eclipse.xtext.naming.IQualifiedNameProvider> bindIQualifiedNameProvider() {
+		return org.eclipse.xtext.xbase.scoping.XbaseQualifiedNameProvider.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+	public Class<? extends org.eclipse.xtext.conversion.IValueConverterService> bindIValueConverterService() {
+		return org.eclipse.xtext.xbase.conversion.XbaseValueConverterService.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+	public Class<? extends org.eclipse.xtext.scoping.IScopeProvider> bindIScopeProvider() {
+		return org.eclipse.xtext.xbase.scoping.batch.IBatchScopeProvider.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+	public void configureLinkingIScopeProvider(com.google.inject.Binder binder) {
+		binder.bind(org.eclipse.xtext.scoping.IScopeProvider.class).annotatedWith(org.eclipse.xtext.linking.LinkingScopeProviderBinding.class).to(org.eclipse.xtext.xbase.scoping.batch.IBatchScopeProvider.class);
+	}
+
+	// contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+	public void configureSerializerIScopeProvider(com.google.inject.Binder binder) {
+		binder.bind(org.eclipse.xtext.scoping.IScopeProvider.class).annotatedWith(org.eclipse.xtext.serializer.tokens.SerializerScopeProviderBinding.class).to(org.eclipse.xtext.xbase.serializer.SerializerScopeProvider.class);
+	}
+
+	// contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+	public void configureIScopeProviderDelegate(com.google.inject.Binder binder) {
+		binder.bind(org.eclipse.xtext.scoping.IScopeProvider.class).annotatedWith(Names.named(org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider.NAMED_DELEGATE)).to(org.eclipse.xtext.xbase.scoping.XbaseImportedNamespaceScopeProvider.class);
+	}
+
+	// contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+	public Class<? extends org.eclipse.xtext.linking.ILinker> bindILinker() {
+		return org.eclipse.xtext.xbase.linking.XbaseLazyLinker.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+	public Class<? extends org.eclipse.xtext.resource.XtextResource> bindXtextResource() {
+		return org.eclipse.xtext.xbase.resource.BatchLinkableResource.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+	@org.eclipse.xtext.service.SingletonBinding(eager=true)	public Class<? extends org.eclipse.xtext.xbase.validation.JvmTypeReferencesValidator> bindJvmTypeReferencesValidator() {
+		return org.eclipse.xtext.xbase.validation.JvmTypeReferencesValidator.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+	public Class<? extends org.eclipse.xtext.xbase.featurecalls.IdentifiableSimpleNameProvider> bindIdentifiableSimpleNameProvider() {
+		return org.eclipse.xtext.xbase.featurecalls.IdentifiableSimpleNameProvider.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+	public Class<? extends org.eclipse.xtext.resource.IDerivedStateComputer> bindIDerivedStateComputer() {
+		return org.eclipse.xtext.xbase.jvmmodel.JvmModelAssociator.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+	public Class<? extends org.eclipse.xtext.resource.IResourceDescription.Manager> bindIResourceDescription$Manager() {
+		return org.eclipse.xtext.resource.DerivedStateAwareResourceDescriptionManager.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+	public Class<? extends org.eclipse.xtext.generator.IGenerator> bindIGenerator() {
+		return org.eclipse.xtext.xbase.compiler.JvmModelGenerator.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+	public org.eclipse.xtext.xtype.XtypeFactory bindXtypeFactoryToInstance() {
+		return org.eclipse.xtext.xtype.XtypeFactory.eINSTANCE;
+	}
+
+	// contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+	public Class<? extends org.eclipse.xtext.debug.IStratumBreakpointSupport> bindIStratumBreakpointSupport() {
+		return org.eclipse.xtext.xbase.debug.XbaseStratumBreakpointSupport.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+	public Class<? extends org.eclipse.xtext.generator.LineSeparatorHarmonizer> bindLineSeparatorHarmonizer() {
+		return org.eclipse.xtext.xbase.compiler.output.TraceAwarePostProcessor.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+	public Class<? extends org.eclipse.xtext.resource.IDefaultResourceDescriptionStrategy> bindIDefaultResourceDescriptionStrategy() {
+		return org.eclipse.xtext.xbase.resource.XbaseResourceDescriptionStrategy.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+	public Class<? extends org.eclipse.xtext.validation.SeverityConverter> bindSeverityConverter() {
+		return org.eclipse.xtext.xbase.validation.XbaseSeverityConverter.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+	public Class<? extends org.eclipse.xtext.validation.ConfigurableIssueCodesProvider> bindConfigurableIssueCodesProvider() {
+		return org.eclipse.xtext.xbase.validation.XbaseConfigurableIssueCodes.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+	public Class<? extends org.eclipse.xtext.resource.EObjectAtOffsetHelper> bindEObjectAtOffsetHelper() {
+		return org.eclipse.xtext.xbase.linking.BrokenConstructorCallAwareEObjectAtOffsetHelper.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+	public Class<? extends org.eclipse.xtext.validation.CancelableDiagnostician> bindCancelableDiagnostician() {
+		return org.eclipse.xtext.xbase.validation.XbaseDiagnostician.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+	public Class<? extends org.eclipse.xtext.xbase.scoping.featurecalls.StaticImplicitMethodsFeatureForTypeProvider.ExtensionClassNameProvider> bindStaticImplicitMethodsFeatureForTypeProvider$ExtensionClassNameProvider() {
+		return org.eclipse.xtext.xbase.scoping.batch.ImplicitlyImportedTypesAdapter.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+	public Class<? extends org.eclipse.xtend.lib.macro.file.MutableFileSystemSupport> bindMutableFileSystemSupport() {
+		return org.eclipse.xtext.xbase.file.JavaIOFileSystemSupport.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+	public Class<? extends org.eclipse.xtend.lib.macro.file.FileLocations> bindFileLocations() {
+		return org.eclipse.xtext.xbase.file.FileLocationsImpl.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+	public Class<? extends com.google.inject.Provider<org.eclipse.xtext.xbase.file.WorkspaceConfig>> provideWorkspaceConfig() {
+		return org.eclipse.xtext.xbase.file.RuntimeWorkspaceConfigProvider.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+	public Class<? extends org.eclipse.xtext.xbase.typesystem.computation.ITypeComputer> bindITypeComputer() {
+		return org.eclipse.xtext.xbase.annotations.typesystem.XbaseWithAnnotationsTypeComputer.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+	public Class<? extends org.eclipse.xtext.xbase.scoping.batch.XbaseBatchScopeProvider> bindXbaseBatchScopeProvider() {
+		return org.eclipse.xtext.xbase.annotations.typesystem.XbaseWithAnnotationsBatchScopeProvider.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+	public Class<? extends org.eclipse.xtext.linking.ILinkingDiagnosticMessageProvider> bindILinkingDiagnosticMessageProvider() {
+		return org.eclipse.xtext.xbase.annotations.validation.UnresolvedAnnotationTypeAwareMessageProducer.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+	public Class<? extends org.eclipse.xtext.resource.ILocationInFileProvider> bindILocationInFileProvider() {
+		return org.eclipse.xtext.xbase.jvmmodel.JvmLocationInFileProvider.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+	public Class<? extends org.eclipse.xtext.scoping.IGlobalScopeProvider> bindIGlobalScopeProvider() {
+		return org.eclipse.xtext.common.types.xtext.TypesAwareDefaultGlobalScopeProvider.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+	public Class<? extends org.eclipse.xtext.xbase.validation.FeatureNameValidator> bindFeatureNameValidator() {
+		return org.eclipse.xtext.xbase.validation.LogicalContainerAwareFeatureNameValidator.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+	public Class<? extends org.eclipse.xtext.xbase.typesystem.internal.DefaultBatchTypeResolver> bindDefaultBatchTypeResolver() {
+		return org.eclipse.xtext.xbase.typesystem.internal.LogicalContainerAwareBatchTypeResolver.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+	public Class<? extends org.eclipse.xtext.xbase.typesystem.internal.DefaultReentrantTypeResolver> bindDefaultReentrantTypeResolver() {
+		return org.eclipse.xtext.xbase.typesystem.internal.LogicalContainerAwareReentrantTypeResolver.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+	public Class<? extends org.eclipse.xtext.validation.IResourceValidator> bindIResourceValidator() {
+		return org.eclipse.xtext.xbase.annotations.validation.DerivedStateAwareResourceValidator.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+	public Class<? extends org.eclipse.xtext.xbase.jvmmodel.IJvmModelInferrer> bindIJvmModelInferrer() {
+		return org.eclipse.osbp.xtext.entitymock.jvmmodel.EntityMockDSLJvmModelInferrer.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.grammarAccess.GrammarAccessFragment
+	public java.lang.ClassLoader bindClassLoaderToInstance() {
+		return getClass().getClassLoader();
+	}
+
+	// contributed by org.eclipse.xtext.generator.grammarAccess.GrammarAccessFragment
+	public Class<? extends org.eclipse.xtext.IGrammarAccess> bindIGrammarAccess() {
+		return org.eclipse.osbp.xtext.entitymock.services.EntityMockDSLGrammarAccess.class;
+	}
+
+}
diff --git a/org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/EntityMockDSLStandaloneSetupGenerated.java b/org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/EntityMockDSLStandaloneSetupGenerated.java
new file mode 100644
index 0000000..053461e
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/EntityMockDSLStandaloneSetupGenerated.java
@@ -0,0 +1,53 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  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:                                                      
+ * 	   Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ * 
+ */
+
+package org.eclipse.osbp.xtext.entitymock;
+
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.xtext.ISetup;
+import org.eclipse.emf.ecore.resource.Resource;
+
+import com.google.inject.Guice;
+import com.google.inject.Injector;
+
+/**
+ * Generated from StandaloneSetup.xpt!
+ */
+@SuppressWarnings("all")
+public class EntityMockDSLStandaloneSetupGenerated implements ISetup {
+
+	public Injector createInjectorAndDoEMFRegistration() {
+		org.eclipse.xtext.xbase.annotations.XbaseWithAnnotationsStandaloneSetup.doSetup();
+
+		Injector injector = createInjector();
+		register(injector);
+		return injector;
+	}
+	
+	public Injector createInjector() {
+		return Guice.createInjector(new org.eclipse.osbp.xtext.entitymock.EntityMockDSLRuntimeModule());
+	}
+	
+	public void register(Injector injector) {
+
+		org.eclipse.xtext.resource.IResourceFactory resourceFactory = injector.getInstance(org.eclipse.xtext.resource.IResourceFactory.class);
+		org.eclipse.xtext.resource.IResourceServiceProvider serviceProvider = injector.getInstance(org.eclipse.xtext.resource.IResourceServiceProvider.class);
+		Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put("entitymock", resourceFactory);
+		org.eclipse.xtext.resource.IResourceServiceProvider.Registry.INSTANCE.getExtensionToFactoryMap().put("entitymock", serviceProvider);
+		
+
+
+
+	}
+}
diff --git a/org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/EntityMockDSLAntlrTokenFileProvider.java b/org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/EntityMockDSLAntlrTokenFileProvider.java
new file mode 100644
index 0000000..46e48d5
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/EntityMockDSLAntlrTokenFileProvider.java
@@ -0,0 +1,26 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  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:                                                      
+ * 	   Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ * 
+ */
+
+package org.eclipse.osbp.xtext.entitymock.parser.antlr;
+
+import java.io.InputStream;
+import org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider;
+
+public class EntityMockDSLAntlrTokenFileProvider implements IAntlrTokenFileProvider {
+	
+	public InputStream getAntlrTokenFile() {
+		ClassLoader classLoader = getClass().getClassLoader();
+    	return classLoader.getResourceAsStream("org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.tokens");
+	}
+}
diff --git a/org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/EntityMockDSLParser.java b/org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/EntityMockDSLParser.java
new file mode 100644
index 0000000..880bb10
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/EntityMockDSLParser.java
@@ -0,0 +1,50 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  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:                                                      
+ * 	   Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ * 
+ */
+
+package org.eclipse.osbp.xtext.entitymock.parser.antlr;
+
+import com.google.inject.Inject;
+
+import org.eclipse.xtext.parser.antlr.XtextTokenStream;
+import org.eclipse.osbp.xtext.entitymock.services.EntityMockDSLGrammarAccess;
+
+public class EntityMockDSLParser extends org.eclipse.xtext.parser.antlr.AbstractAntlrParser {
+	
+	@Inject
+	private EntityMockDSLGrammarAccess grammarAccess;
+	
+	@Override
+	protected void setInitialHiddenTokens(XtextTokenStream tokenStream) {
+		tokenStream.setInitialHiddenTokens("RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT");
+	}
+	
+	@Override
+	protected org.eclipse.osbp.xtext.entitymock.parser.antlr.internal.InternalEntityMockDSLParser createParser(XtextTokenStream stream) {
+		return new org.eclipse.osbp.xtext.entitymock.parser.antlr.internal.InternalEntityMockDSLParser(stream, getGrammarAccess());
+	}
+	
+	@Override 
+	protected String getDefaultRuleName() {
+		return "EntityMockModel";
+	}
+	
+	public EntityMockDSLGrammarAccess getGrammarAccess() {
+		return this.grammarAccess;
+	}
+	
+	public void setGrammarAccess(EntityMockDSLGrammarAccess grammarAccess) {
+		this.grammarAccess = grammarAccess;
+	}
+	
+}
diff --git a/org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g b/org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g
new file mode 100644
index 0000000..887b1e2
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g
@@ -0,0 +1,10015 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  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:                                                      
+ * 	   Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ * 
+ */
+
+grammar InternalEntityMockDSL;
+
+options {
+	superClass=AbstractInternalAntlrParser;
+	
+}
+
+@lexer::header {
+package org.eclipse.osbp.xtext.entitymock.parser.antlr.internal;
+
+// Hack: Use our own Lexer superclass by means of import. 
+// Currently there is no other way to specify the superclass for the lexer.
+import org.eclipse.xtext.parser.antlr.Lexer;
+}
+
+@parser::header {
+package org.eclipse.osbp.xtext.entitymock.parser.antlr.internal; 
+
+import org.eclipse.xtext.*;
+import org.eclipse.xtext.parser.*;
+import org.eclipse.xtext.parser.impl.*;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.common.util.Enumerator;
+import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
+import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken;
+import org.eclipse.osbp.xtext.entitymock.services.EntityMockDSLGrammarAccess;
+
+}
+
+@parser::members {
+
+ 	private EntityMockDSLGrammarAccess grammarAccess;
+ 	
+    public InternalEntityMockDSLParser(TokenStream input, EntityMockDSLGrammarAccess grammarAccess) {
+        this(input);
+        this.grammarAccess = grammarAccess;
+        registerRules(grammarAccess.getGrammar());
+    }
+    
+    @Override
+    protected String getFirstRuleName() {
+    	return "EntityMockModel";	
+   	}
+   	
+   	@Override
+   	protected EntityMockDSLGrammarAccess getGrammarAccess() {
+   		return grammarAccess;
+   	}
+}
+
+@rulecatch { 
+    catch (RecognitionException re) { 
+        recover(input,re); 
+        appendSkippedTokens();
+    } 
+}
+
+
+
+
+// Entry rule entryRuleEntityMockModel
+entryRuleEntityMockModel returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getEntityMockModelRule()); }
+	 iv_ruleEntityMockModel=ruleEntityMockModel 
+	 { $current=$iv_ruleEntityMockModel.current; } 
+	 EOF 
+;
+
+// Rule EntityMockModel
+ruleEntityMockModel returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getEntityMockModelAccess().getPackagesEntityMockPackageParserRuleCall_0()); 
+	    }
+		lv_packages_0_0=ruleEntityMockPackage		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getEntityMockModelRule());
+	        }
+       		add(
+       			$current, 
+       			"packages",
+        		lv_packages_0_0, 
+        		"EntityMockPackage");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)*
+;
+
+
+
+
+
+// Entry rule entryRuleEntityMockPackage
+entryRuleEntityMockPackage returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getEntityMockPackageRule()); }
+	 iv_ruleEntityMockPackage=ruleEntityMockPackage 
+	 { $current=$iv_ruleEntityMockPackage.current; } 
+	 EOF 
+;
+
+// Rule EntityMockPackage
+ruleEntityMockPackage returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(	otherlv_0='mock entitymodel for' 
+    {
+    	newLeafNode(otherlv_0, grammarAccess.getEntityMockPackageAccess().getMockEntitymodelForKeyword_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getEntityMockPackageAccess().getImportsEntityModelImportParserRuleCall_1_0()); 
+	    }
+		lv_imports_1_0=ruleEntityModelImport		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getEntityMockPackageRule());
+	        }
+       		add(
+       			$current, 
+       			"imports",
+        		lv_imports_1_0, 
+        		"EntityModelImport");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_2='{' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getEntityMockPackageAccess().getLeftCurlyBracketKeyword_2());
+    }
+(	otherlv_3='run with priority' 
+    {
+    	newLeafNode(otherlv_3, grammarAccess.getEntityMockPackageAccess().getRunWithPriorityKeyword_3_0());
+    }
+(
+(
+		lv_runPriority_4_0=RULE_INT
+		{
+			newLeafNode(lv_runPriority_4_0, grammarAccess.getEntityMockPackageAccess().getRunPriorityINTTerminalRuleCall_3_1_0()); 
+		}
+		{
+	        if ($current==null) {
+	            $current = createModelElement(grammarAccess.getEntityMockPackageRule());
+	        }
+       		setWithLastConsumed(
+       			$current, 
+       			"runPriority",
+        		lv_runPriority_4_0, 
+        		"INT");
+	    }
+
+)
+))?(	otherlv_5='import' 
+    {
+    	newLeafNode(otherlv_5, grammarAccess.getEntityMockPackageAccess().getImportKeyword_4_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getEntityMockPackageAccess().getImportsEntityModelImportParserRuleCall_4_1_0()); 
+	    }
+		lv_imports_6_0=ruleEntityModelImport		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getEntityMockPackageRule());
+	        }
+       		add(
+       			$current, 
+       			"imports",
+        		lv_imports_6_0, 
+        		"EntityModelImport");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))*(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getEntityMockPackageAccess().getDatainterchangesRunningDataInterchangesParserRuleCall_5_0()); 
+	    }
+		lv_datainterchanges_7_0=ruleRunningDataInterchanges		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getEntityMockPackageRule());
+	        }
+       		set(
+       			$current, 
+       			"datainterchanges",
+        		lv_datainterchanges_7_0, 
+        		"RunningDataInterchanges");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)?(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getEntityMockPackageAccess().getResourcesEntityMockResourcesParserRuleCall_6_0()); 
+	    }
+		lv_resources_8_0=ruleEntityMockResources		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getEntityMockPackageRule());
+	        }
+       		set(
+       			$current, 
+       			"resources",
+        		lv_resources_8_0, 
+        		"EntityMockResources");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)?(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getEntityMockPackageAccess().getObjectsEntityMockObjectsParserRuleCall_7_0()); 
+	    }
+		lv_objects_9_0=ruleEntityMockObjects		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getEntityMockPackageRule());
+	        }
+       		set(
+       			$current, 
+       			"objects",
+        		lv_objects_9_0, 
+        		"EntityMockObjects");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)?(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getEntityMockPackageAccess().getDatatypesEntityMockDataTypesParserRuleCall_8_0()); 
+	    }
+		lv_datatypes_10_0=ruleEntityMockDataTypes		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getEntityMockPackageRule());
+	        }
+       		set(
+       			$current, 
+       			"datatypes",
+        		lv_datatypes_10_0, 
+        		"EntityMockDataTypes");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)?(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getEntityMockPackageAccess().getEntitiesEntityMockEntitiesParserRuleCall_9_0()); 
+	    }
+		lv_entities_11_0=ruleEntityMockEntities		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getEntityMockPackageRule());
+	        }
+       		set(
+       			$current, 
+       			"entities",
+        		lv_entities_11_0, 
+        		"EntityMockEntities");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_12='}' 
+    {
+    	newLeafNode(otherlv_12, grammarAccess.getEntityMockPackageAccess().getRightCurlyBracketKeyword_10());
+    }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleEntityModelImport
+entryRuleEntityModelImport returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getEntityModelImportRule()); }
+	 iv_ruleEntityModelImport=ruleEntityModelImport 
+	 { $current=$iv_ruleEntityModelImport.current; } 
+	 EOF 
+;
+
+// Rule EntityModelImport
+ruleEntityModelImport returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getEntityModelImportAccess().getImportedNamespaceEntityMockQualifiedNameWithWildCardParserRuleCall_0()); 
+	    }
+		lv_importedNamespace_0_0=ruleEntityMockQualifiedNameWithWildCard		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getEntityModelImportRule());
+	        }
+       		set(
+       			$current, 
+       			"importedNamespace",
+        		lv_importedNamespace_0_0, 
+        		"EntityMockQualifiedNameWithWildCard");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)
+;
+
+
+
+
+
+// Entry rule entryRuleEntityMockQualifiedNameWithWildCard
+entryRuleEntityMockQualifiedNameWithWildCard returns [String current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getEntityMockQualifiedNameWithWildCardRule()); } 
+	 iv_ruleEntityMockQualifiedNameWithWildCard=ruleEntityMockQualifiedNameWithWildCard 
+	 { $current=$iv_ruleEntityMockQualifiedNameWithWildCard.current.getText(); }  
+	 EOF 
+;
+
+// Rule EntityMockQualifiedNameWithWildCard
+ruleEntityMockQualifiedNameWithWildCard returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(
+    { 
+        newCompositeNode(grammarAccess.getEntityMockQualifiedNameWithWildCardAccess().getQualifiedNameParserRuleCall_0()); 
+    }
+    this_QualifiedName_0=ruleQualifiedName    {
+		$current.merge(this_QualifiedName_0);
+    }
+
+    { 
+        afterParserOrEnumRuleCall();
+    }
+(
+	kw='.' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getEntityMockQualifiedNameWithWildCardAccess().getFullStopKeyword_1_0()); 
+    }
+
+	kw='*' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getEntityMockQualifiedNameWithWildCardAccess().getAsteriskKeyword_1_1()); 
+    }
+)?)
+    ;
+
+
+
+
+
+// Entry rule entryRuleRunningDataInterchanges
+entryRuleRunningDataInterchanges returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getRunningDataInterchangesRule()); }
+	 iv_ruleRunningDataInterchanges=ruleRunningDataInterchanges 
+	 { $current=$iv_ruleRunningDataInterchanges.current; } 
+	 EOF 
+;
+
+// Rule RunningDataInterchanges
+ruleRunningDataInterchanges returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+((
+    {
+        $current = forceCreateModelElement(
+            grammarAccess.getRunningDataInterchangesAccess().getRunningDataInterchangesAction_0(),
+            $current);
+    }
+)	otherlv_1='datainterchanges' 
+    {
+    	newLeafNode(otherlv_1, grammarAccess.getRunningDataInterchangesAccess().getDatainterchangesKeyword_1());
+    }
+	otherlv_2='{' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getRunningDataInterchangesAccess().getLeftCurlyBracketKeyword_2());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getRunningDataInterchangesAccess().getDatainterchangesRunningDataInterchangeParserRuleCall_3_0()); 
+	    }
+		lv_datainterchanges_3_0=ruleRunningDataInterchange		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getRunningDataInterchangesRule());
+	        }
+       		add(
+       			$current, 
+       			"datainterchanges",
+        		lv_datainterchanges_3_0, 
+        		"RunningDataInterchange");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)*	otherlv_4='}' 
+    {
+    	newLeafNode(otherlv_4, grammarAccess.getRunningDataInterchangesAccess().getRightCurlyBracketKeyword_4());
+    }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleRunningDataInterchange
+entryRuleRunningDataInterchange returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getRunningDataInterchangeRule()); }
+	 iv_ruleRunningDataInterchange=ruleRunningDataInterchange 
+	 { $current=$iv_ruleRunningDataInterchange.current; } 
+	 EOF 
+;
+
+// Rule RunningDataInterchange
+ruleRunningDataInterchange returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+((
+    {
+        $current = forceCreateModelElement(
+            grammarAccess.getRunningDataInterchangeAccess().getRunningDataInterchangeAction_0(),
+            $current);
+    }
+)	otherlv_1='datainterchange import' 
+    {
+    	newLeafNode(otherlv_1, grammarAccess.getRunningDataInterchangeAccess().getDatainterchangeImportKeyword_1());
+    }
+(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getRunningDataInterchangeRule());
+	        }
+        }
+	otherlv_2=RULE_ID
+	{
+		newLeafNode(otherlv_2, grammarAccess.getRunningDataInterchangeAccess().getDatainterchangeRefDataInterchangeCrossReference_2_0()); 
+	}
+
+)
+)	otherlv_3='from file' 
+    {
+    	newLeafNode(otherlv_3, grammarAccess.getRunningDataInterchangeAccess().getFromFileKeyword_3());
+    }
+(
+(
+		lv_fileURL_4_0=RULE_STRING
+		{
+			newLeafNode(lv_fileURL_4_0, grammarAccess.getRunningDataInterchangeAccess().getFileURLSTRINGTerminalRuleCall_4_0()); 
+		}
+		{
+	        if ($current==null) {
+	            $current = createModelElement(grammarAccess.getRunningDataInterchangeRule());
+	        }
+       		setWithLastConsumed(
+       			$current, 
+       			"fileURL",
+        		lv_fileURL_4_0, 
+        		"STRING");
+	    }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleEntityMockResources
+entryRuleEntityMockResources returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getEntityMockResourcesRule()); }
+	 iv_ruleEntityMockResources=ruleEntityMockResources 
+	 { $current=$iv_ruleEntityMockResources.current; } 
+	 EOF 
+;
+
+// Rule EntityMockResources
+ruleEntityMockResources returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+((
+    {
+        $current = forceCreateModelElement(
+            grammarAccess.getEntityMockResourcesAccess().getEntityMockResourcesAction_0(),
+            $current);
+    }
+)	otherlv_1='resources' 
+    {
+    	newLeafNode(otherlv_1, grammarAccess.getEntityMockResourcesAccess().getResourcesKeyword_1());
+    }
+	otherlv_2='{' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getEntityMockResourcesAccess().getLeftCurlyBracketKeyword_2());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getEntityMockResourcesAccess().getResourcesEntityMockResourceParserRuleCall_3_0()); 
+	    }
+		lv_resources_3_0=ruleEntityMockResource		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getEntityMockResourcesRule());
+	        }
+       		add(
+       			$current, 
+       			"resources",
+        		lv_resources_3_0, 
+        		"EntityMockResource");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)*	otherlv_4='}' 
+    {
+    	newLeafNode(otherlv_4, grammarAccess.getEntityMockResourcesAccess().getRightCurlyBracketKeyword_4());
+    }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleEntityMockResource
+entryRuleEntityMockResource returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getEntityMockResourceRule()); }
+	 iv_ruleEntityMockResource=ruleEntityMockResource 
+	 { $current=$iv_ruleEntityMockResource.current; } 
+	 EOF 
+;
+
+// Rule EntityMockResource
+ruleEntityMockResource returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(	otherlv_0='resource' 
+    {
+    	newLeafNode(otherlv_0, grammarAccess.getEntityMockResourceAccess().getResourceKeyword_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getEntityMockResourceAccess().getNameQualifiedNameParserRuleCall_1_0()); 
+	    }
+		lv_name_1_0=ruleQualifiedName		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getEntityMockResourceRule());
+	        }
+       		set(
+       			$current, 
+       			"name",
+        		lv_name_1_0, 
+        		"QualifiedName");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_2='{' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getEntityMockResourceAccess().getLeftCurlyBracketKeyword_2());
+    }
+(	otherlv_3='attributes' 
+    {
+    	newLeafNode(otherlv_3, grammarAccess.getEntityMockResourceAccess().getAttributesKeyword_3_0());
+    }
+	otherlv_4='(' 
+    {
+    	newLeafNode(otherlv_4, grammarAccess.getEntityMockResourceAccess().getLeftParenthesisKeyword_3_1());
+    }
+((
+(
+		{ 
+	        newCompositeNode(grammarAccess.getEntityMockResourceAccess().getAttributesEntityMockResourceAttributeParserRuleCall_3_2_0_0()); 
+	    }
+		lv_attributes_5_0=ruleEntityMockResourceAttribute		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getEntityMockResourceRule());
+	        }
+       		add(
+       			$current, 
+       			"attributes",
+        		lv_attributes_5_0, 
+        		"EntityMockResourceAttribute");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)(	otherlv_6=',' 
+    {
+    	newLeafNode(otherlv_6, grammarAccess.getEntityMockResourceAccess().getCommaKeyword_3_2_1());
+    }
+)?)*	otherlv_7=')' 
+    {
+    	newLeafNode(otherlv_7, grammarAccess.getEntityMockResourceAccess().getRightParenthesisKeyword_3_3());
+    }
+)?	otherlv_8='items' 
+    {
+    	newLeafNode(otherlv_8, grammarAccess.getEntityMockResourceAccess().getItemsKeyword_4());
+    }
+	otherlv_9='{' 
+    {
+    	newLeafNode(otherlv_9, grammarAccess.getEntityMockResourceAccess().getLeftCurlyBracketKeyword_5());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getEntityMockResourceAccess().getDatarowsEntityMockResourceDataRowParserRuleCall_6_0()); 
+	    }
+		lv_datarows_10_0=ruleEntityMockResourceDataRow		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getEntityMockResourceRule());
+	        }
+       		add(
+       			$current, 
+       			"datarows",
+        		lv_datarows_10_0, 
+        		"EntityMockResourceDataRow");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)*	otherlv_11='}' 
+    {
+    	newLeafNode(otherlv_11, grammarAccess.getEntityMockResourceAccess().getRightCurlyBracketKeyword_7());
+    }
+	otherlv_12='}' 
+    {
+    	newLeafNode(otherlv_12, grammarAccess.getEntityMockResourceAccess().getRightCurlyBracketKeyword_8());
+    }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleEntityMockResourceAttribute
+entryRuleEntityMockResourceAttribute returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getEntityMockResourceAttributeRule()); }
+	 iv_ruleEntityMockResourceAttribute=ruleEntityMockResourceAttribute 
+	 { $current=$iv_ruleEntityMockResourceAttribute.current; } 
+	 EOF 
+;
+
+// Rule EntityMockResourceAttribute
+ruleEntityMockResourceAttribute returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+((
+    {
+        $current = forceCreateModelElement(
+            grammarAccess.getEntityMockResourceAttributeAccess().getEntityMockResourceAttributeAction_0(),
+            $current);
+    }
+)(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getEntityMockResourceAttributeAccess().getNameQualifiedNameParserRuleCall_1_0()); 
+	    }
+		lv_name_1_0=ruleQualifiedName		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getEntityMockResourceAttributeRule());
+	        }
+       		set(
+       			$current, 
+       			"name",
+        		lv_name_1_0, 
+        		"QualifiedName");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleEntityMockResourceDataRow
+entryRuleEntityMockResourceDataRow returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getEntityMockResourceDataRowRule()); }
+	 iv_ruleEntityMockResourceDataRow=ruleEntityMockResourceDataRow 
+	 { $current=$iv_ruleEntityMockResourceDataRow.current; } 
+	 EOF 
+;
+
+// Rule EntityMockResourceDataRow
+ruleEntityMockResourceDataRow returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+((
+    {
+        $current = forceCreateModelElement(
+            grammarAccess.getEntityMockResourceDataRowAccess().getEntityMockResourceDataRowAction_0(),
+            $current);
+    }
+)(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getEntityMockResourceDataRowAccess().getNameQualifiedNameParserRuleCall_1_0()); 
+	    }
+		lv_name_1_0=ruleQualifiedName		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getEntityMockResourceDataRowRule());
+	        }
+       		set(
+       			$current, 
+       			"name",
+        		lv_name_1_0, 
+        		"QualifiedName");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)(	otherlv_2='(' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getEntityMockResourceDataRowAccess().getLeftParenthesisKeyword_2_0());
+    }
+((
+(
+		lv_values_3_0=RULE_STRING
+		{
+			newLeafNode(lv_values_3_0, grammarAccess.getEntityMockResourceDataRowAccess().getValuesSTRINGTerminalRuleCall_2_1_0_0()); 
+		}
+		{
+	        if ($current==null) {
+	            $current = createModelElement(grammarAccess.getEntityMockResourceDataRowRule());
+	        }
+       		addWithLastConsumed(
+       			$current, 
+       			"values",
+        		lv_values_3_0, 
+        		"STRING");
+	    }
+
+)
+)(	otherlv_4=',' 
+    {
+    	newLeafNode(otherlv_4, grammarAccess.getEntityMockResourceDataRowAccess().getCommaKeyword_2_1_1());
+    }
+)?)*	otherlv_5=')' 
+    {
+    	newLeafNode(otherlv_5, grammarAccess.getEntityMockResourceDataRowAccess().getRightParenthesisKeyword_2_2());
+    }
+)?)
+;
+
+
+
+
+
+// Entry rule entryRuleEntityMockObjects
+entryRuleEntityMockObjects returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getEntityMockObjectsRule()); }
+	 iv_ruleEntityMockObjects=ruleEntityMockObjects 
+	 { $current=$iv_ruleEntityMockObjects.current; } 
+	 EOF 
+;
+
+// Rule EntityMockObjects
+ruleEntityMockObjects returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+((
+    {
+        $current = forceCreateModelElement(
+            grammarAccess.getEntityMockObjectsAccess().getEntityMockObjectsAction_0(),
+            $current);
+    }
+)	otherlv_1='objects' 
+    {
+    	newLeafNode(otherlv_1, grammarAccess.getEntityMockObjectsAccess().getObjectsKeyword_1());
+    }
+	otherlv_2='{' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getEntityMockObjectsAccess().getLeftCurlyBracketKeyword_2());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getEntityMockObjectsAccess().getObjectsEntityMockObjectParserRuleCall_3_0()); 
+	    }
+		lv_objects_3_0=ruleEntityMockObject		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getEntityMockObjectsRule());
+	        }
+       		add(
+       			$current, 
+       			"objects",
+        		lv_objects_3_0, 
+        		"EntityMockObject");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)*	otherlv_4='}' 
+    {
+    	newLeafNode(otherlv_4, grammarAccess.getEntityMockObjectsAccess().getRightCurlyBracketKeyword_4());
+    }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleEntityMockObject
+entryRuleEntityMockObject returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getEntityMockObjectRule()); }
+	 iv_ruleEntityMockObject=ruleEntityMockObject 
+	 { $current=$iv_ruleEntityMockObject.current; } 
+	 EOF 
+;
+
+// Rule EntityMockObject
+ruleEntityMockObject returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(	otherlv_0='object' 
+    {
+    	newLeafNode(otherlv_0, grammarAccess.getEntityMockObjectAccess().getObjectKeyword_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getEntityMockObjectAccess().getNameQualifiedNameParserRuleCall_1_0()); 
+	    }
+		lv_name_1_0=ruleQualifiedName		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getEntityMockObjectRule());
+	        }
+       		set(
+       			$current, 
+       			"name",
+        		lv_name_1_0, 
+        		"QualifiedName");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_2='{' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getEntityMockObjectAccess().getLeftCurlyBracketKeyword_2());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getEntityMockObjectAccess().getEnumerationsEntityMockObjectEnumParserRuleCall_3_0()); 
+	    }
+		lv_enumerations_3_0=ruleEntityMockObjectEnum		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getEntityMockObjectRule());
+	        }
+       		add(
+       			$current, 
+       			"enumerations",
+        		lv_enumerations_3_0, 
+        		"EntityMockObjectEnum");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)*(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getEntityMockObjectAccess().getAttributesIEntityMockObjectAttributeParserRuleCall_4_0()); 
+	    }
+		lv_attributes_4_0=ruleIEntityMockObjectAttribute		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getEntityMockObjectRule());
+	        }
+       		add(
+       			$current, 
+       			"attributes",
+        		lv_attributes_4_0, 
+        		"IEntityMockObjectAttribute");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)*(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getEntityMockObjectAccess().getCalculationsEntityMockObjectFunctionParserRuleCall_5_0()); 
+	    }
+		lv_calculations_5_0=ruleEntityMockObjectFunction		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getEntityMockObjectRule());
+	        }
+       		add(
+       			$current, 
+       			"calculations",
+        		lv_calculations_5_0, 
+        		"EntityMockObjectFunction");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)*	otherlv_6='}' 
+    {
+    	newLeafNode(otherlv_6, grammarAccess.getEntityMockObjectAccess().getRightCurlyBracketKeyword_6());
+    }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleEntityMockObjectEnum
+entryRuleEntityMockObjectEnum returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getEntityMockObjectEnumRule()); }
+	 iv_ruleEntityMockObjectEnum=ruleEntityMockObjectEnum 
+	 { $current=$iv_ruleEntityMockObjectEnum.current; } 
+	 EOF 
+;
+
+// Rule EntityMockObjectEnum
+ruleEntityMockObjectEnum returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(	otherlv_0='var' 
+    {
+    	newLeafNode(otherlv_0, grammarAccess.getEntityMockObjectEnumAccess().getVarKeyword_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getEntityMockObjectEnumAccess().getNameQualifiedNameParserRuleCall_1_0()); 
+	    }
+		lv_name_1_0=ruleQualifiedName		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getEntityMockObjectEnumRule());
+	        }
+       		set(
+       			$current, 
+       			"name",
+        		lv_name_1_0, 
+        		"QualifiedName");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_2='by enum' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getEntityMockObjectEnumAccess().getByEnumKeyword_2());
+    }
+(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getEntityMockObjectEnumRule());
+	        }
+        }
+	otherlv_3=RULE_ID
+	{
+		newLeafNode(otherlv_3, grammarAccess.getEntityMockObjectEnumAccess().getUsingResourceLEnumCrossReference_3_0()); 
+	}
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleEntityMockDataTypes
+entryRuleEntityMockDataTypes returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getEntityMockDataTypesRule()); }
+	 iv_ruleEntityMockDataTypes=ruleEntityMockDataTypes 
+	 { $current=$iv_ruleEntityMockDataTypes.current; } 
+	 EOF 
+;
+
+// Rule EntityMockDataTypes
+ruleEntityMockDataTypes returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+((
+    {
+        $current = forceCreateModelElement(
+            grammarAccess.getEntityMockDataTypesAccess().getEntityMockDataTypesAction_0(),
+            $current);
+    }
+)	otherlv_1='datatypes' 
+    {
+    	newLeafNode(otherlv_1, grammarAccess.getEntityMockDataTypesAccess().getDatatypesKeyword_1());
+    }
+	otherlv_2='{' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getEntityMockDataTypesAccess().getLeftCurlyBracketKeyword_2());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getEntityMockDataTypesAccess().getDatatypesEntityMockDataTypeParserRuleCall_3_0()); 
+	    }
+		lv_datatypes_3_0=ruleEntityMockDataType		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getEntityMockDataTypesRule());
+	        }
+       		add(
+       			$current, 
+       			"datatypes",
+        		lv_datatypes_3_0, 
+        		"EntityMockDataType");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)*	otherlv_4='}' 
+    {
+    	newLeafNode(otherlv_4, grammarAccess.getEntityMockDataTypesAccess().getRightCurlyBracketKeyword_4());
+    }
+)
+;
+
+
+
+
+
+
+
+// Entry rule entryRuleIEntityMockObjectAttribute
+entryRuleIEntityMockObjectAttribute returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getIEntityMockObjectAttributeRule()); }
+	 iv_ruleIEntityMockObjectAttribute=ruleIEntityMockObjectAttribute 
+	 { $current=$iv_ruleIEntityMockObjectAttribute.current; } 
+	 EOF 
+;
+
+// Rule IEntityMockObjectAttribute
+ruleIEntityMockObjectAttribute returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(
+    { 
+        newCompositeNode(grammarAccess.getIEntityMockObjectAttributeAccess().getEntityMockObjectResourceValueParserRuleCall_0()); 
+    }
+    this_EntityMockObjectResourceValue_0=ruleEntityMockObjectResourceValue
+    { 
+        $current = $this_EntityMockObjectResourceValue_0.current; 
+        afterParserOrEnumRuleCall();
+    }
+
+    |
+    { 
+        newCompositeNode(grammarAccess.getIEntityMockObjectAttributeAccess().getEntityMockObjectPlainValueParserRuleCall_1()); 
+    }
+    this_EntityMockObjectPlainValue_1=ruleEntityMockObjectPlainValue
+    { 
+        $current = $this_EntityMockObjectPlainValue_1.current; 
+        afterParserOrEnumRuleCall();
+    }
+
+    |
+    { 
+        newCompositeNode(grammarAccess.getIEntityMockObjectAttributeAccess().getEntityMockObjectArrayValueParserRuleCall_2()); 
+    }
+    this_EntityMockObjectArrayValue_2=ruleEntityMockObjectArrayValue
+    { 
+        $current = $this_EntityMockObjectArrayValue_2.current; 
+        afterParserOrEnumRuleCall();
+    }
+
+    |
+    { 
+        newCompositeNode(grammarAccess.getIEntityMockObjectAttributeAccess().getEntityMockObjectEmbedParserRuleCall_3()); 
+    }
+    this_EntityMockObjectEmbed_3=ruleEntityMockObjectEmbed
+    { 
+        $current = $this_EntityMockObjectEmbed_3.current; 
+        afterParserOrEnumRuleCall();
+    }
+
+    |
+    { 
+        newCompositeNode(grammarAccess.getIEntityMockObjectAttributeAccess().getEntityMockObjectFillParserRuleCall_4()); 
+    }
+    this_EntityMockObjectFill_4=ruleEntityMockObjectFill
+    { 
+        $current = $this_EntityMockObjectFill_4.current; 
+        afterParserOrEnumRuleCall();
+    }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleEntityMockObjectPlainValue
+entryRuleEntityMockObjectPlainValue returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getEntityMockObjectPlainValueRule()); }
+	 iv_ruleEntityMockObjectPlainValue=ruleEntityMockObjectPlainValue 
+	 { $current=$iv_ruleEntityMockObjectPlainValue.current; } 
+	 EOF 
+;
+
+// Rule EntityMockObjectPlainValue
+ruleEntityMockObjectPlainValue returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(	otherlv_0='var' 
+    {
+    	newLeafNode(otherlv_0, grammarAccess.getEntityMockObjectPlainValueAccess().getVarKeyword_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getEntityMockObjectPlainValueAccess().getNameQualifiedNameParserRuleCall_1_0()); 
+	    }
+		lv_name_1_0=ruleQualifiedName		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getEntityMockObjectPlainValueRule());
+	        }
+       		set(
+       			$current, 
+       			"name",
+        		lv_name_1_0, 
+        		"QualifiedName");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_2='(' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getEntityMockObjectPlainValueAccess().getLeftParenthesisKeyword_2());
+    }
+((
+(
+		lv_values_3_0=RULE_STRING
+		{
+			newLeafNode(lv_values_3_0, grammarAccess.getEntityMockObjectPlainValueAccess().getValuesSTRINGTerminalRuleCall_3_0_0()); 
+		}
+		{
+	        if ($current==null) {
+	            $current = createModelElement(grammarAccess.getEntityMockObjectPlainValueRule());
+	        }
+       		addWithLastConsumed(
+       			$current, 
+       			"values",
+        		lv_values_3_0, 
+        		"STRING");
+	    }
+
+)
+)(	otherlv_4=',' 
+    {
+    	newLeafNode(otherlv_4, grammarAccess.getEntityMockObjectPlainValueAccess().getCommaKeyword_3_1());
+    }
+)?)*	otherlv_5=')' 
+    {
+    	newLeafNode(otherlv_5, grammarAccess.getEntityMockObjectPlainValueAccess().getRightParenthesisKeyword_4());
+    }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleEntityMockObjectResourceValue
+entryRuleEntityMockObjectResourceValue returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getEntityMockObjectResourceValueRule()); }
+	 iv_ruleEntityMockObjectResourceValue=ruleEntityMockObjectResourceValue 
+	 { $current=$iv_ruleEntityMockObjectResourceValue.current; } 
+	 EOF 
+;
+
+// Rule EntityMockObjectResourceValue
+ruleEntityMockObjectResourceValue returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(	otherlv_0='var' 
+    {
+    	newLeafNode(otherlv_0, grammarAccess.getEntityMockObjectResourceValueAccess().getVarKeyword_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getEntityMockObjectResourceValueAccess().getNameQualifiedNameParserRuleCall_1_0()); 
+	    }
+		lv_name_1_0=ruleQualifiedName		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getEntityMockObjectResourceValueRule());
+	        }
+       		set(
+       			$current, 
+       			"name",
+        		lv_name_1_0, 
+        		"QualifiedName");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_2='with' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getEntityMockObjectResourceValueAccess().getWithKeyword_2());
+    }
+(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getEntityMockObjectResourceValueRule());
+	        }
+        }
+	otherlv_3=RULE_ID
+	{
+		newLeafNode(otherlv_3, grammarAccess.getEntityMockObjectResourceValueAccess().getResourceEnumEntityMockObjectEnumCrossReference_3_0()); 
+	}
+
+)
+)(	otherlv_4='.' 
+    {
+    	newLeafNode(otherlv_4, grammarAccess.getEntityMockObjectResourceValueAccess().getFullStopKeyword_4_0());
+    }
+(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getEntityMockObjectResourceValueRule());
+	        }
+        }
+	otherlv_5=RULE_ID
+	{
+		newLeafNode(otherlv_5, grammarAccess.getEntityMockObjectResourceValueAccess().getResourceAttributeEntityMockResourceAttributeCrossReference_4_1_0()); 
+	}
+
+)
+))?)
+;
+
+
+
+
+
+// Entry rule entryRuleEntityMockObjectArrayValue
+entryRuleEntityMockObjectArrayValue returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getEntityMockObjectArrayValueRule()); }
+	 iv_ruleEntityMockObjectArrayValue=ruleEntityMockObjectArrayValue 
+	 { $current=$iv_ruleEntityMockObjectArrayValue.current; } 
+	 EOF 
+;
+
+// Rule EntityMockObjectArrayValue
+ruleEntityMockObjectArrayValue returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(	otherlv_0='var' 
+    {
+    	newLeafNode(otherlv_0, grammarAccess.getEntityMockObjectArrayValueAccess().getVarKeyword_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getEntityMockObjectArrayValueAccess().getNameQualifiedNameParserRuleCall_1_0()); 
+	    }
+		lv_name_1_0=ruleQualifiedName		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getEntityMockObjectArrayValueRule());
+	        }
+       		set(
+       			$current, 
+       			"name",
+        		lv_name_1_0, 
+        		"QualifiedName");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_2='switch on' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getEntityMockObjectArrayValueAccess().getSwitchOnKeyword_2());
+    }
+(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getEntityMockObjectArrayValueRule());
+	        }
+        }
+	otherlv_3=RULE_ID
+	{
+		newLeafNode(otherlv_3, grammarAccess.getEntityMockObjectArrayValueAccess().getEnumerationEntityMockObjectEnumCrossReference_3_0()); 
+	}
+
+)
+)	otherlv_4='{' 
+    {
+    	newLeafNode(otherlv_4, grammarAccess.getEntityMockObjectArrayValueAccess().getLeftCurlyBracketKeyword_4());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getEntityMockObjectArrayValueAccess().getItemsEntityMockObjectItemValueParserRuleCall_5_0()); 
+	    }
+		lv_items_5_0=ruleEntityMockObjectItemValue		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getEntityMockObjectArrayValueRule());
+	        }
+       		add(
+       			$current, 
+       			"items",
+        		lv_items_5_0, 
+        		"EntityMockObjectItemValue");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)*	otherlv_6='}' 
+    {
+    	newLeafNode(otherlv_6, grammarAccess.getEntityMockObjectArrayValueAccess().getRightCurlyBracketKeyword_6());
+    }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleEntityMockObjectItemValue
+entryRuleEntityMockObjectItemValue returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getEntityMockObjectItemValueRule()); }
+	 iv_ruleEntityMockObjectItemValue=ruleEntityMockObjectItemValue 
+	 { $current=$iv_ruleEntityMockObjectItemValue.current; } 
+	 EOF 
+;
+
+// Rule EntityMockObjectItemValue
+ruleEntityMockObjectItemValue returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(	otherlv_0='when' 
+    {
+    	newLeafNode(otherlv_0, grammarAccess.getEntityMockObjectItemValueAccess().getWhenKeyword_0());
+    }
+(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getEntityMockObjectItemValueRule());
+	        }
+        }
+	otherlv_1=RULE_ID
+	{
+		newLeafNode(otherlv_1, grammarAccess.getEntityMockObjectItemValueAccess().getDatarowLEnumLiteralCrossReference_1_0()); 
+	}
+
+)
+)	otherlv_2='(' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getEntityMockObjectItemValueAccess().getLeftParenthesisKeyword_2());
+    }
+((
+(
+		lv_values_3_0=RULE_STRING
+		{
+			newLeafNode(lv_values_3_0, grammarAccess.getEntityMockObjectItemValueAccess().getValuesSTRINGTerminalRuleCall_3_0_0()); 
+		}
+		{
+	        if ($current==null) {
+	            $current = createModelElement(grammarAccess.getEntityMockObjectItemValueRule());
+	        }
+       		addWithLastConsumed(
+       			$current, 
+       			"values",
+        		lv_values_3_0, 
+        		"STRING");
+	    }
+
+)
+)(	otherlv_4=',' 
+    {
+    	newLeafNode(otherlv_4, grammarAccess.getEntityMockObjectItemValueAccess().getCommaKeyword_3_1());
+    }
+)?)*	otherlv_5=')' 
+    {
+    	newLeafNode(otherlv_5, grammarAccess.getEntityMockObjectItemValueAccess().getRightParenthesisKeyword_4());
+    }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleEntityMockObjectEmbed
+entryRuleEntityMockObjectEmbed returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getEntityMockObjectEmbedRule()); }
+	 iv_ruleEntityMockObjectEmbed=ruleEntityMockObjectEmbed 
+	 { $current=$iv_ruleEntityMockObjectEmbed.current; } 
+	 EOF 
+;
+
+// Rule EntityMockObjectEmbed
+ruleEntityMockObjectEmbed returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+((
+    {
+        $current = forceCreateModelElement(
+            grammarAccess.getEntityMockObjectEmbedAccess().getEntityMockObjectEmbedAction_0(),
+            $current);
+    }
+)	otherlv_1='embed' 
+    {
+    	newLeafNode(otherlv_1, grammarAccess.getEntityMockObjectEmbedAccess().getEmbedKeyword_1());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getEntityMockObjectEmbedAccess().getNameQualifiedNameParserRuleCall_2_0()); 
+	    }
+		lv_name_2_0=ruleQualifiedName		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getEntityMockObjectEmbedRule());
+	        }
+       		set(
+       			$current, 
+       			"name",
+        		lv_name_2_0, 
+        		"QualifiedName");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_3='defined as' 
+    {
+    	newLeafNode(otherlv_3, grammarAccess.getEntityMockObjectEmbedAccess().getDefinedAsKeyword_3());
+    }
+(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getEntityMockObjectEmbedRule());
+	        }
+        }
+	otherlv_4=RULE_ID
+	{
+		newLeafNode(otherlv_4, grammarAccess.getEntityMockObjectEmbedAccess().getObjectEntityMockObjectCrossReference_4_0()); 
+	}
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleEntityMockObjectFunction
+entryRuleEntityMockObjectFunction returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getEntityMockObjectFunctionRule()); }
+	 iv_ruleEntityMockObjectFunction=ruleEntityMockObjectFunction 
+	 { $current=$iv_ruleEntityMockObjectFunction.current; } 
+	 EOF 
+;
+
+// Rule EntityMockObjectFunction
+ruleEntityMockObjectFunction returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(	otherlv_0='var' 
+    {
+    	newLeafNode(otherlv_0, grammarAccess.getEntityMockObjectFunctionAccess().getVarKeyword_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getEntityMockObjectFunctionAccess().getNameQualifiedNameParserRuleCall_1_0()); 
+	    }
+		lv_name_1_0=ruleQualifiedName		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getEntityMockObjectFunctionRule());
+	        }
+       		set(
+       			$current, 
+       			"name",
+        		lv_name_1_0, 
+        		"QualifiedName");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_2='calculate as' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getEntityMockObjectFunctionAccess().getCalculateAsKeyword_2());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getEntityMockObjectFunctionAccess().getOftypeJvmParameterizedTypeReferenceParserRuleCall_3_0()); 
+	    }
+		lv_oftype_3_0=ruleJvmParameterizedTypeReference		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getEntityMockObjectFunctionRule());
+	        }
+       		set(
+       			$current, 
+       			"oftype",
+        		lv_oftype_3_0, 
+        		"JvmParameterizedTypeReference");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_4='based on' 
+    {
+    	newLeafNode(otherlv_4, grammarAccess.getEntityMockObjectFunctionAccess().getBasedOnKeyword_4());
+    }
+	otherlv_5='(' 
+    {
+    	newLeafNode(otherlv_5, grammarAccess.getEntityMockObjectFunctionAccess().getLeftParenthesisKeyword_5());
+    }
+((
+(
+		{ 
+	        newCompositeNode(grammarAccess.getEntityMockObjectFunctionAccess().getParamsEntityMockObjectFunctionParameterParserRuleCall_6_0_0()); 
+	    }
+		lv_params_6_0=ruleEntityMockObjectFunctionParameter		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getEntityMockObjectFunctionRule());
+	        }
+       		add(
+       			$current, 
+       			"params",
+        		lv_params_6_0, 
+        		"EntityMockObjectFunctionParameter");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)(	otherlv_7=',' 
+    {
+    	newLeafNode(otherlv_7, grammarAccess.getEntityMockObjectFunctionAccess().getCommaKeyword_6_1_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getEntityMockObjectFunctionAccess().getParamsEntityMockObjectFunctionParameterParserRuleCall_6_1_1_0()); 
+	    }
+		lv_params_8_0=ruleEntityMockObjectFunctionParameter		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getEntityMockObjectFunctionRule());
+	        }
+       		add(
+       			$current, 
+       			"params",
+        		lv_params_8_0, 
+        		"EntityMockObjectFunctionParameter");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))*)?	otherlv_9=')' 
+    {
+    	newLeafNode(otherlv_9, grammarAccess.getEntityMockObjectFunctionAccess().getRightParenthesisKeyword_7());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getEntityMockObjectFunctionAccess().getBodyXBlockExpressionParserRuleCall_8_0()); 
+	    }
+		lv_body_10_0=ruleXBlockExpression		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getEntityMockObjectFunctionRule());
+	        }
+       		set(
+       			$current, 
+       			"body",
+        		lv_body_10_0, 
+        		"XBlockExpression");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleEntityMockObjectFunctionParameter
+entryRuleEntityMockObjectFunctionParameter returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getEntityMockObjectFunctionParameterRule()); }
+	 iv_ruleEntityMockObjectFunctionParameter=ruleEntityMockObjectFunctionParameter 
+	 { $current=$iv_ruleEntityMockObjectFunctionParameter.current; } 
+	 EOF 
+;
+
+// Rule EntityMockObjectFunctionParameter
+ruleEntityMockObjectFunctionParameter returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+((
+(
+		{ 
+	        newCompositeNode(grammarAccess.getEntityMockObjectFunctionParameterAccess().getParameterTypeJvmTypeReferenceParserRuleCall_0_0()); 
+	    }
+		lv_parameterType_0_0=ruleJvmTypeReference		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getEntityMockObjectFunctionParameterRule());
+	        }
+       		set(
+       			$current, 
+       			"parameterType",
+        		lv_parameterType_0_0, 
+        		"JvmTypeReference");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getEntityMockObjectFunctionParameterRule());
+	        }
+        }
+	otherlv_1=RULE_ID
+	{
+		newLeafNode(otherlv_1, grammarAccess.getEntityMockObjectFunctionParameterAccess().getNameIEntityMockObjectUsableCrossReference_1_0()); 
+	}
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleEntityMockObjectFill
+entryRuleEntityMockObjectFill returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getEntityMockObjectFillRule()); }
+	 iv_ruleEntityMockObjectFill=ruleEntityMockObjectFill 
+	 { $current=$iv_ruleEntityMockObjectFill.current; } 
+	 EOF 
+;
+
+// Rule EntityMockObjectFill
+ruleEntityMockObjectFill returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(	otherlv_0='var' 
+    {
+    	newLeafNode(otherlv_0, grammarAccess.getEntityMockObjectFillAccess().getVarKeyword_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getEntityMockObjectFillAccess().getNameQualifiedNameParserRuleCall_1_0()); 
+	    }
+		lv_name_1_0=ruleQualifiedName		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getEntityMockObjectFillRule());
+	        }
+       		set(
+       			$current, 
+       			"name",
+        		lv_name_1_0, 
+        		"QualifiedName");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_2='randomize' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getEntityMockObjectFillAccess().getRandomizeKeyword_2());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getEntityMockObjectFillAccess().getFillerTypePropertyFillerTypeParserRuleCall_3_0()); 
+	    }
+		lv_fillerType_3_0=rulePropertyFillerType		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getEntityMockObjectFillRule());
+	        }
+       		set(
+       			$current, 
+       			"fillerType",
+        		lv_fillerType_3_0, 
+        		"PropertyFillerType");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRulePropertyFillerType
+entryRulePropertyFillerType returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getPropertyFillerTypeRule()); }
+	 iv_rulePropertyFillerType=rulePropertyFillerType 
+	 { $current=$iv_rulePropertyFillerType.current; } 
+	 EOF 
+;
+
+// Rule PropertyFillerType
+rulePropertyFillerType returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(
+    { 
+        newCompositeNode(grammarAccess.getPropertyFillerTypeAccess().getPropertyFillerDateFutureParserRuleCall_0()); 
+    }
+    this_PropertyFillerDateFuture_0=rulePropertyFillerDateFuture
+    { 
+        $current = $this_PropertyFillerDateFuture_0.current; 
+        afterParserOrEnumRuleCall();
+    }
+
+    |
+    { 
+        newCompositeNode(grammarAccess.getPropertyFillerTypeAccess().getPropertyFillerDatePastParserRuleCall_1()); 
+    }
+    this_PropertyFillerDatePast_1=rulePropertyFillerDatePast
+    { 
+        $current = $this_PropertyFillerDatePast_1.current; 
+        afterParserOrEnumRuleCall();
+    }
+
+    |
+    { 
+        newCompositeNode(grammarAccess.getPropertyFillerTypeAccess().getPropertyFillerDateRangeParserRuleCall_2()); 
+    }
+    this_PropertyFillerDateRange_2=rulePropertyFillerDateRange
+    { 
+        $current = $this_PropertyFillerDateRange_2.current; 
+        afterParserOrEnumRuleCall();
+    }
+
+    |
+    { 
+        newCompositeNode(grammarAccess.getPropertyFillerTypeAccess().getPropertyFillerBooleanParserRuleCall_3()); 
+    }
+    this_PropertyFillerBoolean_3=rulePropertyFillerBoolean
+    { 
+        $current = $this_PropertyFillerBoolean_3.current; 
+        afterParserOrEnumRuleCall();
+    }
+
+    |
+    { 
+        newCompositeNode(grammarAccess.getPropertyFillerTypeAccess().getPropertyFillerSignedDoubleRangeParserRuleCall_4()); 
+    }
+    this_PropertyFillerSignedDoubleRange_4=rulePropertyFillerSignedDoubleRange
+    { 
+        $current = $this_PropertyFillerSignedDoubleRange_4.current; 
+        afterParserOrEnumRuleCall();
+    }
+
+    |
+    { 
+        newCompositeNode(grammarAccess.getPropertyFillerTypeAccess().getPropertyFillerSignedDoubleRandomParserRuleCall_5()); 
+    }
+    this_PropertyFillerSignedDoubleRandom_5=rulePropertyFillerSignedDoubleRandom
+    { 
+        $current = $this_PropertyFillerSignedDoubleRandom_5.current; 
+        afterParserOrEnumRuleCall();
+    }
+
+    |
+    { 
+        newCompositeNode(grammarAccess.getPropertyFillerTypeAccess().getPropertyFillerSignedIntegerRangeParserRuleCall_6()); 
+    }
+    this_PropertyFillerSignedIntegerRange_6=rulePropertyFillerSignedIntegerRange
+    { 
+        $current = $this_PropertyFillerSignedIntegerRange_6.current; 
+        afterParserOrEnumRuleCall();
+    }
+
+    |
+    { 
+        newCompositeNode(grammarAccess.getPropertyFillerTypeAccess().getPropertyFillerSignedIntegerRandomParserRuleCall_7()); 
+    }
+    this_PropertyFillerSignedIntegerRandom_7=rulePropertyFillerSignedIntegerRandom
+    { 
+        $current = $this_PropertyFillerSignedIntegerRandom_7.current; 
+        afterParserOrEnumRuleCall();
+    }
+
+    |
+    { 
+        newCompositeNode(grammarAccess.getPropertyFillerTypeAccess().getPropertyFillerTextRandomParserRuleCall_8()); 
+    }
+    this_PropertyFillerTextRandom_8=rulePropertyFillerTextRandom
+    { 
+        $current = $this_PropertyFillerTextRandom_8.current; 
+        afterParserOrEnumRuleCall();
+    }
+
+    |
+    { 
+        newCompositeNode(grammarAccess.getPropertyFillerTypeAccess().getPropertyFillerTextParagraphsParserRuleCall_9()); 
+    }
+    this_PropertyFillerTextParagraphs_9=rulePropertyFillerTextParagraphs
+    { 
+        $current = $this_PropertyFillerTextParagraphs_9.current; 
+        afterParserOrEnumRuleCall();
+    }
+
+    |
+    { 
+        newCompositeNode(grammarAccess.getPropertyFillerTypeAccess().getPropertyFillerTextSentencesParserRuleCall_10()); 
+    }
+    this_PropertyFillerTextSentences_10=rulePropertyFillerTextSentences
+    { 
+        $current = $this_PropertyFillerTextSentences_10.current; 
+        afterParserOrEnumRuleCall();
+    }
+
+    |
+    { 
+        newCompositeNode(grammarAccess.getPropertyFillerTypeAccess().getPropertyFillerTextWordsParserRuleCall_11()); 
+    }
+    this_PropertyFillerTextWords_11=rulePropertyFillerTextWords
+    { 
+        $current = $this_PropertyFillerTextWords_11.current; 
+        afterParserOrEnumRuleCall();
+    }
+
+    |
+    { 
+        newCompositeNode(grammarAccess.getPropertyFillerTypeAccess().getPropertyFillerUnsignedDoubleRangeParserRuleCall_12()); 
+    }
+    this_PropertyFillerUnsignedDoubleRange_12=rulePropertyFillerUnsignedDoubleRange
+    { 
+        $current = $this_PropertyFillerUnsignedDoubleRange_12.current; 
+        afterParserOrEnumRuleCall();
+    }
+
+    |
+    { 
+        newCompositeNode(grammarAccess.getPropertyFillerTypeAccess().getPropertyFillerUnsignedDoubleRandomParserRuleCall_13()); 
+    }
+    this_PropertyFillerUnsignedDoubleRandom_13=rulePropertyFillerUnsignedDoubleRandom
+    { 
+        $current = $this_PropertyFillerUnsignedDoubleRandom_13.current; 
+        afterParserOrEnumRuleCall();
+    }
+
+    |
+    { 
+        newCompositeNode(grammarAccess.getPropertyFillerTypeAccess().getPropertyFillerUnsignedIntegerRangeParserRuleCall_14()); 
+    }
+    this_PropertyFillerUnsignedIntegerRange_14=rulePropertyFillerUnsignedIntegerRange
+    { 
+        $current = $this_PropertyFillerUnsignedIntegerRange_14.current; 
+        afterParserOrEnumRuleCall();
+    }
+
+    |
+    { 
+        newCompositeNode(grammarAccess.getPropertyFillerTypeAccess().getPropertyFillerUnsignedIntegerRandomParserRuleCall_15()); 
+    }
+    this_PropertyFillerUnsignedIntegerRandom_15=rulePropertyFillerUnsignedIntegerRandom
+    { 
+        $current = $this_PropertyFillerUnsignedIntegerRandom_15.current; 
+        afterParserOrEnumRuleCall();
+    }
+)
+;
+
+
+
+
+
+// Entry rule entryRulePropertyFillerDateFuture
+entryRulePropertyFillerDateFuture returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getPropertyFillerDateFutureRule()); }
+	 iv_rulePropertyFillerDateFuture=rulePropertyFillerDateFuture 
+	 { $current=$iv_rulePropertyFillerDateFuture.current; } 
+	 EOF 
+;
+
+// Rule PropertyFillerDateFuture
+rulePropertyFillerDateFuture returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(	otherlv_0='future date' 
+    {
+    	newLeafNode(otherlv_0, grammarAccess.getPropertyFillerDateFutureAccess().getFutureDateKeyword_0());
+    }
+(
+(
+		lv_dateFutureYears_1_0=RULE_INT
+		{
+			newLeafNode(lv_dateFutureYears_1_0, grammarAccess.getPropertyFillerDateFutureAccess().getDateFutureYearsINTTerminalRuleCall_1_0()); 
+		}
+		{
+	        if ($current==null) {
+	            $current = createModelElement(grammarAccess.getPropertyFillerDateFutureRule());
+	        }
+       		setWithLastConsumed(
+       			$current, 
+       			"dateFutureYears",
+        		lv_dateFutureYears_1_0, 
+        		"INT");
+	    }
+
+)
+)	otherlv_2='years' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getPropertyFillerDateFutureAccess().getYearsKeyword_2());
+    }
+)
+;
+
+
+
+
+
+// Entry rule entryRulePropertyFillerDatePast
+entryRulePropertyFillerDatePast returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getPropertyFillerDatePastRule()); }
+	 iv_rulePropertyFillerDatePast=rulePropertyFillerDatePast 
+	 { $current=$iv_rulePropertyFillerDatePast.current; } 
+	 EOF 
+;
+
+// Rule PropertyFillerDatePast
+rulePropertyFillerDatePast returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(	otherlv_0='past date' 
+    {
+    	newLeafNode(otherlv_0, grammarAccess.getPropertyFillerDatePastAccess().getPastDateKeyword_0());
+    }
+(
+(
+		lv_datePastYears_1_0=RULE_INT
+		{
+			newLeafNode(lv_datePastYears_1_0, grammarAccess.getPropertyFillerDatePastAccess().getDatePastYearsINTTerminalRuleCall_1_0()); 
+		}
+		{
+	        if ($current==null) {
+	            $current = createModelElement(grammarAccess.getPropertyFillerDatePastRule());
+	        }
+       		setWithLastConsumed(
+       			$current, 
+       			"datePastYears",
+        		lv_datePastYears_1_0, 
+        		"INT");
+	    }
+
+)
+)	otherlv_2='years' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getPropertyFillerDatePastAccess().getYearsKeyword_2());
+    }
+)
+;
+
+
+
+
+
+// Entry rule entryRulePropertyFillerBoolean
+entryRulePropertyFillerBoolean returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getPropertyFillerBooleanRule()); }
+	 iv_rulePropertyFillerBoolean=rulePropertyFillerBoolean 
+	 { $current=$iv_rulePropertyFillerBoolean.current; } 
+	 EOF 
+;
+
+// Rule PropertyFillerBoolean
+rulePropertyFillerBoolean returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+((
+    {
+        $current = forceCreateModelElement(
+            grammarAccess.getPropertyFillerBooleanAccess().getPropertyFillerBooleanAction_0(),
+            $current);
+    }
+)	otherlv_1='boolean' 
+    {
+    	newLeafNode(otherlv_1, grammarAccess.getPropertyFillerBooleanAccess().getBooleanKeyword_1());
+    }
+)
+;
+
+
+
+
+
+// Entry rule entryRulePropertyFillerDateRange
+entryRulePropertyFillerDateRange returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getPropertyFillerDateRangeRule()); }
+	 iv_rulePropertyFillerDateRange=rulePropertyFillerDateRange 
+	 { $current=$iv_rulePropertyFillerDateRange.current; } 
+	 EOF 
+;
+
+// Rule PropertyFillerDateRange
+rulePropertyFillerDateRange returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(	otherlv_0='date in range' 
+    {
+    	newLeafNode(otherlv_0, grammarAccess.getPropertyFillerDateRangeAccess().getDateInRangeKeyword_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getPropertyFillerDateRangeAccess().getDateBeginYearsSINTParserRuleCall_1_0()); 
+	    }
+		lv_dateBeginYears_1_0=ruleSINT		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getPropertyFillerDateRangeRule());
+	        }
+       		set(
+       			$current, 
+       			"dateBeginYears",
+        		lv_dateBeginYears_1_0, 
+        		"SINT");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_2='up to and including' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getPropertyFillerDateRangeAccess().getUpToAndIncludingKeyword_2());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getPropertyFillerDateRangeAccess().getDateEndYearsSINTParserRuleCall_3_0()); 
+	    }
+		lv_dateEndYears_3_0=ruleSINT		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getPropertyFillerDateRangeRule());
+	        }
+       		set(
+       			$current, 
+       			"dateEndYears",
+        		lv_dateEndYears_3_0, 
+        		"SINT");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_4='years' 
+    {
+    	newLeafNode(otherlv_4, grammarAccess.getPropertyFillerDateRangeAccess().getYearsKeyword_4());
+    }
+)
+;
+
+
+
+
+
+// Entry rule entryRulePropertyFillerSignedDoubleRange
+entryRulePropertyFillerSignedDoubleRange returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getPropertyFillerSignedDoubleRangeRule()); }
+	 iv_rulePropertyFillerSignedDoubleRange=rulePropertyFillerSignedDoubleRange 
+	 { $current=$iv_rulePropertyFillerSignedDoubleRange.current; } 
+	 EOF 
+;
+
+// Rule PropertyFillerSignedDoubleRange
+rulePropertyFillerSignedDoubleRange returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(	otherlv_0='signed double in range' 
+    {
+    	newLeafNode(otherlv_0, grammarAccess.getPropertyFillerSignedDoubleRangeAccess().getSignedDoubleInRangeKeyword_0());
+    }
+(((
+(
+		{ 
+	        newCompositeNode(grammarAccess.getPropertyFillerSignedDoubleRangeAccess().getBeginRangeSignedNumberParserRuleCall_1_0_0_0()); 
+	    }
+		lv_beginRange_1_0=ruleSignedNumber		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getPropertyFillerSignedDoubleRangeRule());
+	        }
+       		set(
+       			$current, 
+       			"beginRange",
+        		lv_beginRange_1_0, 
+        		"SignedNumber");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)
+    |(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getPropertyFillerSignedDoubleRangeRule());
+	        }
+        }
+	otherlv_2=RULE_ID
+	{
+		newLeafNode(otherlv_2, grammarAccess.getPropertyFillerSignedDoubleRangeAccess().getBeginRangeRefLEntityAttributeCrossReference_1_0_1_0()); 
+	}
+
+)
+))?	otherlv_3='up to and including' 
+    {
+    	newLeafNode(otherlv_3, grammarAccess.getPropertyFillerSignedDoubleRangeAccess().getUpToAndIncludingKeyword_1_1());
+    }
+((
+(
+		{ 
+	        newCompositeNode(grammarAccess.getPropertyFillerSignedDoubleRangeAccess().getEndRangeSignedNumberParserRuleCall_1_2_0_0()); 
+	    }
+		lv_endRange_4_0=ruleSignedNumber		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getPropertyFillerSignedDoubleRangeRule());
+	        }
+       		set(
+       			$current, 
+       			"endRange",
+        		lv_endRange_4_0, 
+        		"SignedNumber");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)
+    |(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getPropertyFillerSignedDoubleRangeRule());
+	        }
+        }
+	otherlv_5=RULE_ID
+	{
+		newLeafNode(otherlv_5, grammarAccess.getPropertyFillerSignedDoubleRangeAccess().getEndRangeRefLEntityAttributeCrossReference_1_2_1_0()); 
+	}
+
+)
+)))?	otherlv_6='with' 
+    {
+    	newLeafNode(otherlv_6, grammarAccess.getPropertyFillerSignedDoubleRangeAccess().getWithKeyword_2());
+    }
+(
+(
+		lv_decimals_7_0=RULE_INT
+		{
+			newLeafNode(lv_decimals_7_0, grammarAccess.getPropertyFillerSignedDoubleRangeAccess().getDecimalsINTTerminalRuleCall_3_0()); 
+		}
+		{
+	        if ($current==null) {
+	            $current = createModelElement(grammarAccess.getPropertyFillerSignedDoubleRangeRule());
+	        }
+       		setWithLastConsumed(
+       			$current, 
+       			"decimals",
+        		lv_decimals_7_0, 
+        		"INT");
+	    }
+
+)
+)	otherlv_8='decimals' 
+    {
+    	newLeafNode(otherlv_8, grammarAccess.getPropertyFillerSignedDoubleRangeAccess().getDecimalsKeyword_4());
+    }
+(	otherlv_9='round to' 
+    {
+    	newLeafNode(otherlv_9, grammarAccess.getPropertyFillerSignedDoubleRangeAccess().getRoundToKeyword_5_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getPropertyFillerSignedDoubleRangeAccess().getRoundedUnsignedNumberParserRuleCall_5_1_0()); 
+	    }
+		lv_rounded_10_0=ruleUnsignedNumber		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getPropertyFillerSignedDoubleRangeRule());
+	        }
+       		set(
+       			$current, 
+       			"rounded",
+        		lv_rounded_10_0, 
+        		"UnsignedNumber");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))?)
+;
+
+
+
+
+
+// Entry rule entryRulePropertyFillerSignedDoubleRandom
+entryRulePropertyFillerSignedDoubleRandom returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getPropertyFillerSignedDoubleRandomRule()); }
+	 iv_rulePropertyFillerSignedDoubleRandom=rulePropertyFillerSignedDoubleRandom 
+	 { $current=$iv_rulePropertyFillerSignedDoubleRandom.current; } 
+	 EOF 
+;
+
+// Rule PropertyFillerSignedDoubleRandom
+rulePropertyFillerSignedDoubleRandom returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(	otherlv_0='signed double from' 
+    {
+    	newLeafNode(otherlv_0, grammarAccess.getPropertyFillerSignedDoubleRandomAccess().getSignedDoubleFromKeyword_0());
+    }
+	otherlv_1='(' 
+    {
+    	newLeafNode(otherlv_1, grammarAccess.getPropertyFillerSignedDoubleRandomAccess().getLeftParenthesisKeyword_1());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getPropertyFillerSignedDoubleRandomAccess().getItemsSignedNumberParserRuleCall_2_0()); 
+	    }
+		lv_items_2_0=ruleSignedNumber		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getPropertyFillerSignedDoubleRandomRule());
+	        }
+       		add(
+       			$current, 
+       			"items",
+        		lv_items_2_0, 
+        		"SignedNumber");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)+	otherlv_3=')' 
+    {
+    	newLeafNode(otherlv_3, grammarAccess.getPropertyFillerSignedDoubleRandomAccess().getRightParenthesisKeyword_3());
+    }
+)
+;
+
+
+
+
+
+// Entry rule entryRulePropertyFillerSignedIntegerRange
+entryRulePropertyFillerSignedIntegerRange returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getPropertyFillerSignedIntegerRangeRule()); }
+	 iv_rulePropertyFillerSignedIntegerRange=rulePropertyFillerSignedIntegerRange 
+	 { $current=$iv_rulePropertyFillerSignedIntegerRange.current; } 
+	 EOF 
+;
+
+// Rule PropertyFillerSignedIntegerRange
+rulePropertyFillerSignedIntegerRange returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+((
+    {
+        $current = forceCreateModelElement(
+            grammarAccess.getPropertyFillerSignedIntegerRangeAccess().getPropertyFillerSignedIntegerRangeAction_0(),
+            $current);
+    }
+)	otherlv_1='signed integer in range' 
+    {
+    	newLeafNode(otherlv_1, grammarAccess.getPropertyFillerSignedIntegerRangeAccess().getSignedIntegerInRangeKeyword_1());
+    }
+(((
+(
+		{ 
+	        newCompositeNode(grammarAccess.getPropertyFillerSignedIntegerRangeAccess().getBeginRangeSINTParserRuleCall_2_0_0_0()); 
+	    }
+		lv_beginRange_2_0=ruleSINT		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getPropertyFillerSignedIntegerRangeRule());
+	        }
+       		set(
+       			$current, 
+       			"beginRange",
+        		lv_beginRange_2_0, 
+        		"SINT");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)
+    |(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getPropertyFillerSignedIntegerRangeRule());
+	        }
+        }
+	otherlv_3=RULE_ID
+	{
+		newLeafNode(otherlv_3, grammarAccess.getPropertyFillerSignedIntegerRangeAccess().getBeginRangeRefLEntityAttributeCrossReference_2_0_1_0()); 
+	}
+
+)
+))?	otherlv_4='up to and including' 
+    {
+    	newLeafNode(otherlv_4, grammarAccess.getPropertyFillerSignedIntegerRangeAccess().getUpToAndIncludingKeyword_2_1());
+    }
+((
+(
+		{ 
+	        newCompositeNode(grammarAccess.getPropertyFillerSignedIntegerRangeAccess().getEndRangeSINTParserRuleCall_2_2_0_0()); 
+	    }
+		lv_endRange_5_0=ruleSINT		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getPropertyFillerSignedIntegerRangeRule());
+	        }
+       		set(
+       			$current, 
+       			"endRange",
+        		lv_endRange_5_0, 
+        		"SINT");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)
+    |(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getPropertyFillerSignedIntegerRangeRule());
+	        }
+        }
+	otherlv_6=RULE_ID
+	{
+		newLeafNode(otherlv_6, grammarAccess.getPropertyFillerSignedIntegerRangeAccess().getEndRangeRefLEntityAttributeCrossReference_2_2_1_0()); 
+	}
+
+)
+)))?(	otherlv_7='round to' 
+    {
+    	newLeafNode(otherlv_7, grammarAccess.getPropertyFillerSignedIntegerRangeAccess().getRoundToKeyword_3_0());
+    }
+(
+(
+		lv_rounded_8_0=RULE_INT
+		{
+			newLeafNode(lv_rounded_8_0, grammarAccess.getPropertyFillerSignedIntegerRangeAccess().getRoundedINTTerminalRuleCall_3_1_0()); 
+		}
+		{
+	        if ($current==null) {
+	            $current = createModelElement(grammarAccess.getPropertyFillerSignedIntegerRangeRule());
+	        }
+       		setWithLastConsumed(
+       			$current, 
+       			"rounded",
+        		lv_rounded_8_0, 
+        		"INT");
+	    }
+
+)
+))?)
+;
+
+
+
+
+
+// Entry rule entryRulePropertyFillerSignedIntegerRandom
+entryRulePropertyFillerSignedIntegerRandom returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getPropertyFillerSignedIntegerRandomRule()); }
+	 iv_rulePropertyFillerSignedIntegerRandom=rulePropertyFillerSignedIntegerRandom 
+	 { $current=$iv_rulePropertyFillerSignedIntegerRandom.current; } 
+	 EOF 
+;
+
+// Rule PropertyFillerSignedIntegerRandom
+rulePropertyFillerSignedIntegerRandom returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(	otherlv_0='signed integer from' 
+    {
+    	newLeafNode(otherlv_0, grammarAccess.getPropertyFillerSignedIntegerRandomAccess().getSignedIntegerFromKeyword_0());
+    }
+	otherlv_1='(' 
+    {
+    	newLeafNode(otherlv_1, grammarAccess.getPropertyFillerSignedIntegerRandomAccess().getLeftParenthesisKeyword_1());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getPropertyFillerSignedIntegerRandomAccess().getItemsSINTParserRuleCall_2_0()); 
+	    }
+		lv_items_2_0=ruleSINT		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getPropertyFillerSignedIntegerRandomRule());
+	        }
+       		add(
+       			$current, 
+       			"items",
+        		lv_items_2_0, 
+        		"SINT");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)+	otherlv_3=')' 
+    {
+    	newLeafNode(otherlv_3, grammarAccess.getPropertyFillerSignedIntegerRandomAccess().getRightParenthesisKeyword_3());
+    }
+)
+;
+
+
+
+
+
+// Entry rule entryRulePropertyFillerTextRandom
+entryRulePropertyFillerTextRandom returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getPropertyFillerTextRandomRule()); }
+	 iv_rulePropertyFillerTextRandom=rulePropertyFillerTextRandom 
+	 { $current=$iv_rulePropertyFillerTextRandom.current; } 
+	 EOF 
+;
+
+// Rule PropertyFillerTextRandom
+rulePropertyFillerTextRandom returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(	otherlv_0='text from' 
+    {
+    	newLeafNode(otherlv_0, grammarAccess.getPropertyFillerTextRandomAccess().getTextFromKeyword_0());
+    }
+	otherlv_1='(' 
+    {
+    	newLeafNode(otherlv_1, grammarAccess.getPropertyFillerTextRandomAccess().getLeftParenthesisKeyword_1());
+    }
+(
+(
+		lv_items_2_0=RULE_STRING
+		{
+			newLeafNode(lv_items_2_0, grammarAccess.getPropertyFillerTextRandomAccess().getItemsSTRINGTerminalRuleCall_2_0()); 
+		}
+		{
+	        if ($current==null) {
+	            $current = createModelElement(grammarAccess.getPropertyFillerTextRandomRule());
+	        }
+       		addWithLastConsumed(
+       			$current, 
+       			"items",
+        		lv_items_2_0, 
+        		"STRING");
+	    }
+
+)
+)+	otherlv_3=')' 
+    {
+    	newLeafNode(otherlv_3, grammarAccess.getPropertyFillerTextRandomAccess().getRightParenthesisKeyword_3());
+    }
+)
+;
+
+
+
+
+
+// Entry rule entryRulePropertyFillerTextParagraphs
+entryRulePropertyFillerTextParagraphs returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getPropertyFillerTextParagraphsRule()); }
+	 iv_rulePropertyFillerTextParagraphs=rulePropertyFillerTextParagraphs 
+	 { $current=$iv_rulePropertyFillerTextParagraphs.current; } 
+	 EOF 
+;
+
+// Rule PropertyFillerTextParagraphs
+rulePropertyFillerTextParagraphs returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+((
+    {
+        $current = forceCreateModelElement(
+            grammarAccess.getPropertyFillerTextParagraphsAccess().getPropertyFillerTextParagraphsAction_0(),
+            $current);
+    }
+)	otherlv_1='paragraps' 
+    {
+    	newLeafNode(otherlv_1, grammarAccess.getPropertyFillerTextParagraphsAccess().getParagrapsKeyword_1());
+    }
+(
+(
+		lv_count_2_0=RULE_INT
+		{
+			newLeafNode(lv_count_2_0, grammarAccess.getPropertyFillerTextParagraphsAccess().getCountINTTerminalRuleCall_2_0()); 
+		}
+		{
+	        if ($current==null) {
+	            $current = createModelElement(grammarAccess.getPropertyFillerTextParagraphsRule());
+	        }
+       		setWithLastConsumed(
+       			$current, 
+       			"count",
+        		lv_count_2_0, 
+        		"INT");
+	    }
+
+)
+)?)
+;
+
+
+
+
+
+// Entry rule entryRulePropertyFillerTextSentences
+entryRulePropertyFillerTextSentences returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getPropertyFillerTextSentencesRule()); }
+	 iv_rulePropertyFillerTextSentences=rulePropertyFillerTextSentences 
+	 { $current=$iv_rulePropertyFillerTextSentences.current; } 
+	 EOF 
+;
+
+// Rule PropertyFillerTextSentences
+rulePropertyFillerTextSentences returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+((
+    {
+        $current = forceCreateModelElement(
+            grammarAccess.getPropertyFillerTextSentencesAccess().getPropertyFillerTextSentencesAction_0(),
+            $current);
+    }
+)	otherlv_1='sentences' 
+    {
+    	newLeafNode(otherlv_1, grammarAccess.getPropertyFillerTextSentencesAccess().getSentencesKeyword_1());
+    }
+(
+(
+		lv_count_2_0=RULE_INT
+		{
+			newLeafNode(lv_count_2_0, grammarAccess.getPropertyFillerTextSentencesAccess().getCountINTTerminalRuleCall_2_0()); 
+		}
+		{
+	        if ($current==null) {
+	            $current = createModelElement(grammarAccess.getPropertyFillerTextSentencesRule());
+	        }
+       		setWithLastConsumed(
+       			$current, 
+       			"count",
+        		lv_count_2_0, 
+        		"INT");
+	    }
+
+)
+)?)
+;
+
+
+
+
+
+// Entry rule entryRulePropertyFillerTextWords
+entryRulePropertyFillerTextWords returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getPropertyFillerTextWordsRule()); }
+	 iv_rulePropertyFillerTextWords=rulePropertyFillerTextWords 
+	 { $current=$iv_rulePropertyFillerTextWords.current; } 
+	 EOF 
+;
+
+// Rule PropertyFillerTextWords
+rulePropertyFillerTextWords returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+((
+    {
+        $current = forceCreateModelElement(
+            grammarAccess.getPropertyFillerTextWordsAccess().getPropertyFillerTextWordsAction_0(),
+            $current);
+    }
+)	otherlv_1='words' 
+    {
+    	newLeafNode(otherlv_1, grammarAccess.getPropertyFillerTextWordsAccess().getWordsKeyword_1());
+    }
+(
+(
+		lv_count_2_0=RULE_INT
+		{
+			newLeafNode(lv_count_2_0, grammarAccess.getPropertyFillerTextWordsAccess().getCountINTTerminalRuleCall_2_0()); 
+		}
+		{
+	        if ($current==null) {
+	            $current = createModelElement(grammarAccess.getPropertyFillerTextWordsRule());
+	        }
+       		setWithLastConsumed(
+       			$current, 
+       			"count",
+        		lv_count_2_0, 
+        		"INT");
+	    }
+
+)
+)?)
+;
+
+
+
+
+
+// Entry rule entryRulePropertyFillerUnsignedDoubleRange
+entryRulePropertyFillerUnsignedDoubleRange returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getPropertyFillerUnsignedDoubleRangeRule()); }
+	 iv_rulePropertyFillerUnsignedDoubleRange=rulePropertyFillerUnsignedDoubleRange 
+	 { $current=$iv_rulePropertyFillerUnsignedDoubleRange.current; } 
+	 EOF 
+;
+
+// Rule PropertyFillerUnsignedDoubleRange
+rulePropertyFillerUnsignedDoubleRange returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(	otherlv_0='unsigned double in range' 
+    {
+    	newLeafNode(otherlv_0, grammarAccess.getPropertyFillerUnsignedDoubleRangeAccess().getUnsignedDoubleInRangeKeyword_0());
+    }
+(((
+(
+		{ 
+	        newCompositeNode(grammarAccess.getPropertyFillerUnsignedDoubleRangeAccess().getBeginRangeUnsignedNumberParserRuleCall_1_0_0_0()); 
+	    }
+		lv_beginRange_1_0=ruleUnsignedNumber		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getPropertyFillerUnsignedDoubleRangeRule());
+	        }
+       		set(
+       			$current, 
+       			"beginRange",
+        		lv_beginRange_1_0, 
+        		"UnsignedNumber");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)
+    |(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getPropertyFillerUnsignedDoubleRangeRule());
+	        }
+        }
+	otherlv_2=RULE_ID
+	{
+		newLeafNode(otherlv_2, grammarAccess.getPropertyFillerUnsignedDoubleRangeAccess().getBeginRangeRefLEntityAttributeCrossReference_1_0_1_0()); 
+	}
+
+)
+))?	otherlv_3='up to and including' 
+    {
+    	newLeafNode(otherlv_3, grammarAccess.getPropertyFillerUnsignedDoubleRangeAccess().getUpToAndIncludingKeyword_1_1());
+    }
+((
+(
+		{ 
+	        newCompositeNode(grammarAccess.getPropertyFillerUnsignedDoubleRangeAccess().getEndRangeUnsignedNumberParserRuleCall_1_2_0_0()); 
+	    }
+		lv_endRange_4_0=ruleUnsignedNumber		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getPropertyFillerUnsignedDoubleRangeRule());
+	        }
+       		set(
+       			$current, 
+       			"endRange",
+        		lv_endRange_4_0, 
+        		"UnsignedNumber");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)
+    |(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getPropertyFillerUnsignedDoubleRangeRule());
+	        }
+        }
+	otherlv_5=RULE_ID
+	{
+		newLeafNode(otherlv_5, grammarAccess.getPropertyFillerUnsignedDoubleRangeAccess().getEndRangeRefLEntityAttributeCrossReference_1_2_1_0()); 
+	}
+
+)
+)))?	otherlv_6='with' 
+    {
+    	newLeafNode(otherlv_6, grammarAccess.getPropertyFillerUnsignedDoubleRangeAccess().getWithKeyword_2());
+    }
+(
+(
+		lv_decimals_7_0=RULE_INT
+		{
+			newLeafNode(lv_decimals_7_0, grammarAccess.getPropertyFillerUnsignedDoubleRangeAccess().getDecimalsINTTerminalRuleCall_3_0()); 
+		}
+		{
+	        if ($current==null) {
+	            $current = createModelElement(grammarAccess.getPropertyFillerUnsignedDoubleRangeRule());
+	        }
+       		setWithLastConsumed(
+       			$current, 
+       			"decimals",
+        		lv_decimals_7_0, 
+        		"INT");
+	    }
+
+)
+)	otherlv_8='decimals' 
+    {
+    	newLeafNode(otherlv_8, grammarAccess.getPropertyFillerUnsignedDoubleRangeAccess().getDecimalsKeyword_4());
+    }
+(	otherlv_9='round to' 
+    {
+    	newLeafNode(otherlv_9, grammarAccess.getPropertyFillerUnsignedDoubleRangeAccess().getRoundToKeyword_5_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getPropertyFillerUnsignedDoubleRangeAccess().getRoundedUnsignedNumberParserRuleCall_5_1_0()); 
+	    }
+		lv_rounded_10_0=ruleUnsignedNumber		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getPropertyFillerUnsignedDoubleRangeRule());
+	        }
+       		set(
+       			$current, 
+       			"rounded",
+        		lv_rounded_10_0, 
+        		"UnsignedNumber");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))?)
+;
+
+
+
+
+
+// Entry rule entryRulePropertyFillerUnsignedDoubleRandom
+entryRulePropertyFillerUnsignedDoubleRandom returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getPropertyFillerUnsignedDoubleRandomRule()); }
+	 iv_rulePropertyFillerUnsignedDoubleRandom=rulePropertyFillerUnsignedDoubleRandom 
+	 { $current=$iv_rulePropertyFillerUnsignedDoubleRandom.current; } 
+	 EOF 
+;
+
+// Rule PropertyFillerUnsignedDoubleRandom
+rulePropertyFillerUnsignedDoubleRandom returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(	otherlv_0='unsigned double from' 
+    {
+    	newLeafNode(otherlv_0, grammarAccess.getPropertyFillerUnsignedDoubleRandomAccess().getUnsignedDoubleFromKeyword_0());
+    }
+	otherlv_1='(' 
+    {
+    	newLeafNode(otherlv_1, grammarAccess.getPropertyFillerUnsignedDoubleRandomAccess().getLeftParenthesisKeyword_1());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getPropertyFillerUnsignedDoubleRandomAccess().getItemsUnsignedNumberParserRuleCall_2_0()); 
+	    }
+		lv_items_2_0=ruleUnsignedNumber		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getPropertyFillerUnsignedDoubleRandomRule());
+	        }
+       		add(
+       			$current, 
+       			"items",
+        		lv_items_2_0, 
+        		"UnsignedNumber");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)+	otherlv_3=')' 
+    {
+    	newLeafNode(otherlv_3, grammarAccess.getPropertyFillerUnsignedDoubleRandomAccess().getRightParenthesisKeyword_3());
+    }
+)
+;
+
+
+
+
+
+// Entry rule entryRulePropertyFillerUnsignedIntegerRange
+entryRulePropertyFillerUnsignedIntegerRange returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getPropertyFillerUnsignedIntegerRangeRule()); }
+	 iv_rulePropertyFillerUnsignedIntegerRange=rulePropertyFillerUnsignedIntegerRange 
+	 { $current=$iv_rulePropertyFillerUnsignedIntegerRange.current; } 
+	 EOF 
+;
+
+// Rule PropertyFillerUnsignedIntegerRange
+rulePropertyFillerUnsignedIntegerRange returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+((
+    {
+        $current = forceCreateModelElement(
+            grammarAccess.getPropertyFillerUnsignedIntegerRangeAccess().getPropertyFillerUnsignedIntegerRangeAction_0(),
+            $current);
+    }
+)	otherlv_1='unsigned integer in range' 
+    {
+    	newLeafNode(otherlv_1, grammarAccess.getPropertyFillerUnsignedIntegerRangeAccess().getUnsignedIntegerInRangeKeyword_1());
+    }
+(((
+(
+		lv_beginRange_2_0=RULE_INT
+		{
+			newLeafNode(lv_beginRange_2_0, grammarAccess.getPropertyFillerUnsignedIntegerRangeAccess().getBeginRangeINTTerminalRuleCall_2_0_0_0()); 
+		}
+		{
+	        if ($current==null) {
+	            $current = createModelElement(grammarAccess.getPropertyFillerUnsignedIntegerRangeRule());
+	        }
+       		setWithLastConsumed(
+       			$current, 
+       			"beginRange",
+        		lv_beginRange_2_0, 
+        		"INT");
+	    }
+
+)
+)
+    |(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getPropertyFillerUnsignedIntegerRangeRule());
+	        }
+        }
+	otherlv_3=RULE_ID
+	{
+		newLeafNode(otherlv_3, grammarAccess.getPropertyFillerUnsignedIntegerRangeAccess().getBeginRangeRefLEntityAttributeCrossReference_2_0_1_0()); 
+	}
+
+)
+))?	otherlv_4='up to and including' 
+    {
+    	newLeafNode(otherlv_4, grammarAccess.getPropertyFillerUnsignedIntegerRangeAccess().getUpToAndIncludingKeyword_2_1());
+    }
+((
+(
+		lv_endRange_5_0=RULE_INT
+		{
+			newLeafNode(lv_endRange_5_0, grammarAccess.getPropertyFillerUnsignedIntegerRangeAccess().getEndRangeINTTerminalRuleCall_2_2_0_0()); 
+		}
+		{
+	        if ($current==null) {
+	            $current = createModelElement(grammarAccess.getPropertyFillerUnsignedIntegerRangeRule());
+	        }
+       		setWithLastConsumed(
+       			$current, 
+       			"endRange",
+        		lv_endRange_5_0, 
+        		"INT");
+	    }
+
+)
+)
+    |(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getPropertyFillerUnsignedIntegerRangeRule());
+	        }
+        }
+	otherlv_6=RULE_ID
+	{
+		newLeafNode(otherlv_6, grammarAccess.getPropertyFillerUnsignedIntegerRangeAccess().getEndRangeRefLEntityAttributeCrossReference_2_2_1_0()); 
+	}
+
+)
+)))?(	otherlv_7='round to' 
+    {
+    	newLeafNode(otherlv_7, grammarAccess.getPropertyFillerUnsignedIntegerRangeAccess().getRoundToKeyword_3_0());
+    }
+(
+(
+		lv_rounded_8_0=RULE_INT
+		{
+			newLeafNode(lv_rounded_8_0, grammarAccess.getPropertyFillerUnsignedIntegerRangeAccess().getRoundedINTTerminalRuleCall_3_1_0()); 
+		}
+		{
+	        if ($current==null) {
+	            $current = createModelElement(grammarAccess.getPropertyFillerUnsignedIntegerRangeRule());
+	        }
+       		setWithLastConsumed(
+       			$current, 
+       			"rounded",
+        		lv_rounded_8_0, 
+        		"INT");
+	    }
+
+)
+))?)
+;
+
+
+
+
+
+// Entry rule entryRulePropertyFillerUnsignedIntegerRandom
+entryRulePropertyFillerUnsignedIntegerRandom returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getPropertyFillerUnsignedIntegerRandomRule()); }
+	 iv_rulePropertyFillerUnsignedIntegerRandom=rulePropertyFillerUnsignedIntegerRandom 
+	 { $current=$iv_rulePropertyFillerUnsignedIntegerRandom.current; } 
+	 EOF 
+;
+
+// Rule PropertyFillerUnsignedIntegerRandom
+rulePropertyFillerUnsignedIntegerRandom returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(	otherlv_0='unsigned integer from' 
+    {
+    	newLeafNode(otherlv_0, grammarAccess.getPropertyFillerUnsignedIntegerRandomAccess().getUnsignedIntegerFromKeyword_0());
+    }
+	otherlv_1='(' 
+    {
+    	newLeafNode(otherlv_1, grammarAccess.getPropertyFillerUnsignedIntegerRandomAccess().getLeftParenthesisKeyword_1());
+    }
+(
+(
+		lv_items_2_0=RULE_INT
+		{
+			newLeafNode(lv_items_2_0, grammarAccess.getPropertyFillerUnsignedIntegerRandomAccess().getItemsINTTerminalRuleCall_2_0()); 
+		}
+		{
+	        if ($current==null) {
+	            $current = createModelElement(grammarAccess.getPropertyFillerUnsignedIntegerRandomRule());
+	        }
+       		addWithLastConsumed(
+       			$current, 
+       			"items",
+        		lv_items_2_0, 
+        		"INT");
+	    }
+
+)
+)+	otherlv_3=')' 
+    {
+    	newLeafNode(otherlv_3, grammarAccess.getPropertyFillerUnsignedIntegerRandomAccess().getRightParenthesisKeyword_3());
+    }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleEntityMockDataType
+entryRuleEntityMockDataType returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getEntityMockDataTypeRule()); }
+	 iv_ruleEntityMockDataType=ruleEntityMockDataType 
+	 { $current=$iv_ruleEntityMockDataType.current; } 
+	 EOF 
+;
+
+// Rule EntityMockDataType
+ruleEntityMockDataType returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(	otherlv_0='datatype' 
+    {
+    	newLeafNode(otherlv_0, grammarAccess.getEntityMockDataTypeAccess().getDatatypeKeyword_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getEntityMockDataTypeAccess().getNameQualifiedNameParserRuleCall_1_0()); 
+	    }
+		lv_name_1_0=ruleQualifiedName		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getEntityMockDataTypeRule());
+	        }
+       		set(
+       			$current, 
+       			"name",
+        		lv_name_1_0, 
+        		"QualifiedName");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_2='{' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getEntityMockDataTypeAccess().getLeftCurlyBracketKeyword_2());
+    }
+	otherlv_3='}' 
+    {
+    	newLeafNode(otherlv_3, grammarAccess.getEntityMockDataTypeAccess().getRightCurlyBracketKeyword_3());
+    }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleEntityMockEntities
+entryRuleEntityMockEntities returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getEntityMockEntitiesRule()); }
+	 iv_ruleEntityMockEntities=ruleEntityMockEntities 
+	 { $current=$iv_ruleEntityMockEntities.current; } 
+	 EOF 
+;
+
+// Rule EntityMockEntities
+ruleEntityMockEntities returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+((
+    {
+        $current = forceCreateModelElement(
+            grammarAccess.getEntityMockEntitiesAccess().getEntityMockEntitiesAction_0(),
+            $current);
+    }
+)	otherlv_1='mock entities' 
+    {
+    	newLeafNode(otherlv_1, grammarAccess.getEntityMockEntitiesAccess().getMockEntitiesKeyword_1());
+    }
+	otherlv_2='{' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getEntityMockEntitiesAccess().getLeftCurlyBracketKeyword_2());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getEntityMockEntitiesAccess().getEntitiesEntityMockEntityParserRuleCall_3_0()); 
+	    }
+		lv_entities_3_0=ruleEntityMockEntity		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getEntityMockEntitiesRule());
+	        }
+       		add(
+       			$current, 
+       			"entities",
+        		lv_entities_3_0, 
+        		"EntityMockEntity");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)*	otherlv_4='}' 
+    {
+    	newLeafNode(otherlv_4, grammarAccess.getEntityMockEntitiesAccess().getRightCurlyBracketKeyword_4());
+    }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleEntityMockEntity
+entryRuleEntityMockEntity returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getEntityMockEntityRule()); }
+	 iv_ruleEntityMockEntity=ruleEntityMockEntity 
+	 { $current=$iv_ruleEntityMockEntity.current; } 
+	 EOF 
+;
+
+// Rule EntityMockEntity
+ruleEntityMockEntity returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(	otherlv_0='mocking' 
+    {
+    	newLeafNode(otherlv_0, grammarAccess.getEntityMockEntityAccess().getMockingKeyword_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getEntityMockEntityAccess().getNameQualifiedNameParserRuleCall_1_0()); 
+	    }
+		lv_name_1_0=ruleQualifiedName		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getEntityMockEntityRule());
+	        }
+       		set(
+       			$current, 
+       			"name",
+        		lv_name_1_0, 
+        		"QualifiedName");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_2='for entity' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getEntityMockEntityAccess().getForEntityKeyword_2());
+    }
+(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getEntityMockEntityRule());
+	        }
+        }
+	otherlv_3=RULE_ID
+	{
+		newLeafNode(otherlv_3, grammarAccess.getEntityMockEntityAccess().getEntityRefLEntityCrossReference_3_0()); 
+	}
+
+)
+)((	otherlv_4='rows' 
+    {
+    	newLeafNode(otherlv_4, grammarAccess.getEntityMockEntityAccess().getRowsKeyword_4_0_0());
+    }
+(
+(
+		lv_minRows_5_0=RULE_INT
+		{
+			newLeafNode(lv_minRows_5_0, grammarAccess.getEntityMockEntityAccess().getMinRowsINTTerminalRuleCall_4_0_1_0()); 
+		}
+		{
+	        if ($current==null) {
+	            $current = createModelElement(grammarAccess.getEntityMockEntityRule());
+	        }
+       		setWithLastConsumed(
+       			$current, 
+       			"minRows",
+        		lv_minRows_5_0, 
+        		"INT");
+	    }
+
+)
+)	otherlv_6='to' 
+    {
+    	newLeafNode(otherlv_6, grammarAccess.getEntityMockEntityAccess().getToKeyword_4_0_2());
+    }
+(
+(
+		lv_maxRows_7_0=RULE_INT
+		{
+			newLeafNode(lv_maxRows_7_0, grammarAccess.getEntityMockEntityAccess().getMaxRowsINTTerminalRuleCall_4_0_3_0()); 
+		}
+		{
+	        if ($current==null) {
+	            $current = createModelElement(grammarAccess.getEntityMockEntityRule());
+	        }
+       		setWithLastConsumed(
+       			$current, 
+       			"maxRows",
+        		lv_maxRows_7_0, 
+        		"INT");
+	    }
+
+)
+)	otherlv_8='{' 
+    {
+    	newLeafNode(otherlv_8, grammarAccess.getEntityMockEntityAccess().getLeftCurlyBracketKeyword_4_0_4());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getEntityMockEntityAccess().getTemporariesEntityMockTemporaryParserRuleCall_4_0_5_0()); 
+	    }
+		lv_temporaries_9_0=ruleEntityMockTemporary		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getEntityMockEntityRule());
+	        }
+       		add(
+       			$current, 
+       			"temporaries",
+        		lv_temporaries_9_0, 
+        		"EntityMockTemporary");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)*(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getEntityMockEntityAccess().getAttributesIEntityMockAttributeParserRuleCall_4_0_6_0()); 
+	    }
+		lv_attributes_10_0=ruleIEntityMockAttribute		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getEntityMockEntityRule());
+	        }
+       		add(
+       			$current, 
+       			"attributes",
+        		lv_attributes_10_0, 
+        		"IEntityMockAttribute");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)*(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getEntityMockEntityAccess().getCalculationsEntityMockEntityFunctionParserRuleCall_4_0_7_0()); 
+	    }
+		lv_calculations_11_0=ruleEntityMockEntityFunction		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getEntityMockEntityRule());
+	        }
+       		add(
+       			$current, 
+       			"calculations",
+        		lv_calculations_11_0, 
+        		"EntityMockEntityFunction");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)*	otherlv_12='}' 
+    {
+    	newLeafNode(otherlv_12, grammarAccess.getEntityMockEntityAccess().getRightCurlyBracketKeyword_4_0_8());
+    }
+)
+    |(	otherlv_13='by resource' 
+    {
+    	newLeafNode(otherlv_13, grammarAccess.getEntityMockEntityAccess().getByResourceKeyword_4_1_0());
+    }
+(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getEntityMockEntityRule());
+	        }
+        }
+	otherlv_14=RULE_ID
+	{
+		newLeafNode(otherlv_14, grammarAccess.getEntityMockEntityAccess().getByResourceEntityMockResourceCrossReference_4_1_1_0()); 
+	}
+
+)
+)	otherlv_15='{' 
+    {
+    	newLeafNode(otherlv_15, grammarAccess.getEntityMockEntityAccess().getLeftCurlyBracketKeyword_4_1_2());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getEntityMockEntityAccess().getByResourceAttributesEntityMockByResourceAttributeParserRuleCall_4_1_3_0()); 
+	    }
+		lv_byResourceAttributes_16_0=ruleEntityMockByResourceAttribute		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getEntityMockEntityRule());
+	        }
+       		add(
+       			$current, 
+       			"byResourceAttributes",
+        		lv_byResourceAttributes_16_0, 
+        		"EntityMockByResourceAttribute");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)*(
+(
+		lv_createBlobMapping_17_0=	'createBlobMapping' 
+    {
+        newLeafNode(lv_createBlobMapping_17_0, grammarAccess.getEntityMockEntityAccess().getCreateBlobMappingCreateBlobMappingKeyword_4_1_4_0());
+    }
+ 
+	    {
+	        if ($current==null) {
+	            $current = createModelElement(grammarAccess.getEntityMockEntityRule());
+	        }
+       		setWithLastConsumed($current, "createBlobMapping", true, "createBlobMapping");
+	    }
+
+)
+)?	otherlv_18='}' 
+    {
+    	newLeafNode(otherlv_18, grammarAccess.getEntityMockEntityAccess().getRightCurlyBracketKeyword_4_1_5());
+    }
+)
+    |(	otherlv_19='iterate' 
+    {
+    	newLeafNode(otherlv_19, grammarAccess.getEntityMockEntityAccess().getIterateKeyword_4_2_0());
+    }
+(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getEntityMockEntityRule());
+	        }
+        }
+	otherlv_20=RULE_ID
+	{
+		newLeafNode(otherlv_20, grammarAccess.getEntityMockEntityAccess().getIteratorLEntityAttributeCrossReference_4_2_1_0()); 
+	}
+
+)
+)	otherlv_21='with' 
+    {
+    	newLeafNode(otherlv_21, grammarAccess.getEntityMockEntityAccess().getWithKeyword_4_2_2());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getEntityMockEntityAccess().getIterateIIterateParserRuleCall_4_2_3_0()); 
+	    }
+		lv_iterate_22_0=ruleIIterate		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getEntityMockEntityRule());
+	        }
+       		set(
+       			$current, 
+       			"iterate",
+        		lv_iterate_22_0, 
+        		"IIterate");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_23='{' 
+    {
+    	newLeafNode(otherlv_23, grammarAccess.getEntityMockEntityAccess().getLeftCurlyBracketKeyword_4_2_4());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getEntityMockEntityAccess().getTemporariesEntityMockTemporaryParserRuleCall_4_2_5_0()); 
+	    }
+		lv_temporaries_24_0=ruleEntityMockTemporary		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getEntityMockEntityRule());
+	        }
+       		add(
+       			$current, 
+       			"temporaries",
+        		lv_temporaries_24_0, 
+        		"EntityMockTemporary");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)*(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getEntityMockEntityAccess().getAttributesIEntityMockAttributeParserRuleCall_4_2_6_0()); 
+	    }
+		lv_attributes_25_0=ruleIEntityMockAttribute		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getEntityMockEntityRule());
+	        }
+       		add(
+       			$current, 
+       			"attributes",
+        		lv_attributes_25_0, 
+        		"IEntityMockAttribute");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)*(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getEntityMockEntityAccess().getCalculationsEntityMockEntityFunctionParserRuleCall_4_2_7_0()); 
+	    }
+		lv_calculations_26_0=ruleEntityMockEntityFunction		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getEntityMockEntityRule());
+	        }
+       		add(
+       			$current, 
+       			"calculations",
+        		lv_calculations_26_0, 
+        		"EntityMockEntityFunction");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)*	otherlv_27='}' 
+    {
+    	newLeafNode(otherlv_27, grammarAccess.getEntityMockEntityAccess().getRightCurlyBracketKeyword_4_2_8());
+    }
+)))
+;
+
+
+
+
+
+// Entry rule entryRuleIIterate
+entryRuleIIterate returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getIIterateRule()); }
+	 iv_ruleIIterate=ruleIIterate 
+	 { $current=$iv_ruleIIterate.current; } 
+	 EOF 
+;
+
+// Rule IIterate
+ruleIIterate returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(
+    { 
+        newCompositeNode(grammarAccess.getIIterateAccess().getIntegerIterateParserRuleCall_0()); 
+    }
+    this_IntegerIterate_0=ruleIntegerIterate
+    { 
+        $current = $this_IntegerIterate_0.current; 
+        afterParserOrEnumRuleCall();
+    }
+
+    |
+    { 
+        newCompositeNode(grammarAccess.getIIterateAccess().getDateIterateParserRuleCall_1()); 
+    }
+    this_DateIterate_1=ruleDateIterate
+    { 
+        $current = $this_DateIterate_1.current; 
+        afterParserOrEnumRuleCall();
+    }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleIntegerIterate
+entryRuleIntegerIterate returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getIntegerIterateRule()); }
+	 iv_ruleIntegerIterate=ruleIntegerIterate 
+	 { $current=$iv_ruleIntegerIterate.current; } 
+	 EOF 
+;
+
+// Rule IntegerIterate
+ruleIntegerIterate returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(	otherlv_0='integer from' 
+    {
+    	newLeafNode(otherlv_0, grammarAccess.getIntegerIterateAccess().getIntegerFromKeyword_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getIntegerIterateAccess().getFromSINTParserRuleCall_1_0()); 
+	    }
+		lv_from_1_0=ruleSINT		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getIntegerIterateRule());
+	        }
+       		set(
+       			$current, 
+       			"from",
+        		lv_from_1_0, 
+        		"SINT");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_2='until' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getIntegerIterateAccess().getUntilKeyword_2());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getIntegerIterateAccess().getUntilSINTParserRuleCall_3_0()); 
+	    }
+		lv_until_3_0=ruleSINT		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getIntegerIterateRule());
+	        }
+       		set(
+       			$current, 
+       			"until",
+        		lv_until_3_0, 
+        		"SINT");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_4='step' 
+    {
+    	newLeafNode(otherlv_4, grammarAccess.getIntegerIterateAccess().getStepKeyword_4());
+    }
+(
+(
+		lv_step_5_0=RULE_INT
+		{
+			newLeafNode(lv_step_5_0, grammarAccess.getIntegerIterateAccess().getStepINTTerminalRuleCall_5_0()); 
+		}
+		{
+	        if ($current==null) {
+	            $current = createModelElement(grammarAccess.getIntegerIterateRule());
+	        }
+       		setWithLastConsumed(
+       			$current, 
+       			"step",
+        		lv_step_5_0, 
+        		"INT");
+	    }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleDateIterate
+entryRuleDateIterate returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getDateIterateRule()); }
+	 iv_ruleDateIterate=ruleDateIterate 
+	 { $current=$iv_ruleDateIterate.current; } 
+	 EOF 
+;
+
+// Rule DateIterate
+ruleDateIterate returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(	otherlv_0='date from' 
+    {
+    	newLeafNode(otherlv_0, grammarAccess.getDateIterateAccess().getDateFromKeyword_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getDateIterateAccess().getFromDateParserRuleCall_1_0()); 
+	    }
+		lv_from_1_0=ruleDate		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getDateIterateRule());
+	        }
+       		set(
+       			$current, 
+       			"from",
+        		lv_from_1_0, 
+        		"Date");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_2='until' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getDateIterateAccess().getUntilKeyword_2());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getDateIterateAccess().getUntilDateParserRuleCall_3_0()); 
+	    }
+		lv_until_3_0=ruleDate		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getDateIterateRule());
+	        }
+       		set(
+       			$current, 
+       			"until",
+        		lv_until_3_0, 
+        		"Date");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_4='every' 
+    {
+    	newLeafNode(otherlv_4, grammarAccess.getDateIterateAccess().getEveryKeyword_4());
+    }
+(
+(
+		lv_stepCount_5_0=RULE_INT
+		{
+			newLeafNode(lv_stepCount_5_0, grammarAccess.getDateIterateAccess().getStepCountINTTerminalRuleCall_5_0()); 
+		}
+		{
+	        if ($current==null) {
+	            $current = createModelElement(grammarAccess.getDateIterateRule());
+	        }
+       		setWithLastConsumed(
+       			$current, 
+       			"stepCount",
+        		lv_stepCount_5_0, 
+        		"INT");
+	    }
+
+)
+)(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getDateIterateAccess().getStepTypeEDateStepTypeEnumRuleCall_6_0()); 
+	    }
+		lv_stepType_6_0=ruleEDateStepType		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getDateIterateRule());
+	        }
+       		set(
+       			$current, 
+       			"stepType",
+        		lv_stepType_6_0, 
+        		"EDateStepType");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleDate
+entryRuleDate returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getDateRule()); }
+	 iv_ruleDate=ruleDate 
+	 { $current=$iv_ruleDate.current; } 
+	 EOF 
+;
+
+// Rule Date
+ruleDate returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+((
+(
+		lv_yesterday_0_0=	'yesterday' 
+    {
+        newLeafNode(lv_yesterday_0_0, grammarAccess.getDateAccess().getYesterdayYesterdayKeyword_0_0());
+    }
+ 
+	    {
+	        if ($current==null) {
+	            $current = createModelElement(grammarAccess.getDateRule());
+	        }
+       		setWithLastConsumed($current, "yesterday", true, "yesterday");
+	    }
+
+)
+)
+    |(
+(
+		lv_today_1_0=	'today' 
+    {
+        newLeafNode(lv_today_1_0, grammarAccess.getDateAccess().getTodayTodayKeyword_1_0());
+    }
+ 
+	    {
+	        if ($current==null) {
+	            $current = createModelElement(grammarAccess.getDateRule());
+	        }
+       		setWithLastConsumed($current, "today", true, "today");
+	    }
+
+)
+)
+    |(
+(
+		lv_tomorrow_2_0=	'tomorrow' 
+    {
+        newLeafNode(lv_tomorrow_2_0, grammarAccess.getDateAccess().getTomorrowTomorrowKeyword_2_0());
+    }
+ 
+	    {
+	        if ($current==null) {
+	            $current = createModelElement(grammarAccess.getDateRule());
+	        }
+       		setWithLastConsumed($current, "tomorrow", true, "tomorrow");
+	    }
+
+)
+)
+    |((
+(
+		lv_year_3_0=RULE_INT
+		{
+			newLeafNode(lv_year_3_0, grammarAccess.getDateAccess().getYearINTTerminalRuleCall_3_0_0()); 
+		}
+		{
+	        if ($current==null) {
+	            $current = createModelElement(grammarAccess.getDateRule());
+	        }
+       		setWithLastConsumed(
+       			$current, 
+       			"year",
+        		lv_year_3_0, 
+        		"INT");
+	    }
+
+)
+)	otherlv_4='-' 
+    {
+    	newLeafNode(otherlv_4, grammarAccess.getDateAccess().getHyphenMinusKeyword_3_1());
+    }
+(
+(
+		lv_month_5_0=RULE_INT
+		{
+			newLeafNode(lv_month_5_0, grammarAccess.getDateAccess().getMonthINTTerminalRuleCall_3_2_0()); 
+		}
+		{
+	        if ($current==null) {
+	            $current = createModelElement(grammarAccess.getDateRule());
+	        }
+       		setWithLastConsumed(
+       			$current, 
+       			"month",
+        		lv_month_5_0, 
+        		"INT");
+	    }
+
+)
+)	otherlv_6='-' 
+    {
+    	newLeafNode(otherlv_6, grammarAccess.getDateAccess().getHyphenMinusKeyword_3_3());
+    }
+(
+(
+		lv_day_7_0=RULE_INT
+		{
+			newLeafNode(lv_day_7_0, grammarAccess.getDateAccess().getDayINTTerminalRuleCall_3_4_0()); 
+		}
+		{
+	        if ($current==null) {
+	            $current = createModelElement(grammarAccess.getDateRule());
+	        }
+       		setWithLastConsumed(
+       			$current, 
+       			"day",
+        		lv_day_7_0, 
+        		"INT");
+	    }
+
+)
+)))
+;
+
+
+
+
+
+// Entry rule entryRuleEntityMockByResourceAttribute
+entryRuleEntityMockByResourceAttribute returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getEntityMockByResourceAttributeRule()); }
+	 iv_ruleEntityMockByResourceAttribute=ruleEntityMockByResourceAttribute 
+	 { $current=$iv_ruleEntityMockByResourceAttribute.current; } 
+	 EOF 
+;
+
+// Rule EntityMockByResourceAttribute
+ruleEntityMockByResourceAttribute returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+((
+    {
+        $current = forceCreateModelElement(
+            grammarAccess.getEntityMockByResourceAttributeAccess().getEntityMockByResourceAttributeAction_0(),
+            $current);
+    }
+)	otherlv_1='var' 
+    {
+    	newLeafNode(otherlv_1, grammarAccess.getEntityMockByResourceAttributeAccess().getVarKeyword_1());
+    }
+(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getEntityMockByResourceAttributeRule());
+	        }
+        }
+	otherlv_2=RULE_ID
+	{
+		newLeafNode(otherlv_2, grammarAccess.getEntityMockByResourceAttributeAccess().getAttributeRefLEntityAttributeCrossReference_2_0()); 
+	}
+
+)
+)	otherlv_3='as' 
+    {
+    	newLeafNode(otherlv_3, grammarAccess.getEntityMockByResourceAttributeAccess().getAsKeyword_3());
+    }
+(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getEntityMockByResourceAttributeRule());
+	        }
+        }
+	otherlv_4=RULE_ID
+	{
+		newLeafNode(otherlv_4, grammarAccess.getEntityMockByResourceAttributeAccess().getResourceAttributeEntityMockResourceAttributeCrossReference_4_0()); 
+	}
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleEntityMockTemporary
+entryRuleEntityMockTemporary returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getEntityMockTemporaryRule()); }
+	 iv_ruleEntityMockTemporary=ruleEntityMockTemporary 
+	 { $current=$iv_ruleEntityMockTemporary.current; } 
+	 EOF 
+;
+
+// Rule EntityMockTemporary
+ruleEntityMockTemporary returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(	otherlv_0='temporary' 
+    {
+    	newLeafNode(otherlv_0, grammarAccess.getEntityMockTemporaryAccess().getTemporaryKeyword_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getEntityMockTemporaryAccess().getNameQualifiedNameParserRuleCall_1_0()); 
+	    }
+		lv_name_1_0=ruleQualifiedName		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getEntityMockTemporaryRule());
+	        }
+       		set(
+       			$current, 
+       			"name",
+        		lv_name_1_0, 
+        		"QualifiedName");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_2='by object' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getEntityMockTemporaryAccess().getByObjectKeyword_2());
+    }
+(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getEntityMockTemporaryRule());
+	        }
+        }
+	otherlv_3=RULE_ID
+	{
+		newLeafNode(otherlv_3, grammarAccess.getEntityMockTemporaryAccess().getObjectEntityMockObjectCrossReference_3_0()); 
+	}
+
+)
+))
+;
+
+
+
+
+
+
+
+// Entry rule entryRuleIEntityMockAttribute
+entryRuleIEntityMockAttribute returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getIEntityMockAttributeRule()); }
+	 iv_ruleIEntityMockAttribute=ruleIEntityMockAttribute 
+	 { $current=$iv_ruleIEntityMockAttribute.current; } 
+	 EOF 
+;
+
+// Rule IEntityMockAttribute
+ruleIEntityMockAttribute returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(
+    { 
+        newCompositeNode(grammarAccess.getIEntityMockAttributeAccess().getEntityMockAttributeByObjectParserRuleCall_0()); 
+    }
+    this_EntityMockAttributeByObject_0=ruleEntityMockAttributeByObject
+    { 
+        $current = $this_EntityMockAttributeByObject_0.current; 
+        afterParserOrEnumRuleCall();
+    }
+
+    |
+    { 
+        newCompositeNode(grammarAccess.getIEntityMockAttributeAccess().getEntityMockAttributeFillerParserRuleCall_1()); 
+    }
+    this_EntityMockAttributeFiller_1=ruleEntityMockAttributeFiller
+    { 
+        $current = $this_EntityMockAttributeFiller_1.current; 
+        afterParserOrEnumRuleCall();
+    }
+
+    |
+    { 
+        newCompositeNode(grammarAccess.getIEntityMockAttributeAccess().getEntityMockAttributeByReferenceParserRuleCall_2()); 
+    }
+    this_EntityMockAttributeByReference_2=ruleEntityMockAttributeByReference
+    { 
+        $current = $this_EntityMockAttributeByReference_2.current; 
+        afterParserOrEnumRuleCall();
+    }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleEntityMockEntityFunction
+entryRuleEntityMockEntityFunction returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getEntityMockEntityFunctionRule()); }
+	 iv_ruleEntityMockEntityFunction=ruleEntityMockEntityFunction 
+	 { $current=$iv_ruleEntityMockEntityFunction.current; } 
+	 EOF 
+;
+
+// Rule EntityMockEntityFunction
+ruleEntityMockEntityFunction returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(	otherlv_0='var' 
+    {
+    	newLeafNode(otherlv_0, grammarAccess.getEntityMockEntityFunctionAccess().getVarKeyword_0());
+    }
+(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getEntityMockEntityFunctionRule());
+	        }
+        }
+	otherlv_1=RULE_ID
+	{
+		newLeafNode(otherlv_1, grammarAccess.getEntityMockEntityFunctionAccess().getAttributeRefLEntityAttributeCrossReference_1_0()); 
+	}
+
+)
+)	otherlv_2='calculate based on' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getEntityMockEntityFunctionAccess().getCalculateBasedOnKeyword_2());
+    }
+	otherlv_3='(' 
+    {
+    	newLeafNode(otherlv_3, grammarAccess.getEntityMockEntityFunctionAccess().getLeftParenthesisKeyword_3());
+    }
+((
+(
+		{ 
+	        newCompositeNode(grammarAccess.getEntityMockEntityFunctionAccess().getParamsEntityMockEntityFunctionParameterParserRuleCall_4_0_0()); 
+	    }
+		lv_params_4_0=ruleEntityMockEntityFunctionParameter		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getEntityMockEntityFunctionRule());
+	        }
+       		add(
+       			$current, 
+       			"params",
+        		lv_params_4_0, 
+        		"EntityMockEntityFunctionParameter");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)(	otherlv_5=',' 
+    {
+    	newLeafNode(otherlv_5, grammarAccess.getEntityMockEntityFunctionAccess().getCommaKeyword_4_1_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getEntityMockEntityFunctionAccess().getParamsEntityMockEntityFunctionParameterParserRuleCall_4_1_1_0()); 
+	    }
+		lv_params_6_0=ruleEntityMockEntityFunctionParameter		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getEntityMockEntityFunctionRule());
+	        }
+       		add(
+       			$current, 
+       			"params",
+        		lv_params_6_0, 
+        		"EntityMockEntityFunctionParameter");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))*)?	otherlv_7=')' 
+    {
+    	newLeafNode(otherlv_7, grammarAccess.getEntityMockEntityFunctionAccess().getRightParenthesisKeyword_5());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getEntityMockEntityFunctionAccess().getBodyXBlockExpressionParserRuleCall_6_0()); 
+	    }
+		lv_body_8_0=ruleXBlockExpression		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getEntityMockEntityFunctionRule());
+	        }
+       		set(
+       			$current, 
+       			"body",
+        		lv_body_8_0, 
+        		"XBlockExpression");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleEntityMockEntityFunctionParameter
+entryRuleEntityMockEntityFunctionParameter returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getEntityMockEntityFunctionParameterRule()); }
+	 iv_ruleEntityMockEntityFunctionParameter=ruleEntityMockEntityFunctionParameter 
+	 { $current=$iv_ruleEntityMockEntityFunctionParameter.current; } 
+	 EOF 
+;
+
+// Rule EntityMockEntityFunctionParameter
+ruleEntityMockEntityFunctionParameter returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+((
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getEntityMockEntityFunctionParameterRule());
+	        }
+        }
+	otherlv_0=RULE_ID
+	{
+		newLeafNode(otherlv_0, grammarAccess.getEntityMockEntityFunctionParameterAccess().getAttributeRefLEntityAttributeCrossReference_0_0()); 
+	}
+
+)
+)
+    |((
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getEntityMockEntityFunctionParameterRule());
+	        }
+        }
+	otherlv_1=RULE_ID
+	{
+		newLeafNode(otherlv_1, grammarAccess.getEntityMockEntityFunctionParameterAccess().getReferencePathsLEntityReferenceCrossReference_1_0_0()); 
+	}
+
+)
+)((	otherlv_2='.' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getEntityMockEntityFunctionParameterAccess().getFullStopKeyword_1_1_0());
+    }
+)?(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getEntityMockEntityFunctionParameterRule());
+	        }
+        }
+	otherlv_3=RULE_ID
+	{
+		newLeafNode(otherlv_3, grammarAccess.getEntityMockEntityFunctionParameterAccess().getReferencePathsLEntityReferenceCrossReference_1_1_1_0()); 
+	}
+
+)
+))*	otherlv_4='.' 
+    {
+    	newLeafNode(otherlv_4, grammarAccess.getEntityMockEntityFunctionParameterAccess().getFullStopKeyword_1_2());
+    }
+(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getEntityMockEntityFunctionParameterRule());
+	        }
+        }
+	otherlv_5=RULE_ID
+	{
+		newLeafNode(otherlv_5, grammarAccess.getEntityMockEntityFunctionParameterAccess().getReferenceRefLEntityAttributeCrossReference_1_3_0()); 
+	}
+
+)
+)))
+;
+
+
+
+
+
+// Entry rule entryRuleEntityMockReferencedObjectAttribute
+entryRuleEntityMockReferencedObjectAttribute returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getEntityMockReferencedObjectAttributeRule()); }
+	 iv_ruleEntityMockReferencedObjectAttribute=ruleEntityMockReferencedObjectAttribute 
+	 { $current=$iv_ruleEntityMockReferencedObjectAttribute.current; } 
+	 EOF 
+;
+
+// Rule EntityMockReferencedObjectAttribute
+ruleEntityMockReferencedObjectAttribute returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+((
+    {
+        $current = forceCreateModelElement(
+            grammarAccess.getEntityMockReferencedObjectAttributeAccess().getEntityMockReferencedObjectAttributeAction_0(),
+            $current);
+    }
+)(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getEntityMockReferencedObjectAttributeRule());
+	        }
+        }
+	otherlv_1=RULE_ID
+	{
+		newLeafNode(otherlv_1, grammarAccess.getEntityMockReferencedObjectAttributeAccess().getTemporaryEntityMockTemporaryCrossReference_1_0()); 
+	}
+
+)
+)((	otherlv_2='.' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getEntityMockReferencedObjectAttributeAccess().getFullStopKeyword_2_0());
+    }
+)?(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getEntityMockReferencedObjectAttributeRule());
+	        }
+        }
+	otherlv_3=RULE_ID
+	{
+		newLeafNode(otherlv_3, grammarAccess.getEntityMockReferencedObjectAttributeAccess().getEmbeddedEntityMockObjectEmbedCrossReference_2_1_0()); 
+	}
+
+)
+))*	otherlv_4='.' 
+    {
+    	newLeafNode(otherlv_4, grammarAccess.getEntityMockReferencedObjectAttributeAccess().getFullStopKeyword_3());
+    }
+(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getEntityMockReferencedObjectAttributeRule());
+	        }
+        }
+	otherlv_5=RULE_ID
+	{
+		newLeafNode(otherlv_5, grammarAccess.getEntityMockReferencedObjectAttributeAccess().getAttributeIEntityMockObjectUsableCrossReference_4_0()); 
+	}
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleEntityMockAttributeByObject
+entryRuleEntityMockAttributeByObject returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getEntityMockAttributeByObjectRule()); }
+	 iv_ruleEntityMockAttributeByObject=ruleEntityMockAttributeByObject 
+	 { $current=$iv_ruleEntityMockAttributeByObject.current; } 
+	 EOF 
+;
+
+// Rule EntityMockAttributeByObject
+ruleEntityMockAttributeByObject returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+((	otherlv_0='var' 
+    {
+    	newLeafNode(otherlv_0, grammarAccess.getEntityMockAttributeByObjectAccess().getVarKeyword_0_0());
+    }
+(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getEntityMockAttributeByObjectRule());
+	        }
+        }
+	otherlv_1=RULE_ID
+	{
+		newLeafNode(otherlv_1, grammarAccess.getEntityMockAttributeByObjectAccess().getAttributeRefLEntityAttributeCrossReference_0_1_0()); 
+	}
+
+)
+)(	otherlv_2='as' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getEntityMockAttributeByObjectAccess().getAsKeyword_0_2_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getEntityMockAttributeByObjectAccess().getReferenceEntityMockReferencedObjectAttributeParserRuleCall_0_2_1_0()); 
+	    }
+		lv_reference_3_0=ruleEntityMockReferencedObjectAttribute		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getEntityMockAttributeByObjectRule());
+	        }
+       		set(
+       			$current, 
+       			"reference",
+        		lv_reference_3_0, 
+        		"EntityMockReferencedObjectAttribute");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)))
+    |(	otherlv_4='using' 
+    {
+    	newLeafNode(otherlv_4, grammarAccess.getEntityMockAttributeByObjectAccess().getUsingKeyword_1_0());
+    }
+(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getEntityMockAttributeByObjectRule());
+	        }
+        }
+	otherlv_5=RULE_ID
+	{
+		newLeafNode(otherlv_5, grammarAccess.getEntityMockAttributeByObjectAccess().getResourceEnumEntityMockObjectEnumCrossReference_1_1_0()); 
+	}
+
+)
+)	otherlv_6='.' 
+    {
+    	newLeafNode(otherlv_6, grammarAccess.getEntityMockAttributeByObjectAccess().getFullStopKeyword_1_2());
+    }
+(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getEntityMockAttributeByObjectRule());
+	        }
+        }
+	otherlv_7=RULE_ID
+	{
+		newLeafNode(otherlv_7, grammarAccess.getEntityMockAttributeByObjectAccess().getResourceAttributeEntityMockResourceAttributeCrossReference_1_3_0()); 
+	}
+
+)
+)))
+;
+
+
+
+
+
+// Entry rule entryRuleEntityMockAttributeFiller
+entryRuleEntityMockAttributeFiller returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getEntityMockAttributeFillerRule()); }
+	 iv_ruleEntityMockAttributeFiller=ruleEntityMockAttributeFiller 
+	 { $current=$iv_ruleEntityMockAttributeFiller.current; } 
+	 EOF 
+;
+
+// Rule EntityMockAttributeFiller
+ruleEntityMockAttributeFiller returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(	otherlv_0='var' 
+    {
+    	newLeafNode(otherlv_0, grammarAccess.getEntityMockAttributeFillerAccess().getVarKeyword_0());
+    }
+(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getEntityMockAttributeFillerRule());
+	        }
+        }
+	otherlv_1=RULE_ID
+	{
+		newLeafNode(otherlv_1, grammarAccess.getEntityMockAttributeFillerAccess().getAttributeRefLEntityAttributeCrossReference_1_0()); 
+	}
+
+)
+)	otherlv_2='randomize' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getEntityMockAttributeFillerAccess().getRandomizeKeyword_2());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getEntityMockAttributeFillerAccess().getFillerTypePropertyFillerTypeParserRuleCall_3_0()); 
+	    }
+		lv_fillerType_3_0=rulePropertyFillerType		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getEntityMockAttributeFillerRule());
+	        }
+       		set(
+       			$current, 
+       			"fillerType",
+        		lv_fillerType_3_0, 
+        		"PropertyFillerType");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleEntityMockAttributeByReference
+entryRuleEntityMockAttributeByReference returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getEntityMockAttributeByReferenceRule()); }
+	 iv_ruleEntityMockAttributeByReference=ruleEntityMockAttributeByReference 
+	 { $current=$iv_ruleEntityMockAttributeByReference.current; } 
+	 EOF 
+;
+
+// Rule EntityMockAttributeByReference
+ruleEntityMockAttributeByReference returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(	otherlv_0='ref' 
+    {
+    	newLeafNode(otherlv_0, grammarAccess.getEntityMockAttributeByReferenceAccess().getRefKeyword_0());
+    }
+(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getEntityMockAttributeByReferenceRule());
+	        }
+        }
+	otherlv_1=RULE_ID
+	{
+		newLeafNode(otherlv_1, grammarAccess.getEntityMockAttributeByReferenceAccess().getAttributeRefLEntityReferenceCrossReference_1_0()); 
+	}
+
+)
+)	otherlv_2='to' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getEntityMockAttributeByReferenceAccess().getToKeyword_2());
+    }
+(	otherlv_3='existing entities' 
+    {
+    	newLeafNode(otherlv_3, grammarAccess.getEntityMockAttributeByReferenceAccess().getExistingEntitiesKeyword_3_0());
+    }
+
+    |(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getEntityMockAttributeByReferenceRule());
+	        }
+        }
+	otherlv_4=RULE_ID
+	{
+		newLeafNode(otherlv_4, grammarAccess.getEntityMockAttributeByReferenceAccess().getMockedEntityEntityMockEntityCrossReference_3_1_0()); 
+	}
+
+)
+))(	otherlv_5='optional for' 
+    {
+    	newLeafNode(otherlv_5, grammarAccess.getEntityMockAttributeByReferenceAccess().getOptionalForKeyword_4_0());
+    }
+(
+(
+		lv_optionalFor_6_0=RULE_INT
+		{
+			newLeafNode(lv_optionalFor_6_0, grammarAccess.getEntityMockAttributeByReferenceAccess().getOptionalForINTTerminalRuleCall_4_1_0()); 
+		}
+		{
+	        if ($current==null) {
+	            $current = createModelElement(grammarAccess.getEntityMockAttributeByReferenceRule());
+	        }
+       		setWithLastConsumed(
+       			$current, 
+       			"optionalFor",
+        		lv_optionalFor_6_0, 
+        		"INT");
+	    }
+
+)
+)	otherlv_7='percent' 
+    {
+    	newLeafNode(otherlv_7, grammarAccess.getEntityMockAttributeByReferenceAccess().getPercentKeyword_4_2());
+    }
+)?)
+;
+
+
+
+
+
+// Entry rule entryRuleSignedNumber
+entryRuleSignedNumber returns [String current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getSignedNumberRule()); } 
+	 iv_ruleSignedNumber=ruleSignedNumber 
+	 { $current=$iv_ruleSignedNumber.current.getText(); }  
+	 EOF 
+;
+
+// Rule SignedNumber
+ruleSignedNumber returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+((
+	kw='-' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getSignedNumberAccess().getHyphenMinusKeyword_0()); 
+    }
+)?
+    { 
+        newCompositeNode(grammarAccess.getSignedNumberAccess().getUnsignedNumberParserRuleCall_1()); 
+    }
+    this_UnsignedNumber_1=ruleUnsignedNumber    {
+		$current.merge(this_UnsignedNumber_1);
+    }
+
+    { 
+        afterParserOrEnumRuleCall();
+    }
+)
+    ;
+
+
+
+
+
+// Entry rule entryRuleUnsignedNumber
+entryRuleUnsignedNumber returns [String current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getUnsignedNumberRule()); } 
+	 iv_ruleUnsignedNumber=ruleUnsignedNumber 
+	 { $current=$iv_ruleUnsignedNumber.current.getText(); }  
+	 EOF 
+;
+
+// Rule UnsignedNumber
+ruleUnsignedNumber returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(    this_INT_0=RULE_INT    {
+		$current.merge(this_INT_0);
+    }
+
+    { 
+    newLeafNode(this_INT_0, grammarAccess.getUnsignedNumberAccess().getINTTerminalRuleCall_0()); 
+    }
+(
+	kw='.' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getUnsignedNumberAccess().getFullStopKeyword_1_0()); 
+    }
+    this_INT_2=RULE_INT    {
+		$current.merge(this_INT_2);
+    }
+
+    { 
+    newLeafNode(this_INT_2, grammarAccess.getUnsignedNumberAccess().getINTTerminalRuleCall_1_1()); 
+    }
+)?)
+    ;
+
+
+
+
+
+// Entry rule entryRuleSINT
+entryRuleSINT returns [String current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getSINTRule()); } 
+	 iv_ruleSINT=ruleSINT 
+	 { $current=$iv_ruleSINT.current.getText(); }  
+	 EOF 
+;
+
+// Rule SINT
+ruleSINT returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+((
+	kw='-' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getSINTAccess().getHyphenMinusKeyword_0()); 
+    }
+)?    this_INT_1=RULE_INT    {
+		$current.merge(this_INT_1);
+    }
+
+    { 
+    newLeafNode(this_INT_1, grammarAccess.getSINTAccess().getINTTerminalRuleCall_1()); 
+    }
+)
+    ;
+
+
+
+
+
+// Entry rule entryRuleQualifiedName
+entryRuleQualifiedName returns [String current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getQualifiedNameRule()); } 
+	 iv_ruleQualifiedName=ruleQualifiedName 
+	 { $current=$iv_ruleQualifiedName.current.getText(); }  
+	 EOF 
+;
+
+// Rule QualifiedName
+ruleQualifiedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(
+    { 
+        newCompositeNode(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_0()); 
+    }
+    this_ValidID_0=ruleValidID    {
+		$current.merge(this_ValidID_0);
+    }
+
+    { 
+        afterParserOrEnumRuleCall();
+    }
+(((
+	'.' 
+)=>
+	kw='.' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getFullStopKeyword_1_0()); 
+    }
+)
+    { 
+        newCompositeNode(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_1_1()); 
+    }
+    this_ValidID_2=ruleValidID    {
+		$current.merge(this_ValidID_2);
+    }
+
+    { 
+        afterParserOrEnumRuleCall();
+    }
+)*)
+    ;
+
+
+
+
+
+// Entry rule entryRuleValidID
+entryRuleValidID returns [String current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getValidIDRule()); } 
+	 iv_ruleValidID=ruleValidID 
+	 { $current=$iv_ruleValidID.current.getText(); }  
+	 EOF 
+;
+
+// Rule ValidID
+ruleValidID returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+    this_ID_0=RULE_ID    {
+		$current.merge(this_ID_0);
+    }
+
+    { 
+    newLeafNode(this_ID_0, grammarAccess.getValidIDAccess().getIDTerminalRuleCall()); 
+    }
+
+    ;
+
+
+
+
+
+// Entry rule entryRuleXAnnotation
+entryRuleXAnnotation returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getXAnnotationRule()); }
+	 iv_ruleXAnnotation=ruleXAnnotation 
+	 { $current=$iv_ruleXAnnotation.current; } 
+	 EOF 
+;
+
+// Rule XAnnotation
+ruleXAnnotation returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+((
+    {
+        $current = forceCreateModelElement(
+            grammarAccess.getXAnnotationAccess().getXAnnotationAction_0(),
+            $current);
+    }
+)	otherlv_1='@' 
+    {
+    	newLeafNode(otherlv_1, grammarAccess.getXAnnotationAccess().getCommercialAtKeyword_1());
+    }
+(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getXAnnotationRule());
+	        }
+        }
+		{ 
+	        newCompositeNode(grammarAccess.getXAnnotationAccess().getAnnotationTypeJvmAnnotationTypeCrossReference_2_0()); 
+	    }
+		ruleQualifiedName		{ 
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)(((	'(' 
+)=>	otherlv_3='(' 
+    {
+    	newLeafNode(otherlv_3, grammarAccess.getXAnnotationAccess().getLeftParenthesisKeyword_3_0());
+    }
+)((((((
+(
+		ruleValidID
+)
+)	'=' 
+))=>
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXAnnotationAccess().getElementValuePairsXAnnotationElementValuePairParserRuleCall_3_1_0_0_0()); 
+	    }
+		lv_elementValuePairs_4_0=ruleXAnnotationElementValuePair		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXAnnotationRule());
+	        }
+       		add(
+       			$current, 
+       			"elementValuePairs",
+        		lv_elementValuePairs_4_0, 
+        		"XAnnotationElementValuePair");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)(	otherlv_5=',' 
+    {
+    	newLeafNode(otherlv_5, grammarAccess.getXAnnotationAccess().getCommaKeyword_3_1_0_1_0());
+    }
+((((
+(
+		ruleValidID
+)
+)	'=' 
+))=>
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXAnnotationAccess().getElementValuePairsXAnnotationElementValuePairParserRuleCall_3_1_0_1_1_0()); 
+	    }
+		lv_elementValuePairs_6_0=ruleXAnnotationElementValuePair		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXAnnotationRule());
+	        }
+       		add(
+       			$current, 
+       			"elementValuePairs",
+        		lv_elementValuePairs_6_0, 
+        		"XAnnotationElementValuePair");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))*)
+    |(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXAnnotationAccess().getValueXAnnotationElementValueOrCommaListParserRuleCall_3_1_1_0()); 
+	    }
+		lv_value_7_0=ruleXAnnotationElementValueOrCommaList		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXAnnotationRule());
+	        }
+       		set(
+       			$current, 
+       			"value",
+        		lv_value_7_0, 
+        		"XAnnotationElementValueOrCommaList");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))?	otherlv_8=')' 
+    {
+    	newLeafNode(otherlv_8, grammarAccess.getXAnnotationAccess().getRightParenthesisKeyword_3_2());
+    }
+)?)
+;
+
+
+
+
+
+// Entry rule entryRuleXAnnotationElementValuePair
+entryRuleXAnnotationElementValuePair returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getXAnnotationElementValuePairRule()); }
+	 iv_ruleXAnnotationElementValuePair=ruleXAnnotationElementValuePair 
+	 { $current=$iv_ruleXAnnotationElementValuePair.current; } 
+	 EOF 
+;
+
+// Rule XAnnotationElementValuePair
+ruleXAnnotationElementValuePair returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(((((
+(
+		ruleValidID
+)
+)	'=' 
+))=>((
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getXAnnotationElementValuePairRule());
+	        }
+        }
+		{ 
+	        newCompositeNode(grammarAccess.getXAnnotationElementValuePairAccess().getElementJvmOperationCrossReference_0_0_0_0()); 
+	    }
+		ruleValidID		{ 
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_1='=' 
+    {
+    	newLeafNode(otherlv_1, grammarAccess.getXAnnotationElementValuePairAccess().getEqualsSignKeyword_0_0_1());
+    }
+))(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXAnnotationElementValuePairAccess().getValueXAnnotationElementValueParserRuleCall_1_0()); 
+	    }
+		lv_value_2_0=ruleXAnnotationElementValue		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXAnnotationElementValuePairRule());
+	        }
+       		set(
+       			$current, 
+       			"value",
+        		lv_value_2_0, 
+        		"XAnnotationElementValue");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleXAnnotationElementValueOrCommaList
+entryRuleXAnnotationElementValueOrCommaList returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getXAnnotationElementValueOrCommaListRule()); }
+	 iv_ruleXAnnotationElementValueOrCommaList=ruleXAnnotationElementValueOrCommaList 
+	 { $current=$iv_ruleXAnnotationElementValueOrCommaList.current; } 
+	 EOF 
+;
+
+// Rule XAnnotationElementValueOrCommaList
+ruleXAnnotationElementValueOrCommaList returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+((((((
+)	'#' 
+	'[' 
+))=>((
+    {
+        $current = forceCreateModelElement(
+            grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralAction_0_0_0_0(),
+            $current);
+    }
+)	otherlv_1='#' 
+    {
+    	newLeafNode(otherlv_1, grammarAccess.getXAnnotationElementValueOrCommaListAccess().getNumberSignKeyword_0_0_0_1());
+    }
+	otherlv_2='[' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getXAnnotationElementValueOrCommaListAccess().getLeftSquareBracketKeyword_0_0_0_2());
+    }
+))((
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getElementsXAnnotationOrExpressionParserRuleCall_0_1_0_0()); 
+	    }
+		lv_elements_3_0=ruleXAnnotationOrExpression		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXAnnotationElementValueOrCommaListRule());
+	        }
+       		add(
+       			$current, 
+       			"elements",
+        		lv_elements_3_0, 
+        		"XAnnotationOrExpression");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)(	otherlv_4=',' 
+    {
+    	newLeafNode(otherlv_4, grammarAccess.getXAnnotationElementValueOrCommaListAccess().getCommaKeyword_0_1_1_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getElementsXAnnotationOrExpressionParserRuleCall_0_1_1_1_0()); 
+	    }
+		lv_elements_5_0=ruleXAnnotationOrExpression		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXAnnotationElementValueOrCommaListRule());
+	        }
+       		add(
+       			$current, 
+       			"elements",
+        		lv_elements_5_0, 
+        		"XAnnotationOrExpression");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))*)?	otherlv_6=']' 
+    {
+    	newLeafNode(otherlv_6, grammarAccess.getXAnnotationElementValueOrCommaListAccess().getRightSquareBracketKeyword_0_2());
+    }
+)
+    |(
+    { 
+        newCompositeNode(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXAnnotationOrExpressionParserRuleCall_1_0()); 
+    }
+    this_XAnnotationOrExpression_7=ruleXAnnotationOrExpression
+    { 
+        $current = $this_XAnnotationOrExpression_7.current; 
+        afterParserOrEnumRuleCall();
+    }
+((
+    {
+        $current = forceCreateModelElementAndAdd(
+            grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0(),
+            $current);
+    }
+)(	otherlv_9=',' 
+    {
+    	newLeafNode(otherlv_9, grammarAccess.getXAnnotationElementValueOrCommaListAccess().getCommaKeyword_1_1_1_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getElementsXAnnotationOrExpressionParserRuleCall_1_1_1_1_0()); 
+	    }
+		lv_elements_10_0=ruleXAnnotationOrExpression		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXAnnotationElementValueOrCommaListRule());
+	        }
+       		add(
+       			$current, 
+       			"elements",
+        		lv_elements_10_0, 
+        		"XAnnotationOrExpression");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))+)?))
+;
+
+
+
+
+
+// Entry rule entryRuleXAnnotationElementValue
+entryRuleXAnnotationElementValue returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getXAnnotationElementValueRule()); }
+	 iv_ruleXAnnotationElementValue=ruleXAnnotationElementValue 
+	 { $current=$iv_ruleXAnnotationElementValue.current; } 
+	 EOF 
+;
+
+// Rule XAnnotationElementValue
+ruleXAnnotationElementValue returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+((((((
+)	'#' 
+	'[' 
+))=>((
+    {
+        $current = forceCreateModelElement(
+            grammarAccess.getXAnnotationElementValueAccess().getXListLiteralAction_0_0_0_0(),
+            $current);
+    }
+)	otherlv_1='#' 
+    {
+    	newLeafNode(otherlv_1, grammarAccess.getXAnnotationElementValueAccess().getNumberSignKeyword_0_0_0_1());
+    }
+	otherlv_2='[' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getXAnnotationElementValueAccess().getLeftSquareBracketKeyword_0_0_0_2());
+    }
+))((
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXAnnotationElementValueAccess().getElementsXAnnotationOrExpressionParserRuleCall_0_1_0_0()); 
+	    }
+		lv_elements_3_0=ruleXAnnotationOrExpression		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXAnnotationElementValueRule());
+	        }
+       		add(
+       			$current, 
+       			"elements",
+        		lv_elements_3_0, 
+        		"XAnnotationOrExpression");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)(	otherlv_4=',' 
+    {
+    	newLeafNode(otherlv_4, grammarAccess.getXAnnotationElementValueAccess().getCommaKeyword_0_1_1_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXAnnotationElementValueAccess().getElementsXAnnotationOrExpressionParserRuleCall_0_1_1_1_0()); 
+	    }
+		lv_elements_5_0=ruleXAnnotationOrExpression		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXAnnotationElementValueRule());
+	        }
+       		add(
+       			$current, 
+       			"elements",
+        		lv_elements_5_0, 
+        		"XAnnotationOrExpression");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))*)?	otherlv_6=']' 
+    {
+    	newLeafNode(otherlv_6, grammarAccess.getXAnnotationElementValueAccess().getRightSquareBracketKeyword_0_2());
+    }
+)
+    |
+    { 
+        newCompositeNode(grammarAccess.getXAnnotationElementValueAccess().getXAnnotationOrExpressionParserRuleCall_1()); 
+    }
+    this_XAnnotationOrExpression_7=ruleXAnnotationOrExpression
+    { 
+        $current = $this_XAnnotationOrExpression_7.current; 
+        afterParserOrEnumRuleCall();
+    }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleXAnnotationOrExpression
+entryRuleXAnnotationOrExpression returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getXAnnotationOrExpressionRule()); }
+	 iv_ruleXAnnotationOrExpression=ruleXAnnotationOrExpression 
+	 { $current=$iv_ruleXAnnotationOrExpression.current; } 
+	 EOF 
+;
+
+// Rule XAnnotationOrExpression
+ruleXAnnotationOrExpression returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(
+    { 
+        newCompositeNode(grammarAccess.getXAnnotationOrExpressionAccess().getXAnnotationParserRuleCall_0()); 
+    }
+    this_XAnnotation_0=ruleXAnnotation
+    { 
+        $current = $this_XAnnotation_0.current; 
+        afterParserOrEnumRuleCall();
+    }
+
+    |
+    { 
+        newCompositeNode(grammarAccess.getXAnnotationOrExpressionAccess().getXExpressionParserRuleCall_1()); 
+    }
+    this_XExpression_1=ruleXExpression
+    { 
+        $current = $this_XExpression_1.current; 
+        afterParserOrEnumRuleCall();
+    }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleXExpression
+entryRuleXExpression returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getXExpressionRule()); }
+	 iv_ruleXExpression=ruleXExpression 
+	 { $current=$iv_ruleXExpression.current; } 
+	 EOF 
+;
+
+// Rule XExpression
+ruleXExpression returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+
+    { 
+        newCompositeNode(grammarAccess.getXExpressionAccess().getXAssignmentParserRuleCall()); 
+    }
+    this_XAssignment_0=ruleXAssignment
+    { 
+        $current = $this_XAssignment_0.current; 
+        afterParserOrEnumRuleCall();
+    }
+
+;
+
+
+
+
+
+// Entry rule entryRuleXAssignment
+entryRuleXAssignment returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getXAssignmentRule()); }
+	 iv_ruleXAssignment=ruleXAssignment 
+	 { $current=$iv_ruleXAssignment.current; } 
+	 EOF 
+;
+
+// Rule XAssignment
+ruleXAssignment returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(((
+    {
+        $current = forceCreateModelElement(
+            grammarAccess.getXAssignmentAccess().getXAssignmentAction_0_0(),
+            $current);
+    }
+)(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getXAssignmentRule());
+	        }
+        }
+		{ 
+	        newCompositeNode(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementCrossReference_0_1_0()); 
+	    }
+		ruleFeatureCallID		{ 
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)
+    { 
+        newCompositeNode(grammarAccess.getXAssignmentAccess().getOpSingleAssignParserRuleCall_0_2()); 
+    }
+ruleOpSingleAssign
+    { 
+        afterParserOrEnumRuleCall();
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXAssignmentAccess().getValueXAssignmentParserRuleCall_0_3_0()); 
+	    }
+		lv_value_3_0=ruleXAssignment		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXAssignmentRule());
+	        }
+       		set(
+       			$current, 
+       			"value",
+        		lv_value_3_0, 
+        		"XAssignment");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))
+    |(
+    { 
+        newCompositeNode(grammarAccess.getXAssignmentAccess().getXOrExpressionParserRuleCall_1_0()); 
+    }
+    this_XOrExpression_4=ruleXOrExpression
+    { 
+        $current = $this_XOrExpression_4.current; 
+        afterParserOrEnumRuleCall();
+    }
+(((((
+)(
+(
+		ruleOpMultiAssign
+)
+)))=>((
+    {
+        $current = forceCreateModelElementAndSet(
+            grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0(),
+            $current);
+    }
+)(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getXAssignmentRule());
+	        }
+        }
+		{ 
+	        newCompositeNode(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_0_0_1_0()); 
+	    }
+		ruleOpMultiAssign		{ 
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)))(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXAssignmentAccess().getRightOperandXAssignmentParserRuleCall_1_1_1_0()); 
+	    }
+		lv_rightOperand_7_0=ruleXAssignment		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXAssignmentRule());
+	        }
+       		set(
+       			$current, 
+       			"rightOperand",
+        		lv_rightOperand_7_0, 
+        		"XAssignment");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))?))
+;
+
+
+
+
+
+// Entry rule entryRuleOpSingleAssign
+entryRuleOpSingleAssign returns [String current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getOpSingleAssignRule()); } 
+	 iv_ruleOpSingleAssign=ruleOpSingleAssign 
+	 { $current=$iv_ruleOpSingleAssign.current.getText(); }  
+	 EOF 
+;
+
+// Rule OpSingleAssign
+ruleOpSingleAssign returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+
+	kw='=' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getOpSingleAssignAccess().getEqualsSignKeyword()); 
+    }
+
+    ;
+
+
+
+
+
+// Entry rule entryRuleOpMultiAssign
+entryRuleOpMultiAssign returns [String current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getOpMultiAssignRule()); } 
+	 iv_ruleOpMultiAssign=ruleOpMultiAssign 
+	 { $current=$iv_ruleOpMultiAssign.current.getText(); }  
+	 EOF 
+;
+
+// Rule OpMultiAssign
+ruleOpMultiAssign returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(
+	kw='+=' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getPlusSignEqualsSignKeyword_0()); 
+    }
+
+    |
+	kw='-=' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getHyphenMinusEqualsSignKeyword_1()); 
+    }
+
+    |
+	kw='*=' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getAsteriskEqualsSignKeyword_2()); 
+    }
+
+    |
+	kw='/=' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getSolidusEqualsSignKeyword_3()); 
+    }
+
+    |
+	kw='%=' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getPercentSignEqualsSignKeyword_4()); 
+    }
+
+    |(
+	kw='<' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_0()); 
+    }
+
+	kw='<' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_1()); 
+    }
+
+	kw='=' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getEqualsSignKeyword_5_2()); 
+    }
+)
+    |(
+	kw='>' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getGreaterThanSignKeyword_6_0()); 
+    }
+(
+	kw='>' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getGreaterThanSignKeyword_6_1()); 
+    }
+)?
+	kw='>=' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getGreaterThanSignEqualsSignKeyword_6_2()); 
+    }
+))
+    ;
+
+
+
+
+
+// Entry rule entryRuleXOrExpression
+entryRuleXOrExpression returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getXOrExpressionRule()); }
+	 iv_ruleXOrExpression=ruleXOrExpression 
+	 { $current=$iv_ruleXOrExpression.current; } 
+	 EOF 
+;
+
+// Rule XOrExpression
+ruleXOrExpression returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(
+    { 
+        newCompositeNode(grammarAccess.getXOrExpressionAccess().getXAndExpressionParserRuleCall_0()); 
+    }
+    this_XAndExpression_0=ruleXAndExpression
+    { 
+        $current = $this_XAndExpression_0.current; 
+        afterParserOrEnumRuleCall();
+    }
+(((((
+)(
+(
+		ruleOpOr
+)
+)))=>((
+    {
+        $current = forceCreateModelElementAndSet(
+            grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(),
+            $current);
+    }
+)(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getXOrExpressionRule());
+	        }
+        }
+		{ 
+	        newCompositeNode(grammarAccess.getXOrExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); 
+	    }
+		ruleOpOr		{ 
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)))(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXOrExpressionAccess().getRightOperandXAndExpressionParserRuleCall_1_1_0()); 
+	    }
+		lv_rightOperand_3_0=ruleXAndExpression		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXOrExpressionRule());
+	        }
+       		set(
+       			$current, 
+       			"rightOperand",
+        		lv_rightOperand_3_0, 
+        		"XAndExpression");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))*)
+;
+
+
+
+
+
+// Entry rule entryRuleOpOr
+entryRuleOpOr returns [String current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getOpOrRule()); } 
+	 iv_ruleOpOr=ruleOpOr 
+	 { $current=$iv_ruleOpOr.current.getText(); }  
+	 EOF 
+;
+
+// Rule OpOr
+ruleOpOr returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+
+	kw='||' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getOpOrAccess().getVerticalLineVerticalLineKeyword()); 
+    }
+
+    ;
+
+
+
+
+
+// Entry rule entryRuleXAndExpression
+entryRuleXAndExpression returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getXAndExpressionRule()); }
+	 iv_ruleXAndExpression=ruleXAndExpression 
+	 { $current=$iv_ruleXAndExpression.current; } 
+	 EOF 
+;
+
+// Rule XAndExpression
+ruleXAndExpression returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(
+    { 
+        newCompositeNode(grammarAccess.getXAndExpressionAccess().getXEqualityExpressionParserRuleCall_0()); 
+    }
+    this_XEqualityExpression_0=ruleXEqualityExpression
+    { 
+        $current = $this_XEqualityExpression_0.current; 
+        afterParserOrEnumRuleCall();
+    }
+(((((
+)(
+(
+		ruleOpAnd
+)
+)))=>((
+    {
+        $current = forceCreateModelElementAndSet(
+            grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(),
+            $current);
+    }
+)(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getXAndExpressionRule());
+	        }
+        }
+		{ 
+	        newCompositeNode(grammarAccess.getXAndExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); 
+	    }
+		ruleOpAnd		{ 
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)))(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXAndExpressionAccess().getRightOperandXEqualityExpressionParserRuleCall_1_1_0()); 
+	    }
+		lv_rightOperand_3_0=ruleXEqualityExpression		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXAndExpressionRule());
+	        }
+       		set(
+       			$current, 
+       			"rightOperand",
+        		lv_rightOperand_3_0, 
+        		"XEqualityExpression");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))*)
+;
+
+
+
+
+
+// Entry rule entryRuleOpAnd
+entryRuleOpAnd returns [String current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getOpAndRule()); } 
+	 iv_ruleOpAnd=ruleOpAnd 
+	 { $current=$iv_ruleOpAnd.current.getText(); }  
+	 EOF 
+;
+
+// Rule OpAnd
+ruleOpAnd returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+
+	kw='&&' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getOpAndAccess().getAmpersandAmpersandKeyword()); 
+    }
+
+    ;
+
+
+
+
+
+// Entry rule entryRuleXEqualityExpression
+entryRuleXEqualityExpression returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getXEqualityExpressionRule()); }
+	 iv_ruleXEqualityExpression=ruleXEqualityExpression 
+	 { $current=$iv_ruleXEqualityExpression.current; } 
+	 EOF 
+;
+
+// Rule XEqualityExpression
+ruleXEqualityExpression returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(
+    { 
+        newCompositeNode(grammarAccess.getXEqualityExpressionAccess().getXRelationalExpressionParserRuleCall_0()); 
+    }
+    this_XRelationalExpression_0=ruleXRelationalExpression
+    { 
+        $current = $this_XRelationalExpression_0.current; 
+        afterParserOrEnumRuleCall();
+    }
+(((((
+)(
+(
+		ruleOpEquality
+)
+)))=>((
+    {
+        $current = forceCreateModelElementAndSet(
+            grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(),
+            $current);
+    }
+)(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getXEqualityExpressionRule());
+	        }
+        }
+		{ 
+	        newCompositeNode(grammarAccess.getXEqualityExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); 
+	    }
+		ruleOpEquality		{ 
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)))(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXEqualityExpressionAccess().getRightOperandXRelationalExpressionParserRuleCall_1_1_0()); 
+	    }
+		lv_rightOperand_3_0=ruleXRelationalExpression		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXEqualityExpressionRule());
+	        }
+       		set(
+       			$current, 
+       			"rightOperand",
+        		lv_rightOperand_3_0, 
+        		"XRelationalExpression");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))*)
+;
+
+
+
+
+
+// Entry rule entryRuleOpEquality
+entryRuleOpEquality returns [String current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getOpEqualityRule()); } 
+	 iv_ruleOpEquality=ruleOpEquality 
+	 { $current=$iv_ruleOpEquality.current.getText(); }  
+	 EOF 
+;
+
+// Rule OpEquality
+ruleOpEquality returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(
+	kw='==' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignKeyword_0()); 
+    }
+
+    |
+	kw='!=' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignKeyword_1()); 
+    }
+
+    |
+	kw='===' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignEqualsSignKeyword_2()); 
+    }
+
+    |
+	kw='!==' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignEqualsSignKeyword_3()); 
+    }
+)
+    ;
+
+
+
+
+
+// Entry rule entryRuleXRelationalExpression
+entryRuleXRelationalExpression returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getXRelationalExpressionRule()); }
+	 iv_ruleXRelationalExpression=ruleXRelationalExpression 
+	 { $current=$iv_ruleXRelationalExpression.current; } 
+	 EOF 
+;
+
+// Rule XRelationalExpression
+ruleXRelationalExpression returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(
+    { 
+        newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getXOtherOperatorExpressionParserRuleCall_0()); 
+    }
+    this_XOtherOperatorExpression_0=ruleXOtherOperatorExpression
+    { 
+        $current = $this_XOtherOperatorExpression_0.current; 
+        afterParserOrEnumRuleCall();
+    }
+((((((
+)	'instanceof' 
+))=>((
+    {
+        $current = forceCreateModelElementAndSet(
+            grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0(),
+            $current);
+    }
+)	otherlv_2='instanceof' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getXRelationalExpressionAccess().getInstanceofKeyword_1_0_0_0_1());
+    }
+))(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getTypeJvmTypeReferenceParserRuleCall_1_0_1_0()); 
+	    }
+		lv_type_3_0=ruleJvmTypeReference		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXRelationalExpressionRule());
+	        }
+       		set(
+       			$current, 
+       			"type",
+        		lv_type_3_0, 
+        		"JvmTypeReference");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))
+    |(((((
+)(
+(
+		ruleOpCompare
+)
+)))=>((
+    {
+        $current = forceCreateModelElementAndSet(
+            grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0(),
+            $current);
+    }
+)(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getXRelationalExpressionRule());
+	        }
+        }
+		{ 
+	        newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_0_0_1_0()); 
+	    }
+		ruleOpCompare		{ 
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)))(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getRightOperandXOtherOperatorExpressionParserRuleCall_1_1_1_0()); 
+	    }
+		lv_rightOperand_6_0=ruleXOtherOperatorExpression		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXRelationalExpressionRule());
+	        }
+       		set(
+       			$current, 
+       			"rightOperand",
+        		lv_rightOperand_6_0, 
+        		"XOtherOperatorExpression");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)))*)
+;
+
+
+
+
+
+// Entry rule entryRuleOpCompare
+entryRuleOpCompare returns [String current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getOpCompareRule()); } 
+	 iv_ruleOpCompare=ruleOpCompare 
+	 { $current=$iv_ruleOpCompare.current.getText(); }  
+	 EOF 
+;
+
+// Rule OpCompare
+ruleOpCompare returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(
+	kw='>=' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getOpCompareAccess().getGreaterThanSignEqualsSignKeyword_0()); 
+    }
+
+    |(
+	kw='<' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getOpCompareAccess().getLessThanSignKeyword_1_0()); 
+    }
+
+	kw='=' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getOpCompareAccess().getEqualsSignKeyword_1_1()); 
+    }
+)
+    |
+	kw='>' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getOpCompareAccess().getGreaterThanSignKeyword_2()); 
+    }
+
+    |
+	kw='<' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getOpCompareAccess().getLessThanSignKeyword_3()); 
+    }
+)
+    ;
+
+
+
+
+
+// Entry rule entryRuleXOtherOperatorExpression
+entryRuleXOtherOperatorExpression returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getXOtherOperatorExpressionRule()); }
+	 iv_ruleXOtherOperatorExpression=ruleXOtherOperatorExpression 
+	 { $current=$iv_ruleXOtherOperatorExpression.current; } 
+	 EOF 
+;
+
+// Rule XOtherOperatorExpression
+ruleXOtherOperatorExpression returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(
+    { 
+        newCompositeNode(grammarAccess.getXOtherOperatorExpressionAccess().getXAdditiveExpressionParserRuleCall_0()); 
+    }
+    this_XAdditiveExpression_0=ruleXAdditiveExpression
+    { 
+        $current = $this_XAdditiveExpression_0.current; 
+        afterParserOrEnumRuleCall();
+    }
+(((((
+)(
+(
+		ruleOpOther
+)
+)))=>((
+    {
+        $current = forceCreateModelElementAndSet(
+            grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(),
+            $current);
+    }
+)(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getXOtherOperatorExpressionRule());
+	        }
+        }
+		{ 
+	        newCompositeNode(grammarAccess.getXOtherOperatorExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); 
+	    }
+		ruleOpOther		{ 
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)))(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXOtherOperatorExpressionAccess().getRightOperandXAdditiveExpressionParserRuleCall_1_1_0()); 
+	    }
+		lv_rightOperand_3_0=ruleXAdditiveExpression		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXOtherOperatorExpressionRule());
+	        }
+       		set(
+       			$current, 
+       			"rightOperand",
+        		lv_rightOperand_3_0, 
+        		"XAdditiveExpression");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))*)
+;
+
+
+
+
+
+// Entry rule entryRuleOpOther
+entryRuleOpOther returns [String current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getOpOtherRule()); } 
+	 iv_ruleOpOther=ruleOpOther 
+	 { $current=$iv_ruleOpOther.current.getText(); }  
+	 EOF 
+;
+
+// Rule OpOther
+ruleOpOther returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(
+	kw='->' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getOpOtherAccess().getHyphenMinusGreaterThanSignKeyword_0()); 
+    }
+
+    |
+	kw='..<' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getOpOtherAccess().getFullStopFullStopLessThanSignKeyword_1()); 
+    }
+
+    |(
+	kw='>' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_2_0()); 
+    }
+
+	kw='..' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_2_1()); 
+    }
+)
+    |
+	kw='..' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_3()); 
+    }
+
+    |
+	kw='=>' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_4()); 
+    }
+
+    |(
+	kw='>' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_0()); 
+    }
+((((
+	'>' 
+
+	'>' 
+))=>(
+	kw='>' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_0_0_0()); 
+    }
+
+	kw='>' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_0_0_1()); 
+    }
+))
+    |
+	kw='>' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_1()); 
+    }
+))
+    |(
+	kw='<' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_0()); 
+    }
+((((
+	'<' 
+
+	'<' 
+))=>(
+	kw='<' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_0_0_0()); 
+    }
+
+	kw='<' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_0_0_1()); 
+    }
+))
+    |
+	kw='<' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_1()); 
+    }
+
+    |
+	kw='=>' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_6_1_2()); 
+    }
+))
+    |
+	kw='<>' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignGreaterThanSignKeyword_7()); 
+    }
+
+    |
+	kw='?:' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getOpOtherAccess().getQuestionMarkColonKeyword_8()); 
+    }
+)
+    ;
+
+
+
+
+
+// Entry rule entryRuleXAdditiveExpression
+entryRuleXAdditiveExpression returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getXAdditiveExpressionRule()); }
+	 iv_ruleXAdditiveExpression=ruleXAdditiveExpression 
+	 { $current=$iv_ruleXAdditiveExpression.current; } 
+	 EOF 
+;
+
+// Rule XAdditiveExpression
+ruleXAdditiveExpression returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(
+    { 
+        newCompositeNode(grammarAccess.getXAdditiveExpressionAccess().getXMultiplicativeExpressionParserRuleCall_0()); 
+    }
+    this_XMultiplicativeExpression_0=ruleXMultiplicativeExpression
+    { 
+        $current = $this_XMultiplicativeExpression_0.current; 
+        afterParserOrEnumRuleCall();
+    }
+(((((
+)(
+(
+		ruleOpAdd
+)
+)))=>((
+    {
+        $current = forceCreateModelElementAndSet(
+            grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(),
+            $current);
+    }
+)(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getXAdditiveExpressionRule());
+	        }
+        }
+		{ 
+	        newCompositeNode(grammarAccess.getXAdditiveExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); 
+	    }
+		ruleOpAdd		{ 
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)))(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXAdditiveExpressionAccess().getRightOperandXMultiplicativeExpressionParserRuleCall_1_1_0()); 
+	    }
+		lv_rightOperand_3_0=ruleXMultiplicativeExpression		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXAdditiveExpressionRule());
+	        }
+       		set(
+       			$current, 
+       			"rightOperand",
+        		lv_rightOperand_3_0, 
+        		"XMultiplicativeExpression");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))*)
+;
+
+
+
+
+
+// Entry rule entryRuleOpAdd
+entryRuleOpAdd returns [String current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getOpAddRule()); } 
+	 iv_ruleOpAdd=ruleOpAdd 
+	 { $current=$iv_ruleOpAdd.current.getText(); }  
+	 EOF 
+;
+
+// Rule OpAdd
+ruleOpAdd returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(
+	kw='+' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getOpAddAccess().getPlusSignKeyword_0()); 
+    }
+
+    |
+	kw='-' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getOpAddAccess().getHyphenMinusKeyword_1()); 
+    }
+)
+    ;
+
+
+
+
+
+// Entry rule entryRuleXMultiplicativeExpression
+entryRuleXMultiplicativeExpression returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getXMultiplicativeExpressionRule()); }
+	 iv_ruleXMultiplicativeExpression=ruleXMultiplicativeExpression 
+	 { $current=$iv_ruleXMultiplicativeExpression.current; } 
+	 EOF 
+;
+
+// Rule XMultiplicativeExpression
+ruleXMultiplicativeExpression returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(
+    { 
+        newCompositeNode(grammarAccess.getXMultiplicativeExpressionAccess().getXUnaryOperationParserRuleCall_0()); 
+    }
+    this_XUnaryOperation_0=ruleXUnaryOperation
+    { 
+        $current = $this_XUnaryOperation_0.current; 
+        afterParserOrEnumRuleCall();
+    }
+(((((
+)(
+(
+		ruleOpMulti
+)
+)))=>((
+    {
+        $current = forceCreateModelElementAndSet(
+            grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(),
+            $current);
+    }
+)(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getXMultiplicativeExpressionRule());
+	        }
+        }
+		{ 
+	        newCompositeNode(grammarAccess.getXMultiplicativeExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); 
+	    }
+		ruleOpMulti		{ 
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)))(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXMultiplicativeExpressionAccess().getRightOperandXUnaryOperationParserRuleCall_1_1_0()); 
+	    }
+		lv_rightOperand_3_0=ruleXUnaryOperation		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXMultiplicativeExpressionRule());
+	        }
+       		set(
+       			$current, 
+       			"rightOperand",
+        		lv_rightOperand_3_0, 
+        		"XUnaryOperation");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))*)
+;
+
+
+
+
+
+// Entry rule entryRuleOpMulti
+entryRuleOpMulti returns [String current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getOpMultiRule()); } 
+	 iv_ruleOpMulti=ruleOpMulti 
+	 { $current=$iv_ruleOpMulti.current.getText(); }  
+	 EOF 
+;
+
+// Rule OpMulti
+ruleOpMulti returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(
+	kw='*' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getOpMultiAccess().getAsteriskKeyword_0()); 
+    }
+
+    |
+	kw='**' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getOpMultiAccess().getAsteriskAsteriskKeyword_1()); 
+    }
+
+    |
+	kw='/' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getOpMultiAccess().getSolidusKeyword_2()); 
+    }
+
+    |
+	kw='%' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getOpMultiAccess().getPercentSignKeyword_3()); 
+    }
+)
+    ;
+
+
+
+
+
+// Entry rule entryRuleXUnaryOperation
+entryRuleXUnaryOperation returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getXUnaryOperationRule()); }
+	 iv_ruleXUnaryOperation=ruleXUnaryOperation 
+	 { $current=$iv_ruleXUnaryOperation.current; } 
+	 EOF 
+;
+
+// Rule XUnaryOperation
+ruleXUnaryOperation returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(((
+    {
+        $current = forceCreateModelElement(
+            grammarAccess.getXUnaryOperationAccess().getXUnaryOperationAction_0_0(),
+            $current);
+    }
+)(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getXUnaryOperationRule());
+	        }
+        }
+		{ 
+	        newCompositeNode(grammarAccess.getXUnaryOperationAccess().getFeatureJvmIdentifiableElementCrossReference_0_1_0()); 
+	    }
+		ruleOpUnary		{ 
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXUnaryOperationAccess().getOperandXUnaryOperationParserRuleCall_0_2_0()); 
+	    }
+		lv_operand_2_0=ruleXUnaryOperation		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXUnaryOperationRule());
+	        }
+       		set(
+       			$current, 
+       			"operand",
+        		lv_operand_2_0, 
+        		"XUnaryOperation");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))
+    |
+    { 
+        newCompositeNode(grammarAccess.getXUnaryOperationAccess().getXCastedExpressionParserRuleCall_1()); 
+    }
+    this_XCastedExpression_3=ruleXCastedExpression
+    { 
+        $current = $this_XCastedExpression_3.current; 
+        afterParserOrEnumRuleCall();
+    }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleOpUnary
+entryRuleOpUnary returns [String current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getOpUnaryRule()); } 
+	 iv_ruleOpUnary=ruleOpUnary 
+	 { $current=$iv_ruleOpUnary.current.getText(); }  
+	 EOF 
+;
+
+// Rule OpUnary
+ruleOpUnary returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(
+	kw='!' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getOpUnaryAccess().getExclamationMarkKeyword_0()); 
+    }
+
+    |
+	kw='-' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getOpUnaryAccess().getHyphenMinusKeyword_1()); 
+    }
+
+    |
+	kw='+' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getOpUnaryAccess().getPlusSignKeyword_2()); 
+    }
+)
+    ;
+
+
+
+
+
+// Entry rule entryRuleXCastedExpression
+entryRuleXCastedExpression returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getXCastedExpressionRule()); }
+	 iv_ruleXCastedExpression=ruleXCastedExpression 
+	 { $current=$iv_ruleXCastedExpression.current; } 
+	 EOF 
+;
+
+// Rule XCastedExpression
+ruleXCastedExpression returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(
+    { 
+        newCompositeNode(grammarAccess.getXCastedExpressionAccess().getXPostfixOperationParserRuleCall_0()); 
+    }
+    this_XPostfixOperation_0=ruleXPostfixOperation
+    { 
+        $current = $this_XPostfixOperation_0.current; 
+        afterParserOrEnumRuleCall();
+    }
+(((((
+)	'as' 
+))=>((
+    {
+        $current = forceCreateModelElementAndSet(
+            grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0(),
+            $current);
+    }
+)	otherlv_2='as' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getXCastedExpressionAccess().getAsKeyword_1_0_0_1());
+    }
+))(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXCastedExpressionAccess().getTypeJvmTypeReferenceParserRuleCall_1_1_0()); 
+	    }
+		lv_type_3_0=ruleJvmTypeReference		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXCastedExpressionRule());
+	        }
+       		set(
+       			$current, 
+       			"type",
+        		lv_type_3_0, 
+        		"JvmTypeReference");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))*)
+;
+
+
+
+
+
+// Entry rule entryRuleXPostfixOperation
+entryRuleXPostfixOperation returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getXPostfixOperationRule()); }
+	 iv_ruleXPostfixOperation=ruleXPostfixOperation 
+	 { $current=$iv_ruleXPostfixOperation.current; } 
+	 EOF 
+;
+
+// Rule XPostfixOperation
+ruleXPostfixOperation returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(
+    { 
+        newCompositeNode(grammarAccess.getXPostfixOperationAccess().getXMemberFeatureCallParserRuleCall_0()); 
+    }
+    this_XMemberFeatureCall_0=ruleXMemberFeatureCall
+    { 
+        $current = $this_XMemberFeatureCall_0.current; 
+        afterParserOrEnumRuleCall();
+    }
+((((
+)(
+(
+		ruleOpPostfix
+)
+)))=>((
+    {
+        $current = forceCreateModelElementAndSet(
+            grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0(),
+            $current);
+    }
+)(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getXPostfixOperationRule());
+	        }
+        }
+		{ 
+	        newCompositeNode(grammarAccess.getXPostfixOperationAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_1_0()); 
+	    }
+		ruleOpPostfix		{ 
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)))?)
+;
+
+
+
+
+
+// Entry rule entryRuleOpPostfix
+entryRuleOpPostfix returns [String current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getOpPostfixRule()); } 
+	 iv_ruleOpPostfix=ruleOpPostfix 
+	 { $current=$iv_ruleOpPostfix.current.getText(); }  
+	 EOF 
+;
+
+// Rule OpPostfix
+ruleOpPostfix returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(
+	kw='++' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getOpPostfixAccess().getPlusSignPlusSignKeyword_0()); 
+    }
+
+    |
+	kw='--' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getOpPostfixAccess().getHyphenMinusHyphenMinusKeyword_1()); 
+    }
+)
+    ;
+
+
+
+
+
+// Entry rule entryRuleXMemberFeatureCall
+entryRuleXMemberFeatureCall returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getXMemberFeatureCallRule()); }
+	 iv_ruleXMemberFeatureCall=ruleXMemberFeatureCall 
+	 { $current=$iv_ruleXMemberFeatureCall.current; } 
+	 EOF 
+;
+
+// Rule XMemberFeatureCall
+ruleXMemberFeatureCall returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(
+    { 
+        newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getXPrimaryExpressionParserRuleCall_0()); 
+    }
+    this_XPrimaryExpression_0=ruleXPrimaryExpression
+    { 
+        $current = $this_XPrimaryExpression_0.current; 
+        afterParserOrEnumRuleCall();
+    }
+((((((
+)(	'.' 
+
+    |(
+(
+	'::' 
+ 
+
+)
+))(
+(
+		ruleFeatureCallID
+)
+)	ruleOpSingleAssign))=>((
+    {
+        $current = forceCreateModelElementAndSet(
+            grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0(),
+            $current);
+    }
+)(	otherlv_2='.' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_0_0_0_1_0());
+    }
+
+    |(
+(
+		lv_explicitStatic_3_0=	'::' 
+    {
+        newLeafNode(lv_explicitStatic_3_0, grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_0_0_0_1_1_0());
+    }
+ 
+	    {
+	        if ($current==null) {
+	            $current = createModelElement(grammarAccess.getXMemberFeatureCallRule());
+	        }
+       		setWithLastConsumed($current, "explicitStatic", true, "::");
+	    }
+
+)
+))(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getXMemberFeatureCallRule());
+	        }
+        }
+		{ 
+	        newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_0_2_0()); 
+	    }
+		ruleFeatureCallID		{ 
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)
+    { 
+        newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getOpSingleAssignParserRuleCall_1_0_0_0_3()); 
+    }
+ruleOpSingleAssign
+    { 
+        afterParserOrEnumRuleCall();
+    }
+))(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getValueXAssignmentParserRuleCall_1_0_1_0()); 
+	    }
+		lv_value_6_0=ruleXAssignment		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule());
+	        }
+       		set(
+       			$current, 
+       			"value",
+        		lv_value_6_0, 
+        		"XAssignment");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))
+    |(((((
+)(	'.' 
+
+    |(
+(
+	'?.' 
+ 
+
+)
+)
+    |(
+(
+	'::' 
+ 
+
+)
+))))=>((
+    {
+        $current = forceCreateModelElementAndSet(
+            grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0(),
+            $current);
+    }
+)(	otherlv_8='.' 
+    {
+    	newLeafNode(otherlv_8, grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_1_0_0_1_0());
+    }
+
+    |(
+(
+		lv_nullSafe_9_0=	'?.' 
+    {
+        newLeafNode(lv_nullSafe_9_0, grammarAccess.getXMemberFeatureCallAccess().getNullSafeQuestionMarkFullStopKeyword_1_1_0_0_1_1_0());
+    }
+ 
+	    {
+	        if ($current==null) {
+	            $current = createModelElement(grammarAccess.getXMemberFeatureCallRule());
+	        }
+       		setWithLastConsumed($current, "nullSafe", true, "?.");
+	    }
+
+)
+)
+    |(
+(
+		lv_explicitStatic_10_0=	'::' 
+    {
+        newLeafNode(lv_explicitStatic_10_0, grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_1_0_0_1_2_0());
+    }
+ 
+	    {
+	        if ($current==null) {
+	            $current = createModelElement(grammarAccess.getXMemberFeatureCallRule());
+	        }
+       		setWithLastConsumed($current, "explicitStatic", true, "::");
+	    }
+
+)
+))))(	otherlv_11='<' 
+    {
+    	newLeafNode(otherlv_11, grammarAccess.getXMemberFeatureCallAccess().getLessThanSignKeyword_1_1_1_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_1_1_0()); 
+	    }
+		lv_typeArguments_12_0=ruleJvmArgumentTypeReference		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule());
+	        }
+       		add(
+       			$current, 
+       			"typeArguments",
+        		lv_typeArguments_12_0, 
+        		"JvmArgumentTypeReference");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)(	otherlv_13=',' 
+    {
+    	newLeafNode(otherlv_13, grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_1_2_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_1_2_1_0()); 
+	    }
+		lv_typeArguments_14_0=ruleJvmArgumentTypeReference		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule());
+	        }
+       		add(
+       			$current, 
+       			"typeArguments",
+        		lv_typeArguments_14_0, 
+        		"JvmArgumentTypeReference");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))*	otherlv_15='>' 
+    {
+    	newLeafNode(otherlv_15, grammarAccess.getXMemberFeatureCallAccess().getGreaterThanSignKeyword_1_1_1_3());
+    }
+)?(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getXMemberFeatureCallRule());
+	        }
+        }
+		{ 
+	        newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_2_0()); 
+	    }
+		ruleIdOrSuper		{ 
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)(((
+(
+	'(' 
+ 
+
+)
+)=>
+(
+		lv_explicitOperationCall_17_0=	'(' 
+    {
+        newLeafNode(lv_explicitOperationCall_17_0, grammarAccess.getXMemberFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_1_1_3_0_0());
+    }
+ 
+	    {
+	        if ($current==null) {
+	            $current = createModelElement(grammarAccess.getXMemberFeatureCallRule());
+	        }
+       		setWithLastConsumed($current, "explicitOperationCall", true, "(");
+	    }
+
+)
+)(((((
+)((
+(
+ruleJvmFormalParameter
+)
+)(	',' 
+(
+(
+ruleJvmFormalParameter
+)
+))*)?(
+(
+	'|' 
+ 
+
+)
+)))=>
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXShortClosureParserRuleCall_1_1_3_1_0_0()); 
+	    }
+		lv_memberCallArguments_18_0=ruleXShortClosure		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule());
+	        }
+       		add(
+       			$current, 
+       			"memberCallArguments",
+        		lv_memberCallArguments_18_0, 
+        		"XShortClosure");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)
+    |((
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXExpressionParserRuleCall_1_1_3_1_1_0_0()); 
+	    }
+		lv_memberCallArguments_19_0=ruleXExpression		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule());
+	        }
+       		add(
+       			$current, 
+       			"memberCallArguments",
+        		lv_memberCallArguments_19_0, 
+        		"XExpression");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)(	otherlv_20=',' 
+    {
+    	newLeafNode(otherlv_20, grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_3_1_1_1_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXExpressionParserRuleCall_1_1_3_1_1_1_1_0()); 
+	    }
+		lv_memberCallArguments_21_0=ruleXExpression		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule());
+	        }
+       		add(
+       			$current, 
+       			"memberCallArguments",
+        		lv_memberCallArguments_21_0, 
+        		"XExpression");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))*))?	otherlv_22=')' 
+    {
+    	newLeafNode(otherlv_22, grammarAccess.getXMemberFeatureCallAccess().getRightParenthesisKeyword_1_1_3_2());
+    }
+)?((((
+)	'[' 
+))=>
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXClosureParserRuleCall_1_1_4_0()); 
+	    }
+		lv_memberCallArguments_23_0=ruleXClosure		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule());
+	        }
+       		add(
+       			$current, 
+       			"memberCallArguments",
+        		lv_memberCallArguments_23_0, 
+        		"XClosure");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)?))*)
+;
+
+
+
+
+
+// Entry rule entryRuleXPrimaryExpression
+entryRuleXPrimaryExpression returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getXPrimaryExpressionRule()); }
+	 iv_ruleXPrimaryExpression=ruleXPrimaryExpression 
+	 { $current=$iv_ruleXPrimaryExpression.current; } 
+	 EOF 
+;
+
+// Rule XPrimaryExpression
+ruleXPrimaryExpression returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(
+    { 
+        newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXConstructorCallParserRuleCall_0()); 
+    }
+    this_XConstructorCall_0=ruleXConstructorCall
+    { 
+        $current = $this_XConstructorCall_0.current; 
+        afterParserOrEnumRuleCall();
+    }
+
+    |
+    { 
+        newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXBlockExpressionParserRuleCall_1()); 
+    }
+    this_XBlockExpression_1=ruleXBlockExpression
+    { 
+        $current = $this_XBlockExpression_1.current; 
+        afterParserOrEnumRuleCall();
+    }
+
+    |
+    { 
+        newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXSwitchExpressionParserRuleCall_2()); 
+    }
+    this_XSwitchExpression_2=ruleXSwitchExpression
+    { 
+        $current = $this_XSwitchExpression_2.current; 
+        afterParserOrEnumRuleCall();
+    }
+
+    |((((
+)	'synchronized' 
+	'(' 
+))=>
+    { 
+        newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXSynchronizedExpressionParserRuleCall_3()); 
+    }
+    this_XSynchronizedExpression_3=ruleXSynchronizedExpression
+    { 
+        $current = $this_XSynchronizedExpression_3.current; 
+        afterParserOrEnumRuleCall();
+    }
+)
+    |
+    { 
+        newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXFeatureCallParserRuleCall_4()); 
+    }
+    this_XFeatureCall_4=ruleXFeatureCall
+    { 
+        $current = $this_XFeatureCall_4.current; 
+        afterParserOrEnumRuleCall();
+    }
+
+    |
+    { 
+        newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXLiteralParserRuleCall_5()); 
+    }
+    this_XLiteral_5=ruleXLiteral
+    { 
+        $current = $this_XLiteral_5.current; 
+        afterParserOrEnumRuleCall();
+    }
+
+    |
+    { 
+        newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXIfExpressionParserRuleCall_6()); 
+    }
+    this_XIfExpression_6=ruleXIfExpression
+    { 
+        $current = $this_XIfExpression_6.current; 
+        afterParserOrEnumRuleCall();
+    }
+
+    |((((
+)	'for' 
+	'(' 
+(
+(
+ruleJvmFormalParameter
+)
+)	':' 
+))=>
+    { 
+        newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXForLoopExpressionParserRuleCall_7()); 
+    }
+    this_XForLoopExpression_7=ruleXForLoopExpression
+    { 
+        $current = $this_XForLoopExpression_7.current; 
+        afterParserOrEnumRuleCall();
+    }
+)
+    |
+    { 
+        newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXBasicForLoopExpressionParserRuleCall_8()); 
+    }
+    this_XBasicForLoopExpression_8=ruleXBasicForLoopExpression
+    { 
+        $current = $this_XBasicForLoopExpression_8.current; 
+        afterParserOrEnumRuleCall();
+    }
+
+    |
+    { 
+        newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXWhileExpressionParserRuleCall_9()); 
+    }
+    this_XWhileExpression_9=ruleXWhileExpression
+    { 
+        $current = $this_XWhileExpression_9.current; 
+        afterParserOrEnumRuleCall();
+    }
+
+    |
+    { 
+        newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXDoWhileExpressionParserRuleCall_10()); 
+    }
+    this_XDoWhileExpression_10=ruleXDoWhileExpression
+    { 
+        $current = $this_XDoWhileExpression_10.current; 
+        afterParserOrEnumRuleCall();
+    }
+
+    |
+    { 
+        newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXThrowExpressionParserRuleCall_11()); 
+    }
+    this_XThrowExpression_11=ruleXThrowExpression
+    { 
+        $current = $this_XThrowExpression_11.current; 
+        afterParserOrEnumRuleCall();
+    }
+
+    |
+    { 
+        newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXReturnExpressionParserRuleCall_12()); 
+    }
+    this_XReturnExpression_12=ruleXReturnExpression
+    { 
+        $current = $this_XReturnExpression_12.current; 
+        afterParserOrEnumRuleCall();
+    }
+
+    |
+    { 
+        newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXTryCatchFinallyExpressionParserRuleCall_13()); 
+    }
+    this_XTryCatchFinallyExpression_13=ruleXTryCatchFinallyExpression
+    { 
+        $current = $this_XTryCatchFinallyExpression_13.current; 
+        afterParserOrEnumRuleCall();
+    }
+
+    |
+    { 
+        newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXParenthesizedExpressionParserRuleCall_14()); 
+    }
+    this_XParenthesizedExpression_14=ruleXParenthesizedExpression
+    { 
+        $current = $this_XParenthesizedExpression_14.current; 
+        afterParserOrEnumRuleCall();
+    }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleXLiteral
+entryRuleXLiteral returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getXLiteralRule()); }
+	 iv_ruleXLiteral=ruleXLiteral 
+	 { $current=$iv_ruleXLiteral.current; } 
+	 EOF 
+;
+
+// Rule XLiteral
+ruleXLiteral returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(
+    { 
+        newCompositeNode(grammarAccess.getXLiteralAccess().getXCollectionLiteralParserRuleCall_0()); 
+    }
+    this_XCollectionLiteral_0=ruleXCollectionLiteral
+    { 
+        $current = $this_XCollectionLiteral_0.current; 
+        afterParserOrEnumRuleCall();
+    }
+
+    |((((
+)	'[' 
+))=>
+    { 
+        newCompositeNode(grammarAccess.getXLiteralAccess().getXClosureParserRuleCall_1()); 
+    }
+    this_XClosure_1=ruleXClosure
+    { 
+        $current = $this_XClosure_1.current; 
+        afterParserOrEnumRuleCall();
+    }
+)
+    |
+    { 
+        newCompositeNode(grammarAccess.getXLiteralAccess().getXBooleanLiteralParserRuleCall_2()); 
+    }
+    this_XBooleanLiteral_2=ruleXBooleanLiteral
+    { 
+        $current = $this_XBooleanLiteral_2.current; 
+        afterParserOrEnumRuleCall();
+    }
+
+    |
+    { 
+        newCompositeNode(grammarAccess.getXLiteralAccess().getXNumberLiteralParserRuleCall_3()); 
+    }
+    this_XNumberLiteral_3=ruleXNumberLiteral
+    { 
+        $current = $this_XNumberLiteral_3.current; 
+        afterParserOrEnumRuleCall();
+    }
+
+    |
+    { 
+        newCompositeNode(grammarAccess.getXLiteralAccess().getXNullLiteralParserRuleCall_4()); 
+    }
+    this_XNullLiteral_4=ruleXNullLiteral
+    { 
+        $current = $this_XNullLiteral_4.current; 
+        afterParserOrEnumRuleCall();
+    }
+
+    |
+    { 
+        newCompositeNode(grammarAccess.getXLiteralAccess().getXStringLiteralParserRuleCall_5()); 
+    }
+    this_XStringLiteral_5=ruleXStringLiteral
+    { 
+        $current = $this_XStringLiteral_5.current; 
+        afterParserOrEnumRuleCall();
+    }
+
+    |
+    { 
+        newCompositeNode(grammarAccess.getXLiteralAccess().getXTypeLiteralParserRuleCall_6()); 
+    }
+    this_XTypeLiteral_6=ruleXTypeLiteral
+    { 
+        $current = $this_XTypeLiteral_6.current; 
+        afterParserOrEnumRuleCall();
+    }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleXCollectionLiteral
+entryRuleXCollectionLiteral returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getXCollectionLiteralRule()); }
+	 iv_ruleXCollectionLiteral=ruleXCollectionLiteral 
+	 { $current=$iv_ruleXCollectionLiteral.current; } 
+	 EOF 
+;
+
+// Rule XCollectionLiteral
+ruleXCollectionLiteral returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(
+    { 
+        newCompositeNode(grammarAccess.getXCollectionLiteralAccess().getXSetLiteralParserRuleCall_0()); 
+    }
+    this_XSetLiteral_0=ruleXSetLiteral
+    { 
+        $current = $this_XSetLiteral_0.current; 
+        afterParserOrEnumRuleCall();
+    }
+
+    |
+    { 
+        newCompositeNode(grammarAccess.getXCollectionLiteralAccess().getXListLiteralParserRuleCall_1()); 
+    }
+    this_XListLiteral_1=ruleXListLiteral
+    { 
+        $current = $this_XListLiteral_1.current; 
+        afterParserOrEnumRuleCall();
+    }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleXSetLiteral
+entryRuleXSetLiteral returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getXSetLiteralRule()); }
+	 iv_ruleXSetLiteral=ruleXSetLiteral 
+	 { $current=$iv_ruleXSetLiteral.current; } 
+	 EOF 
+;
+
+// Rule XSetLiteral
+ruleXSetLiteral returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+((
+    {
+        $current = forceCreateModelElement(
+            grammarAccess.getXSetLiteralAccess().getXSetLiteralAction_0(),
+            $current);
+    }
+)	otherlv_1='#' 
+    {
+    	newLeafNode(otherlv_1, grammarAccess.getXSetLiteralAccess().getNumberSignKeyword_1());
+    }
+	otherlv_2='{' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getXSetLiteralAccess().getLeftCurlyBracketKeyword_2());
+    }
+((
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXSetLiteralAccess().getElementsXExpressionParserRuleCall_3_0_0()); 
+	    }
+		lv_elements_3_0=ruleXExpression		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXSetLiteralRule());
+	        }
+       		add(
+       			$current, 
+       			"elements",
+        		lv_elements_3_0, 
+        		"XExpression");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)(	otherlv_4=',' 
+    {
+    	newLeafNode(otherlv_4, grammarAccess.getXSetLiteralAccess().getCommaKeyword_3_1_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXSetLiteralAccess().getElementsXExpressionParserRuleCall_3_1_1_0()); 
+	    }
+		lv_elements_5_0=ruleXExpression		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXSetLiteralRule());
+	        }
+       		add(
+       			$current, 
+       			"elements",
+        		lv_elements_5_0, 
+        		"XExpression");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))*)?	otherlv_6='}' 
+    {
+    	newLeafNode(otherlv_6, grammarAccess.getXSetLiteralAccess().getRightCurlyBracketKeyword_4());
+    }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleXListLiteral
+entryRuleXListLiteral returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getXListLiteralRule()); }
+	 iv_ruleXListLiteral=ruleXListLiteral 
+	 { $current=$iv_ruleXListLiteral.current; } 
+	 EOF 
+;
+
+// Rule XListLiteral
+ruleXListLiteral returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+((
+    {
+        $current = forceCreateModelElement(
+            grammarAccess.getXListLiteralAccess().getXListLiteralAction_0(),
+            $current);
+    }
+)	otherlv_1='#' 
+    {
+    	newLeafNode(otherlv_1, grammarAccess.getXListLiteralAccess().getNumberSignKeyword_1());
+    }
+	otherlv_2='[' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getXListLiteralAccess().getLeftSquareBracketKeyword_2());
+    }
+((
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXListLiteralAccess().getElementsXExpressionParserRuleCall_3_0_0()); 
+	    }
+		lv_elements_3_0=ruleXExpression		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXListLiteralRule());
+	        }
+       		add(
+       			$current, 
+       			"elements",
+        		lv_elements_3_0, 
+        		"XExpression");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)(	otherlv_4=',' 
+    {
+    	newLeafNode(otherlv_4, grammarAccess.getXListLiteralAccess().getCommaKeyword_3_1_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXListLiteralAccess().getElementsXExpressionParserRuleCall_3_1_1_0()); 
+	    }
+		lv_elements_5_0=ruleXExpression		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXListLiteralRule());
+	        }
+       		add(
+       			$current, 
+       			"elements",
+        		lv_elements_5_0, 
+        		"XExpression");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))*)?	otherlv_6=']' 
+    {
+    	newLeafNode(otherlv_6, grammarAccess.getXListLiteralAccess().getRightSquareBracketKeyword_4());
+    }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleXClosure
+entryRuleXClosure returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getXClosureRule()); }
+	 iv_ruleXClosure=ruleXClosure 
+	 { $current=$iv_ruleXClosure.current; } 
+	 EOF 
+;
+
+// Rule XClosure
+ruleXClosure returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(((((
+)	'[' 
+))=>((
+    {
+        $current = forceCreateModelElement(
+            grammarAccess.getXClosureAccess().getXClosureAction_0_0_0(),
+            $current);
+    }
+)	otherlv_1='[' 
+    {
+    	newLeafNode(otherlv_1, grammarAccess.getXClosureAccess().getLeftSquareBracketKeyword_0_0_1());
+    }
+))(((((
+(
+ruleJvmFormalParameter
+)
+)(	',' 
+(
+(
+ruleJvmFormalParameter
+)
+))*)?(
+(
+	'|' 
+ 
+
+)
+)))=>(((
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_1_0_0_0_0()); 
+	    }
+		lv_declaredFormalParameters_2_0=ruleJvmFormalParameter		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXClosureRule());
+	        }
+       		add(
+       			$current, 
+       			"declaredFormalParameters",
+        		lv_declaredFormalParameters_2_0, 
+        		"JvmFormalParameter");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)(	otherlv_3=',' 
+    {
+    	newLeafNode(otherlv_3, grammarAccess.getXClosureAccess().getCommaKeyword_1_0_0_1_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_1_0_0_1_1_0()); 
+	    }
+		lv_declaredFormalParameters_4_0=ruleJvmFormalParameter		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXClosureRule());
+	        }
+       		add(
+       			$current, 
+       			"declaredFormalParameters",
+        		lv_declaredFormalParameters_4_0, 
+        		"JvmFormalParameter");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))*)?(
+(
+		lv_explicitSyntax_5_0=	'|' 
+    {
+        newLeafNode(lv_explicitSyntax_5_0, grammarAccess.getXClosureAccess().getExplicitSyntaxVerticalLineKeyword_1_0_1_0());
+    }
+ 
+	    {
+	        if ($current==null) {
+	            $current = createModelElement(grammarAccess.getXClosureRule());
+	        }
+       		setWithLastConsumed($current, "explicitSyntax", true, "|");
+	    }
+
+)
+)))?(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXClosureAccess().getExpressionXExpressionInClosureParserRuleCall_2_0()); 
+	    }
+		lv_expression_6_0=ruleXExpressionInClosure		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXClosureRule());
+	        }
+       		set(
+       			$current, 
+       			"expression",
+        		lv_expression_6_0, 
+        		"XExpressionInClosure");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_7=']' 
+    {
+    	newLeafNode(otherlv_7, grammarAccess.getXClosureAccess().getRightSquareBracketKeyword_3());
+    }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleXExpressionInClosure
+entryRuleXExpressionInClosure returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getXExpressionInClosureRule()); }
+	 iv_ruleXExpressionInClosure=ruleXExpressionInClosure 
+	 { $current=$iv_ruleXExpressionInClosure.current; } 
+	 EOF 
+;
+
+// Rule XExpressionInClosure
+ruleXExpressionInClosure returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+((
+    {
+        $current = forceCreateModelElement(
+            grammarAccess.getXExpressionInClosureAccess().getXBlockExpressionAction_0(),
+            $current);
+    }
+)((
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXExpressionInClosureAccess().getExpressionsXExpressionOrVarDeclarationParserRuleCall_1_0_0()); 
+	    }
+		lv_expressions_1_0=ruleXExpressionOrVarDeclaration		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXExpressionInClosureRule());
+	        }
+       		add(
+       			$current, 
+       			"expressions",
+        		lv_expressions_1_0, 
+        		"XExpressionOrVarDeclaration");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)(	otherlv_2=';' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getXExpressionInClosureAccess().getSemicolonKeyword_1_1());
+    }
+)?)*)
+;
+
+
+
+
+
+// Entry rule entryRuleXShortClosure
+entryRuleXShortClosure returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getXShortClosureRule()); }
+	 iv_ruleXShortClosure=ruleXShortClosure 
+	 { $current=$iv_ruleXShortClosure.current; } 
+	 EOF 
+;
+
+// Rule XShortClosure
+ruleXShortClosure returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(((((
+)((
+(
+ruleJvmFormalParameter
+)
+)(	',' 
+(
+(
+ruleJvmFormalParameter
+)
+))*)?(
+(
+	'|' 
+ 
+
+)
+)))=>((
+    {
+        $current = forceCreateModelElement(
+            grammarAccess.getXShortClosureAccess().getXClosureAction_0_0_0(),
+            $current);
+    }
+)((
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_0_0_1_0_0()); 
+	    }
+		lv_declaredFormalParameters_1_0=ruleJvmFormalParameter		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXShortClosureRule());
+	        }
+       		add(
+       			$current, 
+       			"declaredFormalParameters",
+        		lv_declaredFormalParameters_1_0, 
+        		"JvmFormalParameter");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)(	otherlv_2=',' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getXShortClosureAccess().getCommaKeyword_0_0_1_1_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_0_0_1_1_1_0()); 
+	    }
+		lv_declaredFormalParameters_3_0=ruleJvmFormalParameter		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXShortClosureRule());
+	        }
+       		add(
+       			$current, 
+       			"declaredFormalParameters",
+        		lv_declaredFormalParameters_3_0, 
+        		"JvmFormalParameter");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))*)?(
+(
+		lv_explicitSyntax_4_0=	'|' 
+    {
+        newLeafNode(lv_explicitSyntax_4_0, grammarAccess.getXShortClosureAccess().getExplicitSyntaxVerticalLineKeyword_0_0_2_0());
+    }
+ 
+	    {
+	        if ($current==null) {
+	            $current = createModelElement(grammarAccess.getXShortClosureRule());
+	        }
+       		setWithLastConsumed($current, "explicitSyntax", true, "|");
+	    }
+
+)
+)))(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXShortClosureAccess().getExpressionXExpressionParserRuleCall_1_0()); 
+	    }
+		lv_expression_5_0=ruleXExpression		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXShortClosureRule());
+	        }
+       		set(
+       			$current, 
+       			"expression",
+        		lv_expression_5_0, 
+        		"XExpression");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleXParenthesizedExpression
+entryRuleXParenthesizedExpression returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getXParenthesizedExpressionRule()); }
+	 iv_ruleXParenthesizedExpression=ruleXParenthesizedExpression 
+	 { $current=$iv_ruleXParenthesizedExpression.current; } 
+	 EOF 
+;
+
+// Rule XParenthesizedExpression
+ruleXParenthesizedExpression returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(	otherlv_0='(' 
+    {
+    	newLeafNode(otherlv_0, grammarAccess.getXParenthesizedExpressionAccess().getLeftParenthesisKeyword_0());
+    }
+
+    { 
+        newCompositeNode(grammarAccess.getXParenthesizedExpressionAccess().getXExpressionParserRuleCall_1()); 
+    }
+    this_XExpression_1=ruleXExpression
+    { 
+        $current = $this_XExpression_1.current; 
+        afterParserOrEnumRuleCall();
+    }
+	otherlv_2=')' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getXParenthesizedExpressionAccess().getRightParenthesisKeyword_2());
+    }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleXIfExpression
+entryRuleXIfExpression returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getXIfExpressionRule()); }
+	 iv_ruleXIfExpression=ruleXIfExpression 
+	 { $current=$iv_ruleXIfExpression.current; } 
+	 EOF 
+;
+
+// Rule XIfExpression
+ruleXIfExpression returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+((
+    {
+        $current = forceCreateModelElement(
+            grammarAccess.getXIfExpressionAccess().getXIfExpressionAction_0(),
+            $current);
+    }
+)	otherlv_1='if' 
+    {
+    	newLeafNode(otherlv_1, grammarAccess.getXIfExpressionAccess().getIfKeyword_1());
+    }
+	otherlv_2='(' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getXIfExpressionAccess().getLeftParenthesisKeyword_2());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXIfExpressionAccess().getIfXExpressionParserRuleCall_3_0()); 
+	    }
+		lv_if_3_0=ruleXExpression		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXIfExpressionRule());
+	        }
+       		set(
+       			$current, 
+       			"if",
+        		lv_if_3_0, 
+        		"XExpression");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_4=')' 
+    {
+    	newLeafNode(otherlv_4, grammarAccess.getXIfExpressionAccess().getRightParenthesisKeyword_4());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXIfExpressionAccess().getThenXExpressionParserRuleCall_5_0()); 
+	    }
+		lv_then_5_0=ruleXExpression		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXIfExpressionRule());
+	        }
+       		set(
+       			$current, 
+       			"then",
+        		lv_then_5_0, 
+        		"XExpression");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)(((	'else' 
+)=>	otherlv_6='else' 
+    {
+    	newLeafNode(otherlv_6, grammarAccess.getXIfExpressionAccess().getElseKeyword_6_0());
+    }
+)(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXIfExpressionAccess().getElseXExpressionParserRuleCall_6_1_0()); 
+	    }
+		lv_else_7_0=ruleXExpression		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXIfExpressionRule());
+	        }
+       		set(
+       			$current, 
+       			"else",
+        		lv_else_7_0, 
+        		"XExpression");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))?)
+;
+
+
+
+
+
+// Entry rule entryRuleXSwitchExpression
+entryRuleXSwitchExpression returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getXSwitchExpressionRule()); }
+	 iv_ruleXSwitchExpression=ruleXSwitchExpression 
+	 { $current=$iv_ruleXSwitchExpression.current; } 
+	 EOF 
+;
+
+// Rule XSwitchExpression
+ruleXSwitchExpression returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+((
+    {
+        $current = forceCreateModelElement(
+            grammarAccess.getXSwitchExpressionAccess().getXSwitchExpressionAction_0(),
+            $current);
+    }
+)	otherlv_1='switch' 
+    {
+    	newLeafNode(otherlv_1, grammarAccess.getXSwitchExpressionAccess().getSwitchKeyword_1());
+    }
+(((((	'(' 
+(
+(
+ruleJvmFormalParameter
+)
+)	':' 
+))=>(	otherlv_2='(' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getXSwitchExpressionAccess().getLeftParenthesisKeyword_2_0_0_0_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_2_0_0_0_1_0()); 
+	    }
+		lv_declaredParam_3_0=ruleJvmFormalParameter		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXSwitchExpressionRule());
+	        }
+       		set(
+       			$current, 
+       			"declaredParam",
+        		lv_declaredParam_3_0, 
+        		"JvmFormalParameter");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_4=':' 
+    {
+    	newLeafNode(otherlv_4, grammarAccess.getXSwitchExpressionAccess().getColonKeyword_2_0_0_0_2());
+    }
+))(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getSwitchXExpressionParserRuleCall_2_0_1_0()); 
+	    }
+		lv_switch_5_0=ruleXExpression		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXSwitchExpressionRule());
+	        }
+       		set(
+       			$current, 
+       			"switch",
+        		lv_switch_5_0, 
+        		"XExpression");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_6=')' 
+    {
+    	newLeafNode(otherlv_6, grammarAccess.getXSwitchExpressionAccess().getRightParenthesisKeyword_2_0_2());
+    }
+)
+    |(((((
+(
+ruleJvmFormalParameter
+)
+)	':' 
+))=>((
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_2_1_0_0_0_0()); 
+	    }
+		lv_declaredParam_7_0=ruleJvmFormalParameter		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXSwitchExpressionRule());
+	        }
+       		set(
+       			$current, 
+       			"declaredParam",
+        		lv_declaredParam_7_0, 
+        		"JvmFormalParameter");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_8=':' 
+    {
+    	newLeafNode(otherlv_8, grammarAccess.getXSwitchExpressionAccess().getColonKeyword_2_1_0_0_1());
+    }
+))?(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getSwitchXExpressionParserRuleCall_2_1_1_0()); 
+	    }
+		lv_switch_9_0=ruleXExpression		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXSwitchExpressionRule());
+	        }
+       		set(
+       			$current, 
+       			"switch",
+        		lv_switch_9_0, 
+        		"XExpression");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)))	otherlv_10='{' 
+    {
+    	newLeafNode(otherlv_10, grammarAccess.getXSwitchExpressionAccess().getLeftCurlyBracketKeyword_3());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getCasesXCasePartParserRuleCall_4_0()); 
+	    }
+		lv_cases_11_0=ruleXCasePart		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXSwitchExpressionRule());
+	        }
+       		add(
+       			$current, 
+       			"cases",
+        		lv_cases_11_0, 
+        		"XCasePart");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)*(	otherlv_12='default' 
+    {
+    	newLeafNode(otherlv_12, grammarAccess.getXSwitchExpressionAccess().getDefaultKeyword_5_0());
+    }
+	otherlv_13=':' 
+    {
+    	newLeafNode(otherlv_13, grammarAccess.getXSwitchExpressionAccess().getColonKeyword_5_1());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getDefaultXExpressionParserRuleCall_5_2_0()); 
+	    }
+		lv_default_14_0=ruleXExpression		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXSwitchExpressionRule());
+	        }
+       		set(
+       			$current, 
+       			"default",
+        		lv_default_14_0, 
+        		"XExpression");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))?	otherlv_15='}' 
+    {
+    	newLeafNode(otherlv_15, grammarAccess.getXSwitchExpressionAccess().getRightCurlyBracketKeyword_6());
+    }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleXCasePart
+entryRuleXCasePart returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getXCasePartRule()); }
+	 iv_ruleXCasePart=ruleXCasePart 
+	 { $current=$iv_ruleXCasePart.current; } 
+	 EOF 
+;
+
+// Rule XCasePart
+ruleXCasePart returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+((
+    {
+        $current = forceCreateModelElement(
+            grammarAccess.getXCasePartAccess().getXCasePartAction_0(),
+            $current);
+    }
+)(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXCasePartAccess().getTypeGuardJvmTypeReferenceParserRuleCall_1_0()); 
+	    }
+		lv_typeGuard_1_0=ruleJvmTypeReference		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXCasePartRule());
+	        }
+       		set(
+       			$current, 
+       			"typeGuard",
+        		lv_typeGuard_1_0, 
+        		"JvmTypeReference");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)?(	otherlv_2='case' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getXCasePartAccess().getCaseKeyword_2_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXCasePartAccess().getCaseXExpressionParserRuleCall_2_1_0()); 
+	    }
+		lv_case_3_0=ruleXExpression		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXCasePartRule());
+	        }
+       		set(
+       			$current, 
+       			"case",
+        		lv_case_3_0, 
+        		"XExpression");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))?((	otherlv_4=':' 
+    {
+    	newLeafNode(otherlv_4, grammarAccess.getXCasePartAccess().getColonKeyword_3_0_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXCasePartAccess().getThenXExpressionParserRuleCall_3_0_1_0()); 
+	    }
+		lv_then_5_0=ruleXExpression		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXCasePartRule());
+	        }
+       		set(
+       			$current, 
+       			"then",
+        		lv_then_5_0, 
+        		"XExpression");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))
+    |(
+(
+		lv_fallThrough_6_0=	',' 
+    {
+        newLeafNode(lv_fallThrough_6_0, grammarAccess.getXCasePartAccess().getFallThroughCommaKeyword_3_1_0());
+    }
+ 
+	    {
+	        if ($current==null) {
+	            $current = createModelElement(grammarAccess.getXCasePartRule());
+	        }
+       		setWithLastConsumed($current, "fallThrough", true, ",");
+	    }
+
+)
+)))
+;
+
+
+
+
+
+// Entry rule entryRuleXForLoopExpression
+entryRuleXForLoopExpression returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getXForLoopExpressionRule()); }
+	 iv_ruleXForLoopExpression=ruleXForLoopExpression 
+	 { $current=$iv_ruleXForLoopExpression.current; } 
+	 EOF 
+;
+
+// Rule XForLoopExpression
+ruleXForLoopExpression returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(((((
+)	'for' 
+	'(' 
+(
+(
+ruleJvmFormalParameter
+)
+)	':' 
+))=>((
+    {
+        $current = forceCreateModelElement(
+            grammarAccess.getXForLoopExpressionAccess().getXForLoopExpressionAction_0_0_0(),
+            $current);
+    }
+)	otherlv_1='for' 
+    {
+    	newLeafNode(otherlv_1, grammarAccess.getXForLoopExpressionAccess().getForKeyword_0_0_1());
+    }
+	otherlv_2='(' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getXForLoopExpressionAccess().getLeftParenthesisKeyword_0_0_2());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXForLoopExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_0_0_3_0()); 
+	    }
+		lv_declaredParam_3_0=ruleJvmFormalParameter		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXForLoopExpressionRule());
+	        }
+       		set(
+       			$current, 
+       			"declaredParam",
+        		lv_declaredParam_3_0, 
+        		"JvmFormalParameter");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_4=':' 
+    {
+    	newLeafNode(otherlv_4, grammarAccess.getXForLoopExpressionAccess().getColonKeyword_0_0_4());
+    }
+))(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXForLoopExpressionAccess().getForExpressionXExpressionParserRuleCall_1_0()); 
+	    }
+		lv_forExpression_5_0=ruleXExpression		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXForLoopExpressionRule());
+	        }
+       		set(
+       			$current, 
+       			"forExpression",
+        		lv_forExpression_5_0, 
+        		"XExpression");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_6=')' 
+    {
+    	newLeafNode(otherlv_6, grammarAccess.getXForLoopExpressionAccess().getRightParenthesisKeyword_2());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXForLoopExpressionAccess().getEachExpressionXExpressionParserRuleCall_3_0()); 
+	    }
+		lv_eachExpression_7_0=ruleXExpression		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXForLoopExpressionRule());
+	        }
+       		set(
+       			$current, 
+       			"eachExpression",
+        		lv_eachExpression_7_0, 
+        		"XExpression");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleXBasicForLoopExpression
+entryRuleXBasicForLoopExpression returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getXBasicForLoopExpressionRule()); }
+	 iv_ruleXBasicForLoopExpression=ruleXBasicForLoopExpression 
+	 { $current=$iv_ruleXBasicForLoopExpression.current; } 
+	 EOF 
+;
+
+// Rule XBasicForLoopExpression
+ruleXBasicForLoopExpression returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+((
+    {
+        $current = forceCreateModelElement(
+            grammarAccess.getXBasicForLoopExpressionAccess().getXBasicForLoopExpressionAction_0(),
+            $current);
+    }
+)	otherlv_1='for' 
+    {
+    	newLeafNode(otherlv_1, grammarAccess.getXBasicForLoopExpressionAccess().getForKeyword_1());
+    }
+	otherlv_2='(' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getXBasicForLoopExpressionAccess().getLeftParenthesisKeyword_2());
+    }
+((
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsXExpressionOrVarDeclarationParserRuleCall_3_0_0()); 
+	    }
+		lv_initExpressions_3_0=ruleXExpressionOrVarDeclaration		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXBasicForLoopExpressionRule());
+	        }
+       		add(
+       			$current, 
+       			"initExpressions",
+        		lv_initExpressions_3_0, 
+        		"XExpressionOrVarDeclaration");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)(	otherlv_4=',' 
+    {
+    	newLeafNode(otherlv_4, grammarAccess.getXBasicForLoopExpressionAccess().getCommaKeyword_3_1_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsXExpressionOrVarDeclarationParserRuleCall_3_1_1_0()); 
+	    }
+		lv_initExpressions_5_0=ruleXExpressionOrVarDeclaration		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXBasicForLoopExpressionRule());
+	        }
+       		add(
+       			$current, 
+       			"initExpressions",
+        		lv_initExpressions_5_0, 
+        		"XExpressionOrVarDeclaration");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))*)?	otherlv_6=';' 
+    {
+    	newLeafNode(otherlv_6, grammarAccess.getXBasicForLoopExpressionAccess().getSemicolonKeyword_4());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getExpressionXExpressionParserRuleCall_5_0()); 
+	    }
+		lv_expression_7_0=ruleXExpression		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXBasicForLoopExpressionRule());
+	        }
+       		set(
+       			$current, 
+       			"expression",
+        		lv_expression_7_0, 
+        		"XExpression");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)?	otherlv_8=';' 
+    {
+    	newLeafNode(otherlv_8, grammarAccess.getXBasicForLoopExpressionAccess().getSemicolonKeyword_6());
+    }
+((
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsXExpressionParserRuleCall_7_0_0()); 
+	    }
+		lv_updateExpressions_9_0=ruleXExpression		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXBasicForLoopExpressionRule());
+	        }
+       		add(
+       			$current, 
+       			"updateExpressions",
+        		lv_updateExpressions_9_0, 
+        		"XExpression");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)(	otherlv_10=',' 
+    {
+    	newLeafNode(otherlv_10, grammarAccess.getXBasicForLoopExpressionAccess().getCommaKeyword_7_1_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsXExpressionParserRuleCall_7_1_1_0()); 
+	    }
+		lv_updateExpressions_11_0=ruleXExpression		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXBasicForLoopExpressionRule());
+	        }
+       		add(
+       			$current, 
+       			"updateExpressions",
+        		lv_updateExpressions_11_0, 
+        		"XExpression");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))*)?	otherlv_12=')' 
+    {
+    	newLeafNode(otherlv_12, grammarAccess.getXBasicForLoopExpressionAccess().getRightParenthesisKeyword_8());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getEachExpressionXExpressionParserRuleCall_9_0()); 
+	    }
+		lv_eachExpression_13_0=ruleXExpression		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXBasicForLoopExpressionRule());
+	        }
+       		set(
+       			$current, 
+       			"eachExpression",
+        		lv_eachExpression_13_0, 
+        		"XExpression");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleXWhileExpression
+entryRuleXWhileExpression returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getXWhileExpressionRule()); }
+	 iv_ruleXWhileExpression=ruleXWhileExpression 
+	 { $current=$iv_ruleXWhileExpression.current; } 
+	 EOF 
+;
+
+// Rule XWhileExpression
+ruleXWhileExpression returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+((
+    {
+        $current = forceCreateModelElement(
+            grammarAccess.getXWhileExpressionAccess().getXWhileExpressionAction_0(),
+            $current);
+    }
+)	otherlv_1='while' 
+    {
+    	newLeafNode(otherlv_1, grammarAccess.getXWhileExpressionAccess().getWhileKeyword_1());
+    }
+	otherlv_2='(' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getXWhileExpressionAccess().getLeftParenthesisKeyword_2());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXWhileExpressionAccess().getPredicateXExpressionParserRuleCall_3_0()); 
+	    }
+		lv_predicate_3_0=ruleXExpression		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXWhileExpressionRule());
+	        }
+       		set(
+       			$current, 
+       			"predicate",
+        		lv_predicate_3_0, 
+        		"XExpression");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_4=')' 
+    {
+    	newLeafNode(otherlv_4, grammarAccess.getXWhileExpressionAccess().getRightParenthesisKeyword_4());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXWhileExpressionAccess().getBodyXExpressionParserRuleCall_5_0()); 
+	    }
+		lv_body_5_0=ruleXExpression		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXWhileExpressionRule());
+	        }
+       		set(
+       			$current, 
+       			"body",
+        		lv_body_5_0, 
+        		"XExpression");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleXDoWhileExpression
+entryRuleXDoWhileExpression returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getXDoWhileExpressionRule()); }
+	 iv_ruleXDoWhileExpression=ruleXDoWhileExpression 
+	 { $current=$iv_ruleXDoWhileExpression.current; } 
+	 EOF 
+;
+
+// Rule XDoWhileExpression
+ruleXDoWhileExpression returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+((
+    {
+        $current = forceCreateModelElement(
+            grammarAccess.getXDoWhileExpressionAccess().getXDoWhileExpressionAction_0(),
+            $current);
+    }
+)	otherlv_1='do' 
+    {
+    	newLeafNode(otherlv_1, grammarAccess.getXDoWhileExpressionAccess().getDoKeyword_1());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXDoWhileExpressionAccess().getBodyXExpressionParserRuleCall_2_0()); 
+	    }
+		lv_body_2_0=ruleXExpression		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXDoWhileExpressionRule());
+	        }
+       		set(
+       			$current, 
+       			"body",
+        		lv_body_2_0, 
+        		"XExpression");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_3='while' 
+    {
+    	newLeafNode(otherlv_3, grammarAccess.getXDoWhileExpressionAccess().getWhileKeyword_3());
+    }
+	otherlv_4='(' 
+    {
+    	newLeafNode(otherlv_4, grammarAccess.getXDoWhileExpressionAccess().getLeftParenthesisKeyword_4());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXDoWhileExpressionAccess().getPredicateXExpressionParserRuleCall_5_0()); 
+	    }
+		lv_predicate_5_0=ruleXExpression		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXDoWhileExpressionRule());
+	        }
+       		set(
+       			$current, 
+       			"predicate",
+        		lv_predicate_5_0, 
+        		"XExpression");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_6=')' 
+    {
+    	newLeafNode(otherlv_6, grammarAccess.getXDoWhileExpressionAccess().getRightParenthesisKeyword_6());
+    }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleXBlockExpression
+entryRuleXBlockExpression returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getXBlockExpressionRule()); }
+	 iv_ruleXBlockExpression=ruleXBlockExpression 
+	 { $current=$iv_ruleXBlockExpression.current; } 
+	 EOF 
+;
+
+// Rule XBlockExpression
+ruleXBlockExpression returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+((
+    {
+        $current = forceCreateModelElement(
+            grammarAccess.getXBlockExpressionAccess().getXBlockExpressionAction_0(),
+            $current);
+    }
+)	otherlv_1='{' 
+    {
+    	newLeafNode(otherlv_1, grammarAccess.getXBlockExpressionAccess().getLeftCurlyBracketKeyword_1());
+    }
+((
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXBlockExpressionAccess().getExpressionsXExpressionOrVarDeclarationParserRuleCall_2_0_0()); 
+	    }
+		lv_expressions_2_0=ruleXExpressionOrVarDeclaration		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXBlockExpressionRule());
+	        }
+       		add(
+       			$current, 
+       			"expressions",
+        		lv_expressions_2_0, 
+        		"XExpressionOrVarDeclaration");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)(	otherlv_3=';' 
+    {
+    	newLeafNode(otherlv_3, grammarAccess.getXBlockExpressionAccess().getSemicolonKeyword_2_1());
+    }
+)?)*	otherlv_4='}' 
+    {
+    	newLeafNode(otherlv_4, grammarAccess.getXBlockExpressionAccess().getRightCurlyBracketKeyword_3());
+    }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleXExpressionOrVarDeclaration
+entryRuleXExpressionOrVarDeclaration returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getXExpressionOrVarDeclarationRule()); }
+	 iv_ruleXExpressionOrVarDeclaration=ruleXExpressionOrVarDeclaration 
+	 { $current=$iv_ruleXExpressionOrVarDeclaration.current; } 
+	 EOF 
+;
+
+// Rule XExpressionOrVarDeclaration
+ruleXExpressionOrVarDeclaration returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(
+    { 
+        newCompositeNode(grammarAccess.getXExpressionOrVarDeclarationAccess().getXVariableDeclarationParserRuleCall_0()); 
+    }
+    this_XVariableDeclaration_0=ruleXVariableDeclaration
+    { 
+        $current = $this_XVariableDeclaration_0.current; 
+        afterParserOrEnumRuleCall();
+    }
+
+    |
+    { 
+        newCompositeNode(grammarAccess.getXExpressionOrVarDeclarationAccess().getXExpressionParserRuleCall_1()); 
+    }
+    this_XExpression_1=ruleXExpression
+    { 
+        $current = $this_XExpression_1.current; 
+        afterParserOrEnumRuleCall();
+    }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleXVariableDeclaration
+entryRuleXVariableDeclaration returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getXVariableDeclarationRule()); }
+	 iv_ruleXVariableDeclaration=ruleXVariableDeclaration 
+	 { $current=$iv_ruleXVariableDeclaration.current; } 
+	 EOF 
+;
+
+// Rule XVariableDeclaration
+ruleXVariableDeclaration returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+((
+    {
+        $current = forceCreateModelElement(
+            grammarAccess.getXVariableDeclarationAccess().getXVariableDeclarationAction_0(),
+            $current);
+    }
+)((
+(
+		lv_writeable_1_0=	'var' 
+    {
+        newLeafNode(lv_writeable_1_0, grammarAccess.getXVariableDeclarationAccess().getWriteableVarKeyword_1_0_0());
+    }
+ 
+	    {
+	        if ($current==null) {
+	            $current = createModelElement(grammarAccess.getXVariableDeclarationRule());
+	        }
+       		setWithLastConsumed($current, "writeable", true, "var");
+	    }
+
+)
+)
+    |	otherlv_2='val' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getXVariableDeclarationAccess().getValKeyword_1_1());
+    }
+)(((((
+(
+ruleJvmTypeReference
+)
+)(
+(
+ruleValidID
+)
+)))=>((
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXVariableDeclarationAccess().getTypeJvmTypeReferenceParserRuleCall_2_0_0_0_0()); 
+	    }
+		lv_type_3_0=ruleJvmTypeReference		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXVariableDeclarationRule());
+	        }
+       		set(
+       			$current, 
+       			"type",
+        		lv_type_3_0, 
+        		"JvmTypeReference");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXVariableDeclarationAccess().getNameValidIDParserRuleCall_2_0_0_1_0()); 
+	    }
+		lv_name_4_0=ruleValidID		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXVariableDeclarationRule());
+	        }
+       		set(
+       			$current, 
+       			"name",
+        		lv_name_4_0, 
+        		"ValidID");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)))
+    |(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXVariableDeclarationAccess().getNameValidIDParserRuleCall_2_1_0()); 
+	    }
+		lv_name_5_0=ruleValidID		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXVariableDeclarationRule());
+	        }
+       		set(
+       			$current, 
+       			"name",
+        		lv_name_5_0, 
+        		"ValidID");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))(	otherlv_6='=' 
+    {
+    	newLeafNode(otherlv_6, grammarAccess.getXVariableDeclarationAccess().getEqualsSignKeyword_3_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXVariableDeclarationAccess().getRightXExpressionParserRuleCall_3_1_0()); 
+	    }
+		lv_right_7_0=ruleXExpression		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXVariableDeclarationRule());
+	        }
+       		set(
+       			$current, 
+       			"right",
+        		lv_right_7_0, 
+        		"XExpression");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))?)
+;
+
+
+
+
+
+// Entry rule entryRuleJvmFormalParameter
+entryRuleJvmFormalParameter returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getJvmFormalParameterRule()); }
+	 iv_ruleJvmFormalParameter=ruleJvmFormalParameter 
+	 { $current=$iv_ruleJvmFormalParameter.current; } 
+	 EOF 
+;
+
+// Rule JvmFormalParameter
+ruleJvmFormalParameter returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+((
+(
+		{ 
+	        newCompositeNode(grammarAccess.getJvmFormalParameterAccess().getParameterTypeJvmTypeReferenceParserRuleCall_0_0()); 
+	    }
+		lv_parameterType_0_0=ruleJvmTypeReference		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getJvmFormalParameterRule());
+	        }
+       		set(
+       			$current, 
+       			"parameterType",
+        		lv_parameterType_0_0, 
+        		"JvmTypeReference");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)?(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getJvmFormalParameterAccess().getNameValidIDParserRuleCall_1_0()); 
+	    }
+		lv_name_1_0=ruleValidID		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getJvmFormalParameterRule());
+	        }
+       		set(
+       			$current, 
+       			"name",
+        		lv_name_1_0, 
+        		"ValidID");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleFullJvmFormalParameter
+entryRuleFullJvmFormalParameter returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getFullJvmFormalParameterRule()); }
+	 iv_ruleFullJvmFormalParameter=ruleFullJvmFormalParameter 
+	 { $current=$iv_ruleFullJvmFormalParameter.current; } 
+	 EOF 
+;
+
+// Rule FullJvmFormalParameter
+ruleFullJvmFormalParameter returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+((
+(
+		{ 
+	        newCompositeNode(grammarAccess.getFullJvmFormalParameterAccess().getParameterTypeJvmTypeReferenceParserRuleCall_0_0()); 
+	    }
+		lv_parameterType_0_0=ruleJvmTypeReference		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getFullJvmFormalParameterRule());
+	        }
+       		set(
+       			$current, 
+       			"parameterType",
+        		lv_parameterType_0_0, 
+        		"JvmTypeReference");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getFullJvmFormalParameterAccess().getNameValidIDParserRuleCall_1_0()); 
+	    }
+		lv_name_1_0=ruleValidID		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getFullJvmFormalParameterRule());
+	        }
+       		set(
+       			$current, 
+       			"name",
+        		lv_name_1_0, 
+        		"ValidID");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleXFeatureCall
+entryRuleXFeatureCall returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getXFeatureCallRule()); }
+	 iv_ruleXFeatureCall=ruleXFeatureCall 
+	 { $current=$iv_ruleXFeatureCall.current; } 
+	 EOF 
+;
+
+// Rule XFeatureCall
+ruleXFeatureCall returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+((
+    {
+        $current = forceCreateModelElement(
+            grammarAccess.getXFeatureCallAccess().getXFeatureCallAction_0(),
+            $current);
+    }
+)(	otherlv_1='<' 
+    {
+    	newLeafNode(otherlv_1, grammarAccess.getXFeatureCallAccess().getLessThanSignKeyword_1_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_0()); 
+	    }
+		lv_typeArguments_2_0=ruleJvmArgumentTypeReference		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXFeatureCallRule());
+	        }
+       		add(
+       			$current, 
+       			"typeArguments",
+        		lv_typeArguments_2_0, 
+        		"JvmArgumentTypeReference");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)(	otherlv_3=',' 
+    {
+    	newLeafNode(otherlv_3, grammarAccess.getXFeatureCallAccess().getCommaKeyword_1_2_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_2_1_0()); 
+	    }
+		lv_typeArguments_4_0=ruleJvmArgumentTypeReference		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXFeatureCallRule());
+	        }
+       		add(
+       			$current, 
+       			"typeArguments",
+        		lv_typeArguments_4_0, 
+        		"JvmArgumentTypeReference");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))*	otherlv_5='>' 
+    {
+    	newLeafNode(otherlv_5, grammarAccess.getXFeatureCallAccess().getGreaterThanSignKeyword_1_3());
+    }
+)?(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getXFeatureCallRule());
+	        }
+        }
+		{ 
+	        newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_2_0()); 
+	    }
+		ruleIdOrSuper		{ 
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)(((
+(
+	'(' 
+ 
+
+)
+)=>
+(
+		lv_explicitOperationCall_7_0=	'(' 
+    {
+        newLeafNode(lv_explicitOperationCall_7_0, grammarAccess.getXFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_3_0_0());
+    }
+ 
+	    {
+	        if ($current==null) {
+	            $current = createModelElement(grammarAccess.getXFeatureCallRule());
+	        }
+       		setWithLastConsumed($current, "explicitOperationCall", true, "(");
+	    }
+
+)
+)(((((
+)((
+(
+ruleJvmFormalParameter
+)
+)(	',' 
+(
+(
+ruleJvmFormalParameter
+)
+))*)?(
+(
+	'|' 
+ 
+
+)
+)))=>
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXShortClosureParserRuleCall_3_1_0_0()); 
+	    }
+		lv_featureCallArguments_8_0=ruleXShortClosure		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXFeatureCallRule());
+	        }
+       		add(
+       			$current, 
+       			"featureCallArguments",
+        		lv_featureCallArguments_8_0, 
+        		"XShortClosure");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)
+    |((
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXExpressionParserRuleCall_3_1_1_0_0()); 
+	    }
+		lv_featureCallArguments_9_0=ruleXExpression		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXFeatureCallRule());
+	        }
+       		add(
+       			$current, 
+       			"featureCallArguments",
+        		lv_featureCallArguments_9_0, 
+        		"XExpression");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)(	otherlv_10=',' 
+    {
+    	newLeafNode(otherlv_10, grammarAccess.getXFeatureCallAccess().getCommaKeyword_3_1_1_1_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXExpressionParserRuleCall_3_1_1_1_1_0()); 
+	    }
+		lv_featureCallArguments_11_0=ruleXExpression		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXFeatureCallRule());
+	        }
+       		add(
+       			$current, 
+       			"featureCallArguments",
+        		lv_featureCallArguments_11_0, 
+        		"XExpression");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))*))?	otherlv_12=')' 
+    {
+    	newLeafNode(otherlv_12, grammarAccess.getXFeatureCallAccess().getRightParenthesisKeyword_3_2());
+    }
+)?((((
+)	'[' 
+))=>
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXClosureParserRuleCall_4_0()); 
+	    }
+		lv_featureCallArguments_13_0=ruleXClosure		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXFeatureCallRule());
+	        }
+       		add(
+       			$current, 
+       			"featureCallArguments",
+        		lv_featureCallArguments_13_0, 
+        		"XClosure");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)?)
+;
+
+
+
+
+
+// Entry rule entryRuleFeatureCallID
+entryRuleFeatureCallID returns [String current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getFeatureCallIDRule()); } 
+	 iv_ruleFeatureCallID=ruleFeatureCallID 
+	 { $current=$iv_ruleFeatureCallID.current.getText(); }  
+	 EOF 
+;
+
+// Rule FeatureCallID
+ruleFeatureCallID returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(
+    { 
+        newCompositeNode(grammarAccess.getFeatureCallIDAccess().getValidIDParserRuleCall_0()); 
+    }
+    this_ValidID_0=ruleValidID    {
+		$current.merge(this_ValidID_0);
+    }
+
+    { 
+        afterParserOrEnumRuleCall();
+    }
+
+    |
+	kw='extends' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getExtendsKeyword_1()); 
+    }
+
+    |
+	kw='static' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getStaticKeyword_2()); 
+    }
+
+    |
+	kw='import' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getImportKeyword_3()); 
+    }
+
+    |
+	kw='extension' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getExtensionKeyword_4()); 
+    }
+)
+    ;
+
+
+
+
+
+// Entry rule entryRuleIdOrSuper
+entryRuleIdOrSuper returns [String current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getIdOrSuperRule()); } 
+	 iv_ruleIdOrSuper=ruleIdOrSuper 
+	 { $current=$iv_ruleIdOrSuper.current.getText(); }  
+	 EOF 
+;
+
+// Rule IdOrSuper
+ruleIdOrSuper returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(
+    { 
+        newCompositeNode(grammarAccess.getIdOrSuperAccess().getFeatureCallIDParserRuleCall_0()); 
+    }
+    this_FeatureCallID_0=ruleFeatureCallID    {
+		$current.merge(this_FeatureCallID_0);
+    }
+
+    { 
+        afterParserOrEnumRuleCall();
+    }
+
+    |
+	kw='super' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getIdOrSuperAccess().getSuperKeyword_1()); 
+    }
+)
+    ;
+
+
+
+
+
+// Entry rule entryRuleXConstructorCall
+entryRuleXConstructorCall returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getXConstructorCallRule()); }
+	 iv_ruleXConstructorCall=ruleXConstructorCall 
+	 { $current=$iv_ruleXConstructorCall.current; } 
+	 EOF 
+;
+
+// Rule XConstructorCall
+ruleXConstructorCall returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+((
+    {
+        $current = forceCreateModelElement(
+            grammarAccess.getXConstructorCallAccess().getXConstructorCallAction_0(),
+            $current);
+    }
+)	otherlv_1='new' 
+    {
+    	newLeafNode(otherlv_1, grammarAccess.getXConstructorCallAccess().getNewKeyword_1());
+    }
+(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getXConstructorCallRule());
+	        }
+        }
+		{ 
+	        newCompositeNode(grammarAccess.getXConstructorCallAccess().getConstructorJvmConstructorCrossReference_2_0()); 
+	    }
+		ruleQualifiedName		{ 
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)(((	'<' 
+)=>	otherlv_3='<' 
+    {
+    	newLeafNode(otherlv_3, grammarAccess.getXConstructorCallAccess().getLessThanSignKeyword_3_0());
+    }
+)(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXConstructorCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_3_1_0()); 
+	    }
+		lv_typeArguments_4_0=ruleJvmArgumentTypeReference		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXConstructorCallRule());
+	        }
+       		add(
+       			$current, 
+       			"typeArguments",
+        		lv_typeArguments_4_0, 
+        		"JvmArgumentTypeReference");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)(	otherlv_5=',' 
+    {
+    	newLeafNode(otherlv_5, grammarAccess.getXConstructorCallAccess().getCommaKeyword_3_2_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXConstructorCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_3_2_1_0()); 
+	    }
+		lv_typeArguments_6_0=ruleJvmArgumentTypeReference		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXConstructorCallRule());
+	        }
+       		add(
+       			$current, 
+       			"typeArguments",
+        		lv_typeArguments_6_0, 
+        		"JvmArgumentTypeReference");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))*	otherlv_7='>' 
+    {
+    	newLeafNode(otherlv_7, grammarAccess.getXConstructorCallAccess().getGreaterThanSignKeyword_3_3());
+    }
+)?(((
+(
+	'(' 
+ 
+
+)
+)=>
+(
+		lv_explicitConstructorCall_8_0=	'(' 
+    {
+        newLeafNode(lv_explicitConstructorCall_8_0, grammarAccess.getXConstructorCallAccess().getExplicitConstructorCallLeftParenthesisKeyword_4_0_0());
+    }
+ 
+	    {
+	        if ($current==null) {
+	            $current = createModelElement(grammarAccess.getXConstructorCallRule());
+	        }
+       		setWithLastConsumed($current, "explicitConstructorCall", true, "(");
+	    }
+
+)
+)(((((
+)((
+(
+ruleJvmFormalParameter
+)
+)(	',' 
+(
+(
+ruleJvmFormalParameter
+)
+))*)?(
+(
+	'|' 
+ 
+
+)
+)))=>
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXConstructorCallAccess().getArgumentsXShortClosureParserRuleCall_4_1_0_0()); 
+	    }
+		lv_arguments_9_0=ruleXShortClosure		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXConstructorCallRule());
+	        }
+       		add(
+       			$current, 
+       			"arguments",
+        		lv_arguments_9_0, 
+        		"XShortClosure");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)
+    |((
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXConstructorCallAccess().getArgumentsXExpressionParserRuleCall_4_1_1_0_0()); 
+	    }
+		lv_arguments_10_0=ruleXExpression		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXConstructorCallRule());
+	        }
+       		add(
+       			$current, 
+       			"arguments",
+        		lv_arguments_10_0, 
+        		"XExpression");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)(	otherlv_11=',' 
+    {
+    	newLeafNode(otherlv_11, grammarAccess.getXConstructorCallAccess().getCommaKeyword_4_1_1_1_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXConstructorCallAccess().getArgumentsXExpressionParserRuleCall_4_1_1_1_1_0()); 
+	    }
+		lv_arguments_12_0=ruleXExpression		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXConstructorCallRule());
+	        }
+       		add(
+       			$current, 
+       			"arguments",
+        		lv_arguments_12_0, 
+        		"XExpression");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))*))?	otherlv_13=')' 
+    {
+    	newLeafNode(otherlv_13, grammarAccess.getXConstructorCallAccess().getRightParenthesisKeyword_4_2());
+    }
+)?((((
+)	'[' 
+))=>
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXConstructorCallAccess().getArgumentsXClosureParserRuleCall_5_0()); 
+	    }
+		lv_arguments_14_0=ruleXClosure		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXConstructorCallRule());
+	        }
+       		add(
+       			$current, 
+       			"arguments",
+        		lv_arguments_14_0, 
+        		"XClosure");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)?)
+;
+
+
+
+
+
+// Entry rule entryRuleXBooleanLiteral
+entryRuleXBooleanLiteral returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getXBooleanLiteralRule()); }
+	 iv_ruleXBooleanLiteral=ruleXBooleanLiteral 
+	 { $current=$iv_ruleXBooleanLiteral.current; } 
+	 EOF 
+;
+
+// Rule XBooleanLiteral
+ruleXBooleanLiteral returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+((
+    {
+        $current = forceCreateModelElement(
+            grammarAccess.getXBooleanLiteralAccess().getXBooleanLiteralAction_0(),
+            $current);
+    }
+)(	otherlv_1='false' 
+    {
+    	newLeafNode(otherlv_1, grammarAccess.getXBooleanLiteralAccess().getFalseKeyword_1_0());
+    }
+
+    |(
+(
+		lv_isTrue_2_0=	'true' 
+    {
+        newLeafNode(lv_isTrue_2_0, grammarAccess.getXBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0());
+    }
+ 
+	    {
+	        if ($current==null) {
+	            $current = createModelElement(grammarAccess.getXBooleanLiteralRule());
+	        }
+       		setWithLastConsumed($current, "isTrue", true, "true");
+	    }
+
+)
+)))
+;
+
+
+
+
+
+// Entry rule entryRuleXNullLiteral
+entryRuleXNullLiteral returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getXNullLiteralRule()); }
+	 iv_ruleXNullLiteral=ruleXNullLiteral 
+	 { $current=$iv_ruleXNullLiteral.current; } 
+	 EOF 
+;
+
+// Rule XNullLiteral
+ruleXNullLiteral returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+((
+    {
+        $current = forceCreateModelElement(
+            grammarAccess.getXNullLiteralAccess().getXNullLiteralAction_0(),
+            $current);
+    }
+)	otherlv_1='null' 
+    {
+    	newLeafNode(otherlv_1, grammarAccess.getXNullLiteralAccess().getNullKeyword_1());
+    }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleXNumberLiteral
+entryRuleXNumberLiteral returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getXNumberLiteralRule()); }
+	 iv_ruleXNumberLiteral=ruleXNumberLiteral 
+	 { $current=$iv_ruleXNumberLiteral.current; } 
+	 EOF 
+;
+
+// Rule XNumberLiteral
+ruleXNumberLiteral returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+((
+    {
+        $current = forceCreateModelElement(
+            grammarAccess.getXNumberLiteralAccess().getXNumberLiteralAction_0(),
+            $current);
+    }
+)(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXNumberLiteralAccess().getValueNumberParserRuleCall_1_0()); 
+	    }
+		lv_value_1_0=ruleNumber		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXNumberLiteralRule());
+	        }
+       		set(
+       			$current, 
+       			"value",
+        		lv_value_1_0, 
+        		"Number");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleXStringLiteral
+entryRuleXStringLiteral returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getXStringLiteralRule()); }
+	 iv_ruleXStringLiteral=ruleXStringLiteral 
+	 { $current=$iv_ruleXStringLiteral.current; } 
+	 EOF 
+;
+
+// Rule XStringLiteral
+ruleXStringLiteral returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+((
+    {
+        $current = forceCreateModelElement(
+            grammarAccess.getXStringLiteralAccess().getXStringLiteralAction_0(),
+            $current);
+    }
+)(
+(
+		lv_value_1_0=RULE_STRING
+		{
+			newLeafNode(lv_value_1_0, grammarAccess.getXStringLiteralAccess().getValueSTRINGTerminalRuleCall_1_0()); 
+		}
+		{
+	        if ($current==null) {
+	            $current = createModelElement(grammarAccess.getXStringLiteralRule());
+	        }
+       		setWithLastConsumed(
+       			$current, 
+       			"value",
+        		lv_value_1_0, 
+        		"STRING");
+	    }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleXTypeLiteral
+entryRuleXTypeLiteral returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getXTypeLiteralRule()); }
+	 iv_ruleXTypeLiteral=ruleXTypeLiteral 
+	 { $current=$iv_ruleXTypeLiteral.current; } 
+	 EOF 
+;
+
+// Rule XTypeLiteral
+ruleXTypeLiteral returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+((
+    {
+        $current = forceCreateModelElement(
+            grammarAccess.getXTypeLiteralAccess().getXTypeLiteralAction_0(),
+            $current);
+    }
+)	otherlv_1='typeof' 
+    {
+    	newLeafNode(otherlv_1, grammarAccess.getXTypeLiteralAccess().getTypeofKeyword_1());
+    }
+	otherlv_2='(' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getXTypeLiteralAccess().getLeftParenthesisKeyword_2());
+    }
+(
+(
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getXTypeLiteralRule());
+	        }
+        }
+		{ 
+	        newCompositeNode(grammarAccess.getXTypeLiteralAccess().getTypeJvmTypeCrossReference_3_0()); 
+	    }
+		ruleQualifiedName		{ 
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXTypeLiteralAccess().getArrayDimensionsArrayBracketsParserRuleCall_4_0()); 
+	    }
+		lv_arrayDimensions_4_0=ruleArrayBrackets		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXTypeLiteralRule());
+	        }
+       		add(
+       			$current, 
+       			"arrayDimensions",
+        		lv_arrayDimensions_4_0, 
+        		"ArrayBrackets");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)*	otherlv_5=')' 
+    {
+    	newLeafNode(otherlv_5, grammarAccess.getXTypeLiteralAccess().getRightParenthesisKeyword_5());
+    }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleXThrowExpression
+entryRuleXThrowExpression returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getXThrowExpressionRule()); }
+	 iv_ruleXThrowExpression=ruleXThrowExpression 
+	 { $current=$iv_ruleXThrowExpression.current; } 
+	 EOF 
+;
+
+// Rule XThrowExpression
+ruleXThrowExpression returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+((
+    {
+        $current = forceCreateModelElement(
+            grammarAccess.getXThrowExpressionAccess().getXThrowExpressionAction_0(),
+            $current);
+    }
+)	otherlv_1='throw' 
+    {
+    	newLeafNode(otherlv_1, grammarAccess.getXThrowExpressionAccess().getThrowKeyword_1());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXThrowExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); 
+	    }
+		lv_expression_2_0=ruleXExpression		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXThrowExpressionRule());
+	        }
+       		set(
+       			$current, 
+       			"expression",
+        		lv_expression_2_0, 
+        		"XExpression");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleXReturnExpression
+entryRuleXReturnExpression returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getXReturnExpressionRule()); }
+	 iv_ruleXReturnExpression=ruleXReturnExpression 
+	 { $current=$iv_ruleXReturnExpression.current; } 
+	 EOF 
+;
+
+// Rule XReturnExpression
+ruleXReturnExpression returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+((
+    {
+        $current = forceCreateModelElement(
+            grammarAccess.getXReturnExpressionAccess().getXReturnExpressionAction_0(),
+            $current);
+    }
+)	otherlv_1='return' 
+    {
+    	newLeafNode(otherlv_1, grammarAccess.getXReturnExpressionAccess().getReturnKeyword_1());
+    }
+((	'extends' 
+ | 	'static' 
+ | 	'import' 
+ | 	'extension' 
+ | 	'!' 
+ | 	'-' 
+ | 	'+' 
+ | 	'new' 
+ | 	'{' 
+ | 	'switch' 
+ | 	'synchronized' 
+ | 	'<' 
+ | 	'super' 
+ | 	'#' 
+ | 	'[' 
+ | 	'false' 
+ | 	'true' 
+ | 	'null' 
+ | 	'typeof' 
+ | 	'if' 
+ | 	'for' 
+ | 	'while' 
+ | 	'do' 
+ | 	'throw' 
+ | 	'return' 
+ | 	'try' 
+ | 	'(' 
+ | 	RULE_ID | 	RULE_HEX | 	RULE_INT | 	RULE_DECIMAL | 	RULE_STRING)=>
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXReturnExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); 
+	    }
+		lv_expression_2_0=ruleXExpression		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXReturnExpressionRule());
+	        }
+       		set(
+       			$current, 
+       			"expression",
+        		lv_expression_2_0, 
+        		"XExpression");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)?)
+;
+
+
+
+
+
+// Entry rule entryRuleXTryCatchFinallyExpression
+entryRuleXTryCatchFinallyExpression returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionRule()); }
+	 iv_ruleXTryCatchFinallyExpression=ruleXTryCatchFinallyExpression 
+	 { $current=$iv_ruleXTryCatchFinallyExpression.current; } 
+	 EOF 
+;
+
+// Rule XTryCatchFinallyExpression
+ruleXTryCatchFinallyExpression returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+((
+    {
+        $current = forceCreateModelElement(
+            grammarAccess.getXTryCatchFinallyExpressionAccess().getXTryCatchFinallyExpressionAction_0(),
+            $current);
+    }
+)	otherlv_1='try' 
+    {
+    	newLeafNode(otherlv_1, grammarAccess.getXTryCatchFinallyExpressionAccess().getTryKeyword_1());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); 
+	    }
+		lv_expression_2_0=ruleXExpression		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXTryCatchFinallyExpressionRule());
+	        }
+       		set(
+       			$current, 
+       			"expression",
+        		lv_expression_2_0, 
+        		"XExpression");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)((((	'catch' 
+)=>
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionAccess().getCatchClausesXCatchClauseParserRuleCall_3_0_0_0()); 
+	    }
+		lv_catchClauses_3_0=ruleXCatchClause		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXTryCatchFinallyExpressionRule());
+	        }
+       		add(
+       			$current, 
+       			"catchClauses",
+        		lv_catchClauses_3_0, 
+        		"XCatchClause");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)+(((	'finally' 
+)=>	otherlv_4='finally' 
+    {
+    	newLeafNode(otherlv_4, grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyKeyword_3_0_1_0());
+    }
+)(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionXExpressionParserRuleCall_3_0_1_1_0()); 
+	    }
+		lv_finallyExpression_5_0=ruleXExpression		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXTryCatchFinallyExpressionRule());
+	        }
+       		set(
+       			$current, 
+       			"finallyExpression",
+        		lv_finallyExpression_5_0, 
+        		"XExpression");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))?)
+    |(	otherlv_6='finally' 
+    {
+    	newLeafNode(otherlv_6, grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyKeyword_3_1_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionXExpressionParserRuleCall_3_1_1_0()); 
+	    }
+		lv_finallyExpression_7_0=ruleXExpression		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXTryCatchFinallyExpressionRule());
+	        }
+       		set(
+       			$current, 
+       			"finallyExpression",
+        		lv_finallyExpression_7_0, 
+        		"XExpression");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))))
+;
+
+
+
+
+
+// Entry rule entryRuleXSynchronizedExpression
+entryRuleXSynchronizedExpression returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getXSynchronizedExpressionRule()); }
+	 iv_ruleXSynchronizedExpression=ruleXSynchronizedExpression 
+	 { $current=$iv_ruleXSynchronizedExpression.current; } 
+	 EOF 
+;
+
+// Rule XSynchronizedExpression
+ruleXSynchronizedExpression returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(((((
+)	'synchronized' 
+	'(' 
+))=>((
+    {
+        $current = forceCreateModelElement(
+            grammarAccess.getXSynchronizedExpressionAccess().getXSynchronizedExpressionAction_0_0_0(),
+            $current);
+    }
+)	otherlv_1='synchronized' 
+    {
+    	newLeafNode(otherlv_1, grammarAccess.getXSynchronizedExpressionAccess().getSynchronizedKeyword_0_0_1());
+    }
+	otherlv_2='(' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getXSynchronizedExpressionAccess().getLeftParenthesisKeyword_0_0_2());
+    }
+))(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXSynchronizedExpressionAccess().getParamXExpressionParserRuleCall_1_0()); 
+	    }
+		lv_param_3_0=ruleXExpression		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXSynchronizedExpressionRule());
+	        }
+       		set(
+       			$current, 
+       			"param",
+        		lv_param_3_0, 
+        		"XExpression");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)	otherlv_4=')' 
+    {
+    	newLeafNode(otherlv_4, grammarAccess.getXSynchronizedExpressionAccess().getRightParenthesisKeyword_2());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getXSynchronizedExpressionAccess().getExpressionXExpressionParserRuleCall_3_0()); 
+	    }
+		lv_expression_5_0=ruleXExpression		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getXSynchronizedExpressionRule());
+	        }
+       		set(
+       			$current, 
+       			"expression",
+        		lv_expression_5_0, 
+        		"XExpression");
+	        afterParserOrEnumRuleCall();
+	    }
diff --git a/org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.tokens b/org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.tokens
new file mode 100644
index 0000000..1fb5127
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.tokens
@@ -0,0 +1,297 @@
+'!'=120
+'!='=106
+'!=='=108
+'#'=92
+'%'=119
+'%='=99
+'&&'=104
+'&'=153
+'('=26
+')'=28
+'*'=19
+'**'=117
+'*='=97
+'+'=116
+'++'=121
+'+='=95
+','=27
+'-'=80
+'--'=122
+'-='=96
+'->'=110
+'.'=18
+'..'=112
+'..<'=111
+'/'=118
+'/='=98
+':'=130
+'::'=123
+';'=126
+'<'=100
+'<>'=114
+'='=91
+'=='=105
+'==='=107
+'=>'=113
+'>'=101
+'>='=102
+'?'=152
+'?.'=124
+'?:'=115
+'@'=90
+'['=93
+']'=94
+'as'=81
+'attributes'=25
+'based on'=41
+'boolean'=46
+'by enum'=33
+'by object'=83
+'by resource'=69
+'calculate as'=40
+'calculate based on'=84
+'case'=132
+'catch'=151
+'createBlobMapping'=70
+'datainterchange import'=21
+'datainterchanges'=20
+'datatype'=63
+'datatypes'=34
+'date from'=75
+'date in range'=47
+'days'=154
+'decimals'=50
+'default'=131
+'defined as'=39
+'do'=135
+'else'=128
+'embed'=38
+'every'=76
+'existing entities'=87
+'extends'=137
+'extension'=139
+'false'=142
+'finally'=149
+'for entity'=66
+'for'=133
+'from file'=22
+'future date'=43
+'if'=127
+'import'=16
+'instanceof'=109
+'integer from'=72
+'items'=29
+'iterate'=71
+'mock entities'=64
+'mock entitymodel for'=13
+'mocking'=65
+'months'=156
+'new'=141
+'null'=144
+'object'=31
+'objects'=30
+'optional for'=88
+'paragraps'=56
+'past date'=45
+'percent'=89
+'randomize'=42
+'ref'=86
+'resource'=24
+'resources'=23
+'return'=147
+'round to'=51
+'rows'=67
+'run with priority'=15
+'sentences'=57
+'signed double from'=52
+'signed double in range'=49
+'signed integer from'=54
+'signed integer in range'=53
+'static'=138
+'step'=74
+'super'=140
+'switch on'=36
+'switch'=129
+'synchronized'=150
+'temporary'=82
+'text from'=55
+'throw'=146
+'to'=68
+'today'=78
+'tomorrow'=79
+'true'=143
+'try'=148
+'typeof'=145
+'unsigned double from'=60
+'unsigned double in range'=59
+'unsigned integer from'=62
+'unsigned integer in range'=61
+'until'=73
+'up to and including'=48
+'using'=85
+'val'=136
+'var'=32
+'weeks'=155
+'when'=37
+'while'=134
+'with'=35
+'words'=58
+'years'=44
+'yesterday'=77
+'{'=14
+'|'=125
+'||'=103
+'}'=17
+RULE_ANY_OTHER=12
+RULE_DECIMAL=8
+RULE_HEX=7
+RULE_ID=5
+RULE_INT=4
+RULE_ML_COMMENT=9
+RULE_SL_COMMENT=10
+RULE_STRING=6
+RULE_WS=11
+T__100=100
+T__101=101
+T__102=102
+T__103=103
+T__104=104
+T__105=105
+T__106=106
+T__107=107
+T__108=108
+T__109=109
+T__110=110
+T__111=111
+T__112=112
+T__113=113
+T__114=114
+T__115=115
+T__116=116
+T__117=117
+T__118=118
+T__119=119
+T__120=120
+T__121=121
+T__122=122
+T__123=123
+T__124=124
+T__125=125
+T__126=126
+T__127=127
+T__128=128
+T__129=129
+T__130=130
+T__131=131
+T__132=132
+T__133=133
+T__134=134
+T__135=135
+T__136=136
+T__137=137
+T__138=138
+T__139=139
+T__13=13
+T__140=140
+T__141=141
+T__142=142
+T__143=143
+T__144=144
+T__145=145
+T__146=146
+T__147=147
+T__148=148
+T__149=149
+T__14=14
+T__150=150
+T__151=151
+T__152=152
+T__153=153
+T__154=154
+T__155=155
+T__156=156
+T__15=15
+T__16=16
+T__17=17
+T__18=18
+T__19=19
+T__20=20
+T__21=21
+T__22=22
+T__23=23
+T__24=24
+T__25=25
+T__26=26
+T__27=27
+T__28=28
+T__29=29
+T__30=30
+T__31=31
+T__32=32
+T__33=33
+T__34=34
+T__35=35
+T__36=36
+T__37=37
+T__38=38
+T__39=39
+T__40=40
+T__41=41
+T__42=42
+T__43=43
+T__44=44
+T__45=45
+T__46=46
+T__47=47
+T__48=48
+T__49=49
+T__50=50
+T__51=51
+T__52=52
+T__53=53
+T__54=54
+T__55=55
+T__56=56
+T__57=57
+T__58=58
+T__59=59
+T__60=60
+T__61=61
+T__62=62
+T__63=63
+T__64=64
+T__65=65
+T__66=66
+T__67=67
+T__68=68
+T__69=69
+T__70=70
+T__71=71
+T__72=72
+T__73=73
+T__74=74
+T__75=75
+T__76=76
+T__77=77
+T__78=78
+T__79=79
+T__80=80
+T__81=81
+T__82=82
+T__83=83
+T__84=84
+T__85=85
+T__86=86
+T__87=87
+T__88=88
+T__89=89
+T__90=90
+T__91=91
+T__92=92
+T__93=93
+T__94=94
+T__95=95
+T__96=96
+T__97=97
+T__98=98
+T__99=99
diff --git a/org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSLLexer.java b/org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSLLexer.java
new file mode 100644
index 0000000..6160a0f
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSLLexer.java
@@ -0,0 +1,6123 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  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:                                                      
+ * 	   Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ * 
+ */
+
+package org.eclipse.osbp.xtext.entitymock.parser.antlr.internal;
+
+// Hack: Use our own Lexer superclass by means of import. 
+// Currently there is no other way to specify the superclass for the lexer.
+import org.eclipse.xtext.parser.antlr.Lexer;
+
+
+import org.antlr.runtime.*;
+import java.util.Stack;
+import java.util.List;
+import java.util.ArrayList;
+
+@SuppressWarnings("all")
+public class InternalEntityMockDSLLexer extends Lexer {
+    public static final int T__144=144;
+    public static final int T__143=143;
+    public static final int T__146=146;
+    public static final int RULE_HEX=7;
+    public static final int T__50=50;
+    public static final int T__145=145;
+    public static final int T__140=140;
+    public static final int T__142=142;
+    public static final int T__141=141;
+    public static final int T__59=59;
+    public static final int T__55=55;
+    public static final int T__56=56;
+    public static final int T__57=57;
+    public static final int T__58=58;
+    public static final int T__51=51;
+    public static final int T__137=137;
+    public static final int T__52=52;
+    public static final int T__136=136;
+    public static final int T__53=53;
+    public static final int T__139=139;
+    public static final int T__54=54;
+    public static final int T__138=138;
+    public static final int T__133=133;
+    public static final int T__132=132;
+    public static final int T__60=60;
+    public static final int T__135=135;
+    public static final int T__61=61;
+    public static final int T__134=134;
+    public static final int RULE_ID=5;
+    public static final int T__131=131;
+    public static final int T__130=130;
+    public static final int RULE_INT=4;
+    public static final int T__66=66;
+    public static final int RULE_ML_COMMENT=9;
+    public static final int T__67=67;
+    public static final int T__129=129;
+    public static final int T__68=68;
+    public static final int T__69=69;
+    public static final int T__62=62;
+    public static final int T__126=126;
+    public static final int T__63=63;
+    public static final int T__125=125;
+    public static final int T__64=64;
+    public static final int T__128=128;
+    public static final int T__65=65;
+    public static final int T__127=127;
+    public static final int T__37=37;
+    public static final int T__38=38;
+    public static final int T__39=39;
+    public static final int T__33=33;
+    public static final int T__34=34;
+    public static final int T__35=35;
+    public static final int T__36=36;
+    public static final int T__30=30;
+    public static final int T__31=31;
+    public static final int T__32=32;
+    public static final int T__155=155;
+    public static final int T__154=154;
+    public static final int T__156=156;
+    public static final int T__151=151;
+    public static final int T__150=150;
+    public static final int T__153=153;
+    public static final int T__152=152;
+    public static final int T__48=48;
+    public static final int T__49=49;
+    public static final int T__44=44;
+    public static final int T__45=45;
+    public static final int T__46=46;
+    public static final int T__47=47;
+    public static final int T__40=40;
+    public static final int T__148=148;
+    public static final int T__41=41;
+    public static final int T__147=147;
+    public static final int T__42=42;
+    public static final int T__43=43;
+    public static final int T__149=149;
+    public static final int T__91=91;
+    public static final int T__100=100;
+    public static final int T__92=92;
+    public static final int T__93=93;
+    public static final int T__102=102;
+    public static final int T__94=94;
+    public static final int T__101=101;
+    public static final int T__90=90;
+    public static final int T__19=19;
+    public static final int T__15=15;
+    public static final int T__16=16;
+    public static final int T__17=17;
+    public static final int T__18=18;
+    public static final int T__99=99;
+    public static final int T__13=13;
+    public static final int T__14=14;
+    public static final int T__95=95;
+    public static final int T__96=96;
+    public static final int T__97=97;
+    public static final int T__98=98;
+    public static final int RULE_DECIMAL=8;
+    public static final int T__26=26;
+    public static final int T__27=27;
+    public static final int T__28=28;
+    public static final int T__29=29;
+    public static final int T__22=22;
+    public static final int T__23=23;
+    public static final int T__24=24;
+    public static final int T__25=25;
+    public static final int T__20=20;
+    public static final int T__21=21;
+    public static final int T__122=122;
+    public static final int T__70=70;
+    public static final int T__121=121;
+    public static final int T__71=71;
+    public static final int T__124=124;
+    public static final int T__72=72;
+    public static final int T__123=123;
+    public static final int T__120=120;
+    public static final int RULE_STRING=6;
+    public static final int RULE_SL_COMMENT=10;
+    public static final int T__77=77;
+    public static final int T__119=119;
+    public static final int T__78=78;
+    public static final int T__118=118;
+    public static final int T__79=79;
+    public static final int T__73=73;
+    public static final int T__115=115;
+    public static final int EOF=-1;
+    public static final int T__74=74;
+    public static final int T__114=114;
+    public static final int T__75=75;
+    public static final int T__117=117;
+    public static final int T__76=76;
+    public static final int T__116=116;
+    public static final int T__80=80;
+    public static final int T__111=111;
+    public static final int T__81=81;
+    public static final int T__110=110;
+    public static final int T__82=82;
+    public static final int T__113=113;
+    public static final int T__83=83;
+    public static final int T__112=112;
+    public static final int RULE_WS=11;
+    public static final int RULE_ANY_OTHER=12;
+    public static final int T__88=88;
+    public static final int T__108=108;
+    public static final int T__89=89;
+    public static final int T__107=107;
+    public static final int T__109=109;
+    public static final int T__84=84;
+    public static final int T__104=104;
+    public static final int T__85=85;
+    public static final int T__103=103;
+    public static final int T__86=86;
+    public static final int T__106=106;
+    public static final int T__87=87;
+    public static final int T__105=105;
+
+    // delegates
+    // delegators
+
+    public InternalEntityMockDSLLexer() {;} 
+    public InternalEntityMockDSLLexer(CharStream input) {
+        this(input, new RecognizerSharedState());
+    }
+    public InternalEntityMockDSLLexer(CharStream input, RecognizerSharedState state) {
+        super(input,state);
+
+    }
+    public String getGrammarFileName() { return "../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g"; }
+
+    // $ANTLR start "T__13"
+    public final void mT__13() throws RecognitionException {
+        try {
+            int _type = T__13;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:11:7: ( 'mock entitymodel for' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:11:9: 'mock entitymodel for'
+            {
+            match("mock entitymodel for"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__13"
+
+    // $ANTLR start "T__14"
+    public final void mT__14() throws RecognitionException {
+        try {
+            int _type = T__14;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:12:7: ( '{' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:12:9: '{'
+            {
+            match('{'); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__14"
+
+    // $ANTLR start "T__15"
+    public final void mT__15() throws RecognitionException {
+        try {
+            int _type = T__15;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:13:7: ( 'run with priority' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:13:9: 'run with priority'
+            {
+            match("run with priority"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__15"
+
+    // $ANTLR start "T__16"
+    public final void mT__16() throws RecognitionException {
+        try {
+            int _type = T__16;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:14:7: ( 'import' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:14:9: 'import'
+            {
+            match("import"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__16"
+
+    // $ANTLR start "T__17"
+    public final void mT__17() throws RecognitionException {
+        try {
+            int _type = T__17;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:15:7: ( '}' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:15:9: '}'
+            {
+            match('}'); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__17"
+
+    // $ANTLR start "T__18"
+    public final void mT__18() throws RecognitionException {
+        try {
+            int _type = T__18;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:16:7: ( '.' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:16:9: '.'
+            {
+            match('.'); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__18"
+
+    // $ANTLR start "T__19"
+    public final void mT__19() throws RecognitionException {
+        try {
+            int _type = T__19;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:17:7: ( '*' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:17:9: '*'
+            {
+            match('*'); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__19"
+
+    // $ANTLR start "T__20"
+    public final void mT__20() throws RecognitionException {
+        try {
+            int _type = T__20;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:18:7: ( 'datainterchanges' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:18:9: 'datainterchanges'
+            {
+            match("datainterchanges"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__20"
+
+    // $ANTLR start "T__21"
+    public final void mT__21() throws RecognitionException {
+        try {
+            int _type = T__21;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:19:7: ( 'datainterchange import' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:19:9: 'datainterchange import'
+            {
+            match("datainterchange import"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__21"
+
+    // $ANTLR start "T__22"
+    public final void mT__22() throws RecognitionException {
+        try {
+            int _type = T__22;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:20:7: ( 'from file' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:20:9: 'from file'
+            {
+            match("from file"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__22"
+
+    // $ANTLR start "T__23"
+    public final void mT__23() throws RecognitionException {
+        try {
+            int _type = T__23;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:21:7: ( 'resources' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:21:9: 'resources'
+            {
+            match("resources"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__23"
+
+    // $ANTLR start "T__24"
+    public final void mT__24() throws RecognitionException {
+        try {
+            int _type = T__24;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:22:7: ( 'resource' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:22:9: 'resource'
+            {
+            match("resource"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__24"
+
+    // $ANTLR start "T__25"
+    public final void mT__25() throws RecognitionException {
+        try {
+            int _type = T__25;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:23:7: ( 'attributes' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:23:9: 'attributes'
+            {
+            match("attributes"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__25"
+
+    // $ANTLR start "T__26"
+    public final void mT__26() throws RecognitionException {
+        try {
+            int _type = T__26;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:24:7: ( '(' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:24:9: '('
+            {
+            match('('); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__26"
+
+    // $ANTLR start "T__27"
+    public final void mT__27() throws RecognitionException {
+        try {
+            int _type = T__27;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:25:7: ( ',' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:25:9: ','
+            {
+            match(','); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__27"
+
+    // $ANTLR start "T__28"
+    public final void mT__28() throws RecognitionException {
+        try {
+            int _type = T__28;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:26:7: ( ')' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:26:9: ')'
+            {
+            match(')'); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__28"
+
+    // $ANTLR start "T__29"
+    public final void mT__29() throws RecognitionException {
+        try {
+            int _type = T__29;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:27:7: ( 'items' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:27:9: 'items'
+            {
+            match("items"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__29"
+
+    // $ANTLR start "T__30"
+    public final void mT__30() throws RecognitionException {
+        try {
+            int _type = T__30;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:28:7: ( 'objects' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:28:9: 'objects'
+            {
+            match("objects"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__30"
+
+    // $ANTLR start "T__31"
+    public final void mT__31() throws RecognitionException {
+        try {
+            int _type = T__31;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:29:7: ( 'object' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:29:9: 'object'
+            {
+            match("object"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__31"
+
+    // $ANTLR start "T__32"
+    public final void mT__32() throws RecognitionException {
+        try {
+            int _type = T__32;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:30:7: ( 'var' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:30:9: 'var'
+            {
+            match("var"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__32"
+
+    // $ANTLR start "T__33"
+    public final void mT__33() throws RecognitionException {
+        try {
+            int _type = T__33;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:31:7: ( 'by enum' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:31:9: 'by enum'
+            {
+            match("by enum"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__33"
+
+    // $ANTLR start "T__34"
+    public final void mT__34() throws RecognitionException {
+        try {
+            int _type = T__34;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:32:7: ( 'datatypes' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:32:9: 'datatypes'
+            {
+            match("datatypes"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__34"
+
+    // $ANTLR start "T__35"
+    public final void mT__35() throws RecognitionException {
+        try {
+            int _type = T__35;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:33:7: ( 'with' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:33:9: 'with'
+            {
+            match("with"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__35"
+
+    // $ANTLR start "T__36"
+    public final void mT__36() throws RecognitionException {
+        try {
+            int _type = T__36;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:34:7: ( 'switch on' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:34:9: 'switch on'
+            {
+            match("switch on"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__36"
+
+    // $ANTLR start "T__37"
+    public final void mT__37() throws RecognitionException {
+        try {
+            int _type = T__37;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:35:7: ( 'when' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:35:9: 'when'
+            {
+            match("when"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__37"
+
+    // $ANTLR start "T__38"
+    public final void mT__38() throws RecognitionException {
+        try {
+            int _type = T__38;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:36:7: ( 'embed' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:36:9: 'embed'
+            {
+            match("embed"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__38"
+
+    // $ANTLR start "T__39"
+    public final void mT__39() throws RecognitionException {
+        try {
+            int _type = T__39;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:37:7: ( 'defined as' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:37:9: 'defined as'
+            {
+            match("defined as"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__39"
+
+    // $ANTLR start "T__40"
+    public final void mT__40() throws RecognitionException {
+        try {
+            int _type = T__40;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:38:7: ( 'calculate as' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:38:9: 'calculate as'
+            {
+            match("calculate as"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__40"
+
+    // $ANTLR start "T__41"
+    public final void mT__41() throws RecognitionException {
+        try {
+            int _type = T__41;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:39:7: ( 'based on' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:39:9: 'based on'
+            {
+            match("based on"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__41"
+
+    // $ANTLR start "T__42"
+    public final void mT__42() throws RecognitionException {
+        try {
+            int _type = T__42;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:40:7: ( 'randomize' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:40:9: 'randomize'
+            {
+            match("randomize"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__42"
+
+    // $ANTLR start "T__43"
+    public final void mT__43() throws RecognitionException {
+        try {
+            int _type = T__43;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:41:7: ( 'future date' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:41:9: 'future date'
+            {
+            match("future date"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__43"
+
+    // $ANTLR start "T__44"
+    public final void mT__44() throws RecognitionException {
+        try {
+            int _type = T__44;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:42:7: ( 'years' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:42:9: 'years'
+            {
+            match("years"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__44"
+
+    // $ANTLR start "T__45"
+    public final void mT__45() throws RecognitionException {
+        try {
+            int _type = T__45;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:43:7: ( 'past date' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:43:9: 'past date'
+            {
+            match("past date"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__45"
+
+    // $ANTLR start "T__46"
+    public final void mT__46() throws RecognitionException {
+        try {
+            int _type = T__46;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:44:7: ( 'boolean' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:44:9: 'boolean'
+            {
+            match("boolean"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__46"
+
+    // $ANTLR start "T__47"
+    public final void mT__47() throws RecognitionException {
+        try {
+            int _type = T__47;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:45:7: ( 'date in range' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:45:9: 'date in range'
+            {
+            match("date in range"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__47"
+
+    // $ANTLR start "T__48"
+    public final void mT__48() throws RecognitionException {
+        try {
+            int _type = T__48;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:46:7: ( 'up to and including' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:46:9: 'up to and including'
+            {
+            match("up to and including"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__48"
+
+    // $ANTLR start "T__49"
+    public final void mT__49() throws RecognitionException {
+        try {
+            int _type = T__49;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:47:7: ( 'signed double in range' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:47:9: 'signed double in range'
+            {
+            match("signed double in range"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__49"
+
+    // $ANTLR start "T__50"
+    public final void mT__50() throws RecognitionException {
+        try {
+            int _type = T__50;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:48:7: ( 'decimals' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:48:9: 'decimals'
+            {
+            match("decimals"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__50"
+
+    // $ANTLR start "T__51"
+    public final void mT__51() throws RecognitionException {
+        try {
+            int _type = T__51;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:49:7: ( 'round to' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:49:9: 'round to'
+            {
+            match("round to"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__51"
+
+    // $ANTLR start "T__52"
+    public final void mT__52() throws RecognitionException {
+        try {
+            int _type = T__52;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:50:7: ( 'signed double from' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:50:9: 'signed double from'
+            {
+            match("signed double from"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__52"
+
+    // $ANTLR start "T__53"
+    public final void mT__53() throws RecognitionException {
+        try {
+            int _type = T__53;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:51:7: ( 'signed integer in range' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:51:9: 'signed integer in range'
+            {
+            match("signed integer in range"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__53"
+
+    // $ANTLR start "T__54"
+    public final void mT__54() throws RecognitionException {
+        try {
+            int _type = T__54;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:52:7: ( 'signed integer from' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:52:9: 'signed integer from'
+            {
+            match("signed integer from"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__54"
+
+    // $ANTLR start "T__55"
+    public final void mT__55() throws RecognitionException {
+        try {
+            int _type = T__55;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:53:7: ( 'text from' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:53:9: 'text from'
+            {
+            match("text from"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__55"
+
+    // $ANTLR start "T__56"
+    public final void mT__56() throws RecognitionException {
+        try {
+            int _type = T__56;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:54:7: ( 'paragraps' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:54:9: 'paragraps'
+            {
+            match("paragraps"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__56"
+
+    // $ANTLR start "T__57"
+    public final void mT__57() throws RecognitionException {
+        try {
+            int _type = T__57;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:55:7: ( 'sentences' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:55:9: 'sentences'
+            {
+            match("sentences"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__57"
+
+    // $ANTLR start "T__58"
+    public final void mT__58() throws RecognitionException {
+        try {
+            int _type = T__58;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:56:7: ( 'words' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:56:9: 'words'
+            {
+            match("words"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__58"
+
+    // $ANTLR start "T__59"
+    public final void mT__59() throws RecognitionException {
+        try {
+            int _type = T__59;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:57:7: ( 'unsigned double in range' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:57:9: 'unsigned double in range'
+            {
+            match("unsigned double in range"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__59"
+
+    // $ANTLR start "T__60"
+    public final void mT__60() throws RecognitionException {
+        try {
+            int _type = T__60;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:58:7: ( 'unsigned double from' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:58:9: 'unsigned double from'
+            {
+            match("unsigned double from"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__60"
+
+    // $ANTLR start "T__61"
+    public final void mT__61() throws RecognitionException {
+        try {
+            int _type = T__61;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:59:7: ( 'unsigned integer in range' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:59:9: 'unsigned integer in range'
+            {
+            match("unsigned integer in range"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__61"
+
+    // $ANTLR start "T__62"
+    public final void mT__62() throws RecognitionException {
+        try {
+            int _type = T__62;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:60:7: ( 'unsigned integer from' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:60:9: 'unsigned integer from'
+            {
+            match("unsigned integer from"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__62"
+
+    // $ANTLR start "T__63"
+    public final void mT__63() throws RecognitionException {
+        try {
+            int _type = T__63;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:61:7: ( 'datatype' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:61:9: 'datatype'
+            {
+            match("datatype"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__63"
+
+    // $ANTLR start "T__64"
+    public final void mT__64() throws RecognitionException {
+        try {
+            int _type = T__64;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:62:7: ( 'mock entities' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:62:9: 'mock entities'
+            {
+            match("mock entities"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__64"
+
+    // $ANTLR start "T__65"
+    public final void mT__65() throws RecognitionException {
+        try {
+            int _type = T__65;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:63:7: ( 'mocking' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:63:9: 'mocking'
+            {
+            match("mocking"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__65"
+
+    // $ANTLR start "T__66"
+    public final void mT__66() throws RecognitionException {
+        try {
+            int _type = T__66;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:64:7: ( 'for entity' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:64:9: 'for entity'
+            {
+            match("for entity"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__66"
+
+    // $ANTLR start "T__67"
+    public final void mT__67() throws RecognitionException {
+        try {
+            int _type = T__67;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:65:7: ( 'rows' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:65:9: 'rows'
+            {
+            match("rows"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__67"
+
+    // $ANTLR start "T__68"
+    public final void mT__68() throws RecognitionException {
+        try {
+            int _type = T__68;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:66:7: ( 'to' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:66:9: 'to'
+            {
+            match("to"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__68"
+
+    // $ANTLR start "T__69"
+    public final void mT__69() throws RecognitionException {
+        try {
+            int _type = T__69;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:67:7: ( 'by resource' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:67:9: 'by resource'
+            {
+            match("by resource"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__69"
+
+    // $ANTLR start "T__70"
+    public final void mT__70() throws RecognitionException {
+        try {
+            int _type = T__70;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:68:7: ( 'createBlobMapping' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:68:9: 'createBlobMapping'
+            {
+            match("createBlobMapping"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__70"
+
+    // $ANTLR start "T__71"
+    public final void mT__71() throws RecognitionException {
+        try {
+            int _type = T__71;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:69:7: ( 'iterate' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:69:9: 'iterate'
+            {
+            match("iterate"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__71"
+
+    // $ANTLR start "T__72"
+    public final void mT__72() throws RecognitionException {
+        try {
+            int _type = T__72;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:70:7: ( 'integer from' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:70:9: 'integer from'
+            {
+            match("integer from"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__72"
+
+    // $ANTLR start "T__73"
+    public final void mT__73() throws RecognitionException {
+        try {
+            int _type = T__73;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:71:7: ( 'until' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:71:9: 'until'
+            {
+            match("until"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__73"
+
+    // $ANTLR start "T__74"
+    public final void mT__74() throws RecognitionException {
+        try {
+            int _type = T__74;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:72:7: ( 'step' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:72:9: 'step'
+            {
+            match("step"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__74"
+
+    // $ANTLR start "T__75"
+    public final void mT__75() throws RecognitionException {
+        try {
+            int _type = T__75;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:73:7: ( 'date from' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:73:9: 'date from'
+            {
+            match("date from"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__75"
+
+    // $ANTLR start "T__76"
+    public final void mT__76() throws RecognitionException {
+        try {
+            int _type = T__76;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:74:7: ( 'every' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:74:9: 'every'
+            {
+            match("every"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__76"
+
+    // $ANTLR start "T__77"
+    public final void mT__77() throws RecognitionException {
+        try {
+            int _type = T__77;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:75:7: ( 'yesterday' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:75:9: 'yesterday'
+            {
+            match("yesterday"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__77"
+
+    // $ANTLR start "T__78"
+    public final void mT__78() throws RecognitionException {
+        try {
+            int _type = T__78;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:76:7: ( 'today' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:76:9: 'today'
+            {
+            match("today"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__78"
+
+    // $ANTLR start "T__79"
+    public final void mT__79() throws RecognitionException {
+        try {
+            int _type = T__79;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:77:7: ( 'tomorrow' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:77:9: 'tomorrow'
+            {
+            match("tomorrow"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__79"
+
+    // $ANTLR start "T__80"
+    public final void mT__80() throws RecognitionException {
+        try {
+            int _type = T__80;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:78:7: ( '-' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:78:9: '-'
+            {
+            match('-'); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__80"
+
+    // $ANTLR start "T__81"
+    public final void mT__81() throws RecognitionException {
+        try {
+            int _type = T__81;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:79:7: ( 'as' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:79:9: 'as'
+            {
+            match("as"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__81"
+
+    // $ANTLR start "T__82"
+    public final void mT__82() throws RecognitionException {
+        try {
+            int _type = T__82;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:80:7: ( 'temporary' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:80:9: 'temporary'
+            {
+            match("temporary"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__82"
+
+    // $ANTLR start "T__83"
+    public final void mT__83() throws RecognitionException {
+        try {
+            int _type = T__83;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:81:7: ( 'by object' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:81:9: 'by object'
+            {
+            match("by object"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__83"
+
+    // $ANTLR start "T__84"
+    public final void mT__84() throws RecognitionException {
+        try {
+            int _type = T__84;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:82:7: ( 'calculate based on' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:82:9: 'calculate based on'
+            {
+            match("calculate based on"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__84"
+
+    // $ANTLR start "T__85"
+    public final void mT__85() throws RecognitionException {
+        try {
+            int _type = T__85;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:83:7: ( 'using' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:83:9: 'using'
+            {
+            match("using"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__85"
+
+    // $ANTLR start "T__86"
+    public final void mT__86() throws RecognitionException {
+        try {
+            int _type = T__86;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:84:7: ( 'ref' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:84:9: 'ref'
+            {
+            match("ref"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__86"
+
+    // $ANTLR start "T__87"
+    public final void mT__87() throws RecognitionException {
+        try {
+            int _type = T__87;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:85:7: ( 'existing entities' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:85:9: 'existing entities'
+            {
+            match("existing entities"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__87"
+
+    // $ANTLR start "T__88"
+    public final void mT__88() throws RecognitionException {
+        try {
+            int _type = T__88;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:86:7: ( 'optional for' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:86:9: 'optional for'
+            {
+            match("optional for"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__88"
+
+    // $ANTLR start "T__89"
+    public final void mT__89() throws RecognitionException {
+        try {
+            int _type = T__89;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:87:7: ( 'percent' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:87:9: 'percent'
+            {
+            match("percent"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__89"
+
+    // $ANTLR start "T__90"
+    public final void mT__90() throws RecognitionException {
+        try {
+            int _type = T__90;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:88:7: ( '@' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:88:9: '@'
+            {
+            match('@'); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__90"
+
+    // $ANTLR start "T__91"
+    public final void mT__91() throws RecognitionException {
+        try {
+            int _type = T__91;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:89:7: ( '=' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:89:9: '='
+            {
+            match('='); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__91"
+
+    // $ANTLR start "T__92"
+    public final void mT__92() throws RecognitionException {
+        try {
+            int _type = T__92;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:90:7: ( '#' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:90:9: '#'
+            {
+            match('#'); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__92"
+
+    // $ANTLR start "T__93"
+    public final void mT__93() throws RecognitionException {
+        try {
+            int _type = T__93;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:91:7: ( '[' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:91:9: '['
+            {
+            match('['); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__93"
+
+    // $ANTLR start "T__94"
+    public final void mT__94() throws RecognitionException {
+        try {
+            int _type = T__94;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:92:7: ( ']' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:92:9: ']'
+            {
+            match(']'); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__94"
+
+    // $ANTLR start "T__95"
+    public final void mT__95() throws RecognitionException {
+        try {
+            int _type = T__95;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:93:7: ( '+=' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:93:9: '+='
+            {
+            match("+="); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__95"
+
+    // $ANTLR start "T__96"
+    public final void mT__96() throws RecognitionException {
+        try {
+            int _type = T__96;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:94:7: ( '-=' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:94:9: '-='
+            {
+            match("-="); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__96"
+
+    // $ANTLR start "T__97"
+    public final void mT__97() throws RecognitionException {
+        try {
+            int _type = T__97;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:95:7: ( '*=' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:95:9: '*='
+            {
+            match("*="); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__97"
+
+    // $ANTLR start "T__98"
+    public final void mT__98() throws RecognitionException {
+        try {
+            int _type = T__98;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:96:7: ( '/=' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:96:9: '/='
+            {
+            match("/="); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__98"
+
+    // $ANTLR start "T__99"
+    public final void mT__99() throws RecognitionException {
+        try {
+            int _type = T__99;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:97:7: ( '%=' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:97:9: '%='
+            {
+            match("%="); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__99"
+
+    // $ANTLR start "T__100"
+    public final void mT__100() throws RecognitionException {
+        try {
+            int _type = T__100;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:98:8: ( '<' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:98:10: '<'
+            {
+            match('<'); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__100"
+
+    // $ANTLR start "T__101"
+    public final void mT__101() throws RecognitionException {
+        try {
+            int _type = T__101;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:99:8: ( '>' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:99:10: '>'
+            {
+            match('>'); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__101"
+
+    // $ANTLR start "T__102"
+    public final void mT__102() throws RecognitionException {
+        try {
+            int _type = T__102;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:100:8: ( '>=' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:100:10: '>='
+            {
+            match(">="); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__102"
+
+    // $ANTLR start "T__103"
+    public final void mT__103() throws RecognitionException {
+        try {
+            int _type = T__103;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:101:8: ( '||' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:101:10: '||'
+            {
+            match("||"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__103"
+
+    // $ANTLR start "T__104"
+    public final void mT__104() throws RecognitionException {
+        try {
+            int _type = T__104;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:102:8: ( '&&' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:102:10: '&&'
+            {
+            match("&&"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__104"
+
+    // $ANTLR start "T__105"
+    public final void mT__105() throws RecognitionException {
+        try {
+            int _type = T__105;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:103:8: ( '==' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:103:10: '=='
+            {
+            match("=="); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__105"
+
+    // $ANTLR start "T__106"
+    public final void mT__106() throws RecognitionException {
+        try {
+            int _type = T__106;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:104:8: ( '!=' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:104:10: '!='
+            {
+            match("!="); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__106"
+
+    // $ANTLR start "T__107"
+    public final void mT__107() throws RecognitionException {
+        try {
+            int _type = T__107;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:105:8: ( '===' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:105:10: '==='
+            {
+            match("==="); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__107"
+
+    // $ANTLR start "T__108"
+    public final void mT__108() throws RecognitionException {
+        try {
+            int _type = T__108;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:106:8: ( '!==' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:106:10: '!=='
+            {
+            match("!=="); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__108"
+
+    // $ANTLR start "T__109"
+    public final void mT__109() throws RecognitionException {
+        try {
+            int _type = T__109;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:107:8: ( 'instanceof' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:107:10: 'instanceof'
+            {
+            match("instanceof"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__109"
+
+    // $ANTLR start "T__110"
+    public final void mT__110() throws RecognitionException {
+        try {
+            int _type = T__110;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:108:8: ( '->' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:108:10: '->'
+            {
+            match("->"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__110"
+
+    // $ANTLR start "T__111"
+    public final void mT__111() throws RecognitionException {
+        try {
+            int _type = T__111;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:109:8: ( '..<' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:109:10: '..<'
+            {
+            match("..<"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__111"
+
+    // $ANTLR start "T__112"
+    public final void mT__112() throws RecognitionException {
+        try {
+            int _type = T__112;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:110:8: ( '..' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:110:10: '..'
+            {
+            match(".."); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__112"
+
+    // $ANTLR start "T__113"
+    public final void mT__113() throws RecognitionException {
+        try {
+            int _type = T__113;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:111:8: ( '=>' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:111:10: '=>'
+            {
+            match("=>"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__113"
+
+    // $ANTLR start "T__114"
+    public final void mT__114() throws RecognitionException {
+        try {
+            int _type = T__114;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:112:8: ( '<>' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:112:10: '<>'
+            {
+            match("<>"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__114"
+
+    // $ANTLR start "T__115"
+    public final void mT__115() throws RecognitionException {
+        try {
+            int _type = T__115;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:113:8: ( '?:' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:113:10: '?:'
+            {
+            match("?:"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__115"
+
+    // $ANTLR start "T__116"
+    public final void mT__116() throws RecognitionException {
+        try {
+            int _type = T__116;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:114:8: ( '+' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:114:10: '+'
+            {
+            match('+'); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__116"
+
+    // $ANTLR start "T__117"
+    public final void mT__117() throws RecognitionException {
+        try {
+            int _type = T__117;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:115:8: ( '**' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:115:10: '**'
+            {
+            match("**"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__117"
+
+    // $ANTLR start "T__118"
+    public final void mT__118() throws RecognitionException {
+        try {
+            int _type = T__118;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:116:8: ( '/' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:116:10: '/'
+            {
+            match('/'); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__118"
+
+    // $ANTLR start "T__119"
+    public final void mT__119() throws RecognitionException {
+        try {
+            int _type = T__119;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:117:8: ( '%' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:117:10: '%'
+            {
+            match('%'); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__119"
+
+    // $ANTLR start "T__120"
+    public final void mT__120() throws RecognitionException {
+        try {
+            int _type = T__120;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:118:8: ( '!' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:118:10: '!'
+            {
+            match('!'); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__120"
+
+    // $ANTLR start "T__121"
+    public final void mT__121() throws RecognitionException {
+        try {
+            int _type = T__121;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:119:8: ( '++' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:119:10: '++'
+            {
+            match("++"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__121"
+
+    // $ANTLR start "T__122"
+    public final void mT__122() throws RecognitionException {
+        try {
+            int _type = T__122;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:120:8: ( '--' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:120:10: '--'
+            {
+            match("--"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__122"
+
+    // $ANTLR start "T__123"
+    public final void mT__123() throws RecognitionException {
+        try {
+            int _type = T__123;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:121:8: ( '::' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:121:10: '::'
+            {
+            match("::"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__123"
+
+    // $ANTLR start "T__124"
+    public final void mT__124() throws RecognitionException {
+        try {
+            int _type = T__124;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:122:8: ( '?.' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:122:10: '?.'
+            {
+            match("?."); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__124"
+
+    // $ANTLR start "T__125"
+    public final void mT__125() throws RecognitionException {
+        try {
+            int _type = T__125;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:123:8: ( '|' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:123:10: '|'
+            {
+            match('|'); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__125"
+
+    // $ANTLR start "T__126"
+    public final void mT__126() throws RecognitionException {
+        try {
+            int _type = T__126;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:124:8: ( ';' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:124:10: ';'
+            {
+            match(';'); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__126"
+
+    // $ANTLR start "T__127"
+    public final void mT__127() throws RecognitionException {
+        try {
+            int _type = T__127;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:125:8: ( 'if' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:125:10: 'if'
+            {
+            match("if"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__127"
+
+    // $ANTLR start "T__128"
+    public final void mT__128() throws RecognitionException {
+        try {
+            int _type = T__128;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:126:8: ( 'else' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:126:10: 'else'
+            {
+            match("else"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__128"
+
+    // $ANTLR start "T__129"
+    public final void mT__129() throws RecognitionException {
+        try {
+            int _type = T__129;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:127:8: ( 'switch' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:127:10: 'switch'
+            {
+            match("switch"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__129"
+
+    // $ANTLR start "T__130"
+    public final void mT__130() throws RecognitionException {
+        try {
+            int _type = T__130;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:128:8: ( ':' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:128:10: ':'
+            {
+            match(':'); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__130"
+
+    // $ANTLR start "T__131"
+    public final void mT__131() throws RecognitionException {
+        try {
+            int _type = T__131;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:129:8: ( 'default' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:129:10: 'default'
+            {
+            match("default"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__131"
+
+    // $ANTLR start "T__132"
+    public final void mT__132() throws RecognitionException {
+        try {
+            int _type = T__132;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:130:8: ( 'case' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:130:10: 'case'
+            {
+            match("case"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__132"
+
+    // $ANTLR start "T__133"
+    public final void mT__133() throws RecognitionException {
+        try {
+            int _type = T__133;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:131:8: ( 'for' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:131:10: 'for'
+            {
+            match("for"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__133"
+
+    // $ANTLR start "T__134"
+    public final void mT__134() throws RecognitionException {
+        try {
+            int _type = T__134;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:132:8: ( 'while' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:132:10: 'while'
+            {
+            match("while"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__134"
+
+    // $ANTLR start "T__135"
+    public final void mT__135() throws RecognitionException {
+        try {
+            int _type = T__135;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:133:8: ( 'do' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:133:10: 'do'
+            {
+            match("do"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__135"
+
+    // $ANTLR start "T__136"
+    public final void mT__136() throws RecognitionException {
+        try {
+            int _type = T__136;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:134:8: ( 'val' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:134:10: 'val'
+            {
+            match("val"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__136"
+
+    // $ANTLR start "T__137"
+    public final void mT__137() throws RecognitionException {
+        try {
+            int _type = T__137;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:135:8: ( 'extends' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:135:10: 'extends'
+            {
+            match("extends"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__137"
+
+    // $ANTLR start "T__138"
+    public final void mT__138() throws RecognitionException {
+        try {
+            int _type = T__138;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:136:8: ( 'static' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:136:10: 'static'
+            {
+            match("static"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__138"
+
+    // $ANTLR start "T__139"
+    public final void mT__139() throws RecognitionException {
+        try {
+            int _type = T__139;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:137:8: ( 'extension' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:137:10: 'extension'
+            {
+            match("extension"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__139"
+
+    // $ANTLR start "T__140"
+    public final void mT__140() throws RecognitionException {
+        try {
+            int _type = T__140;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:138:8: ( 'super' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:138:10: 'super'
+            {
+            match("super"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__140"
+
+    // $ANTLR start "T__141"
+    public final void mT__141() throws RecognitionException {
+        try {
+            int _type = T__141;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:139:8: ( 'new' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:139:10: 'new'
+            {
+            match("new"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__141"
+
+    // $ANTLR start "T__142"
+    public final void mT__142() throws RecognitionException {
+        try {
+            int _type = T__142;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:140:8: ( 'false' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:140:10: 'false'
+            {
+            match("false"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__142"
+
+    // $ANTLR start "T__143"
+    public final void mT__143() throws RecognitionException {
+        try {
+            int _type = T__143;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:141:8: ( 'true' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:141:10: 'true'
+            {
+            match("true"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__143"
+
+    // $ANTLR start "T__144"
+    public final void mT__144() throws RecognitionException {
+        try {
+            int _type = T__144;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:142:8: ( 'null' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:142:10: 'null'
+            {
+            match("null"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__144"
+
+    // $ANTLR start "T__145"
+    public final void mT__145() throws RecognitionException {
+        try {
+            int _type = T__145;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:143:8: ( 'typeof' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:143:10: 'typeof'
+            {
+            match("typeof"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__145"
+
+    // $ANTLR start "T__146"
+    public final void mT__146() throws RecognitionException {
+        try {
+            int _type = T__146;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:144:8: ( 'throw' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:144:10: 'throw'
+            {
+            match("throw"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__146"
+
+    // $ANTLR start "T__147"
+    public final void mT__147() throws RecognitionException {
+        try {
+            int _type = T__147;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:145:8: ( 'return' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:145:10: 'return'
+            {
+            match("return"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__147"
+
+    // $ANTLR start "T__148"
+    public final void mT__148() throws RecognitionException {
+        try {
+            int _type = T__148;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:146:8: ( 'try' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:146:10: 'try'
+            {
+            match("try"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__148"
+
+    // $ANTLR start "T__149"
+    public final void mT__149() throws RecognitionException {
+        try {
+            int _type = T__149;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:147:8: ( 'finally' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:147:10: 'finally'
+            {
+            match("finally"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__149"
+
+    // $ANTLR start "T__150"
+    public final void mT__150() throws RecognitionException {
+        try {
+            int _type = T__150;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:148:8: ( 'synchronized' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:148:10: 'synchronized'
+            {
+            match("synchronized"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__150"
+
+    // $ANTLR start "T__151"
+    public final void mT__151() throws RecognitionException {
+        try {
+            int _type = T__151;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:149:8: ( 'catch' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:149:10: 'catch'
+            {
+            match("catch"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__151"
+
+    // $ANTLR start "T__152"
+    public final void mT__152() throws RecognitionException {
+        try {
+            int _type = T__152;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:150:8: ( '?' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:150:10: '?'
+            {
+            match('?'); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__152"
+
+    // $ANTLR start "T__153"
+    public final void mT__153() throws RecognitionException {
+        try {
+            int _type = T__153;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:151:8: ( '&' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:151:10: '&'
+            {
+            match('&'); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__153"
+
+    // $ANTLR start "T__154"
+    public final void mT__154() throws RecognitionException {
+        try {
+            int _type = T__154;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:152:8: ( 'days' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:152:10: 'days'
+            {
+            match("days"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__154"
+
+    // $ANTLR start "T__155"
+    public final void mT__155() throws RecognitionException {
+        try {
+            int _type = T__155;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:153:8: ( 'weeks' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:153:10: 'weeks'
+            {
+            match("weeks"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__155"
+
+    // $ANTLR start "T__156"
+    public final void mT__156() throws RecognitionException {
+        try {
+            int _type = T__156;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:154:8: ( 'months' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:154:10: 'months'
+            {
+            match("months"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__156"
+
+    // $ANTLR start "RULE_ID"
+    public final void mRULE_ID() throws RecognitionException {
+        try {
+            int _type = RULE_ID;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:11077:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' | '0' .. '9' )* )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:11077:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' | '0' .. '9' )*
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:11077:11: ( '^' )?
+            int alt1=2;
+            int LA1_0 = input.LA(1);
+
+            if ( (LA1_0=='^') ) {
+                alt1=1;
+            }
+            switch (alt1) {
+                case 1 :
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:11077:11: '^'
+                    {
+                    match('^'); 
+
+                    }
+                    break;
+
+            }
+
+            if ( input.LA(1)=='$'||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
+                input.consume();
+
+            }
+            else {
+                MismatchedSetException mse = new MismatchedSetException(null,input);
+                recover(mse);
+                throw mse;}
+
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:11077:44: ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' | '0' .. '9' )*
+            loop2:
+            do {
+                int alt2=2;
+                int LA2_0 = input.LA(1);
+
+                if ( (LA2_0=='$'||(LA2_0>='0' && LA2_0<='9')||(LA2_0>='A' && LA2_0<='Z')||LA2_0=='_'||(LA2_0>='a' && LA2_0<='z')) ) {
+                    alt2=1;
+                }
+
+
+                switch (alt2) {
+            	case 1 :
+            	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:
+            	    {
+            	    if ( input.LA(1)=='$'||(input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
+            	        input.consume();
+
+            	    }
+            	    else {
+            	        MismatchedSetException mse = new MismatchedSetException(null,input);
+            	        recover(mse);
+            	        throw mse;}
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop2;
+                }
+            } while (true);
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "RULE_ID"
+
+    // $ANTLR start "RULE_HEX"
+    public final void mRULE_HEX() throws RecognitionException {
+        try {
+            int _type = RULE_HEX;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:11079:10: ( ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+ ( '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) )? )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:11079:12: ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+ ( '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) )?
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:11079:12: ( '0x' | '0X' )
+            int alt3=2;
+            int LA3_0 = input.LA(1);
+
+            if ( (LA3_0=='0') ) {
+                int LA3_1 = input.LA(2);
+
+                if ( (LA3_1=='x') ) {
+                    alt3=1;
+                }
+                else if ( (LA3_1=='X') ) {
+                    alt3=2;
+                }
+                else {
+                    NoViableAltException nvae =
+                        new NoViableAltException("", 3, 1, input);
+
+                    throw nvae;
+                }
+            }
+            else {
+                NoViableAltException nvae =
+                    new NoViableAltException("", 3, 0, input);
+
+                throw nvae;
+            }
+            switch (alt3) {
+                case 1 :
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:11079:13: '0x'
+                    {
+                    match("0x"); 
+
+
+                    }
+                    break;
+                case 2 :
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:11079:18: '0X'
+                    {
+                    match("0X"); 
+
+
+                    }
+                    break;
+
+            }
+
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:11079:24: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+
+            int cnt4=0;
+            loop4:
+            do {
+                int alt4=2;
+                int LA4_0 = input.LA(1);
+
+                if ( ((LA4_0>='0' && LA4_0<='9')||(LA4_0>='A' && LA4_0<='F')||LA4_0=='_'||(LA4_0>='a' && LA4_0<='f')) ) {
+                    alt4=1;
+                }
+
+
+                switch (alt4) {
+            	case 1 :
+            	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:
+            	    {
+            	    if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='F')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='f') ) {
+            	        input.consume();
+
+            	    }
+            	    else {
+            	        MismatchedSetException mse = new MismatchedSetException(null,input);
+            	        recover(mse);
+            	        throw mse;}
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    if ( cnt4 >= 1 ) break loop4;
+                        EarlyExitException eee =
+                            new EarlyExitException(4, input);
+                        throw eee;
+                }
+                cnt4++;
+            } while (true);
+
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:11079:58: ( '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) )?
+            int alt6=2;
+            int LA6_0 = input.LA(1);
+
+            if ( (LA6_0=='#') ) {
+                alt6=1;
+            }
+            switch (alt6) {
+                case 1 :
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:11079:59: '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) )
+                    {
+                    match('#'); 
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:11079:63: ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) )
+                    int alt5=2;
+                    int LA5_0 = input.LA(1);
+
+                    if ( (LA5_0=='B'||LA5_0=='b') ) {
+                        alt5=1;
+                    }
+                    else if ( (LA5_0=='L'||LA5_0=='l') ) {
+                        alt5=2;
+                    }
+                    else {
+                        NoViableAltException nvae =
+                            new NoViableAltException("", 5, 0, input);
+
+                        throw nvae;
+                    }
+                    switch (alt5) {
+                        case 1 :
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:11079:64: ( 'b' | 'B' ) ( 'i' | 'I' )
+                            {
+                            if ( input.LA(1)=='B'||input.LA(1)=='b' ) {
+                                input.consume();
+
+                            }
+                            else {
+                                MismatchedSetException mse = new MismatchedSetException(null,input);
+                                recover(mse);
+                                throw mse;}
+
+                            if ( input.LA(1)=='I'||input.LA(1)=='i' ) {
+                                input.consume();
+
+                            }
+                            else {
+                                MismatchedSetException mse = new MismatchedSetException(null,input);
+                                recover(mse);
+                                throw mse;}
+
+
+                            }
+                            break;
+                        case 2 :
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:11079:84: ( 'l' | 'L' )
+                            {
+                            if ( input.LA(1)=='L'||input.LA(1)=='l' ) {
+                                input.consume();
+
+                            }
+                            else {
+                                MismatchedSetException mse = new MismatchedSetException(null,input);
+                                recover(mse);
+                                throw mse;}
+
+
+                            }
+                            break;
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "RULE_HEX"
+
+    // $ANTLR start "RULE_INT"
+    public final void mRULE_INT() throws RecognitionException {
+        try {
+            int _type = RULE_INT;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:11081:10: ( '0' .. '9' ( '0' .. '9' | '_' )* )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:11081:12: '0' .. '9' ( '0' .. '9' | '_' )*
+            {
+            matchRange('0','9'); 
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:11081:21: ( '0' .. '9' | '_' )*
+            loop7:
+            do {
+                int alt7=2;
+                int LA7_0 = input.LA(1);
+
+                if ( ((LA7_0>='0' && LA7_0<='9')||LA7_0=='_') ) {
+                    alt7=1;
+                }
+
+
+                switch (alt7) {
+            	case 1 :
+            	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:
+            	    {
+            	    if ( (input.LA(1)>='0' && input.LA(1)<='9')||input.LA(1)=='_' ) {
+            	        input.consume();
+
+            	    }
+            	    else {
+            	        MismatchedSetException mse = new MismatchedSetException(null,input);
+            	        recover(mse);
+            	        throw mse;}
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop7;
+                }
+            } while (true);
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "RULE_INT"
+
+    // $ANTLR start "RULE_DECIMAL"
+    public final void mRULE_DECIMAL() throws RecognitionException {
+        try {
+            int _type = RULE_DECIMAL;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:11083:14: ( RULE_INT ( ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT )? ( ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) | ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) )? )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:11083:16: RULE_INT ( ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT )? ( ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) | ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) )?
+            {
+            mRULE_INT(); 
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:11083:25: ( ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT )?
+            int alt9=2;
+            int LA9_0 = input.LA(1);
+
+            if ( (LA9_0=='E'||LA9_0=='e') ) {
+                alt9=1;
+            }
+            switch (alt9) {
+                case 1 :
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:11083:26: ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT
+                    {
+                    if ( input.LA(1)=='E'||input.LA(1)=='e' ) {
+                        input.consume();
+
+                    }
+                    else {
+                        MismatchedSetException mse = new MismatchedSetException(null,input);
+                        recover(mse);
+                        throw mse;}
+
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:11083:36: ( '+' | '-' )?
+                    int alt8=2;
+                    int LA8_0 = input.LA(1);
+
+                    if ( (LA8_0=='+'||LA8_0=='-') ) {
+                        alt8=1;
+                    }
+                    switch (alt8) {
+                        case 1 :
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:
+                            {
+                            if ( input.LA(1)=='+'||input.LA(1)=='-' ) {
+                                input.consume();
+
+                            }
+                            else {
+                                MismatchedSetException mse = new MismatchedSetException(null,input);
+                                recover(mse);
+                                throw mse;}
+
+
+                            }
+                            break;
+
+                    }
+
+                    mRULE_INT(); 
+
+                    }
+                    break;
+
+            }
+
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:11083:58: ( ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) | ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) )?
+            int alt10=3;
+            int LA10_0 = input.LA(1);
+
+            if ( (LA10_0=='B'||LA10_0=='b') ) {
+                alt10=1;
+            }
+            else if ( (LA10_0=='D'||LA10_0=='F'||LA10_0=='L'||LA10_0=='d'||LA10_0=='f'||LA10_0=='l') ) {
+                alt10=2;
+            }
+            switch (alt10) {
+                case 1 :
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:11083:59: ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' )
+                    {
+                    if ( input.LA(1)=='B'||input.LA(1)=='b' ) {
+                        input.consume();
+
+                    }
+                    else {
+                        MismatchedSetException mse = new MismatchedSetException(null,input);
+                        recover(mse);
+                        throw mse;}
+
+                    if ( input.LA(1)=='D'||input.LA(1)=='I'||input.LA(1)=='d'||input.LA(1)=='i' ) {
+                        input.consume();
+
+                    }
+                    else {
+                        MismatchedSetException mse = new MismatchedSetException(null,input);
+                        recover(mse);
+                        throw mse;}
+
+
+                    }
+                    break;
+                case 2 :
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:11083:87: ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' )
+                    {
+                    if ( input.LA(1)=='D'||input.LA(1)=='F'||input.LA(1)=='L'||input.LA(1)=='d'||input.LA(1)=='f'||input.LA(1)=='l' ) {
+                        input.consume();
+
+                    }
+                    else {
+                        MismatchedSetException mse = new MismatchedSetException(null,input);
+                        recover(mse);
+                        throw mse;}
+
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "RULE_DECIMAL"
+
+    // $ANTLR start "RULE_STRING"
+    public final void mRULE_STRING() throws RecognitionException {
+        try {
+            int _type = RULE_STRING;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:11085:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:11085:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:11085:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? )
+            int alt15=2;
+            int LA15_0 = input.LA(1);
+
+            if ( (LA15_0=='\"') ) {
+                alt15=1;
+            }
+            else if ( (LA15_0=='\'') ) {
+                alt15=2;
+            }
+            else {
+                NoViableAltException nvae =
+                    new NoViableAltException("", 15, 0, input);
+
+                throw nvae;
+            }
+            switch (alt15) {
+                case 1 :
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:11085:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )?
+                    {
+                    match('\"'); 
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:11085:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
+                    loop11:
+                    do {
+                        int alt11=3;
+                        int LA11_0 = input.LA(1);
+
+                        if ( (LA11_0=='\\') ) {
+                            alt11=1;
+                        }
+                        else if ( ((LA11_0>='\u0000' && LA11_0<='!')||(LA11_0>='#' && LA11_0<='[')||(LA11_0>=']' && LA11_0<='\uFFFF')) ) {
+                            alt11=2;
+                        }
+
+
+                        switch (alt11) {
+                    	case 1 :
+                    	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:11085:21: '\\\\' .
+                    	    {
+                    	    match('\\'); 
+                    	    matchAny(); 
+
+                    	    }
+                    	    break;
+                    	case 2 :
+                    	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:11085:28: ~ ( ( '\\\\' | '\"' ) )
+                    	    {
+                    	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
+                    	        input.consume();
+
+                    	    }
+                    	    else {
+                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
+                    	        recover(mse);
+                    	        throw mse;}
+
+
+                    	    }
+                    	    break;
+
+                    	default :
+                    	    break loop11;
+                        }
+                    } while (true);
+
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:11085:44: ( '\"' )?
+                    int alt12=2;
+                    int LA12_0 = input.LA(1);
+
+                    if ( (LA12_0=='\"') ) {
+                        alt12=1;
+                    }
+                    switch (alt12) {
+                        case 1 :
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:11085:44: '\"'
+                            {
+                            match('\"'); 
+
+                            }
+                            break;
+
+                    }
+
+
+                    }
+                    break;
+                case 2 :
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:11085:49: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )?
+                    {
+                    match('\''); 
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:11085:54: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
+                    loop13:
+                    do {
+                        int alt13=3;
+                        int LA13_0 = input.LA(1);
+
+                        if ( (LA13_0=='\\') ) {
+                            alt13=1;
+                        }
+                        else if ( ((LA13_0>='\u0000' && LA13_0<='&')||(LA13_0>='(' && LA13_0<='[')||(LA13_0>=']' && LA13_0<='\uFFFF')) ) {
+                            alt13=2;
+                        }
+
+
+                        switch (alt13) {
+                    	case 1 :
+                    	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:11085:55: '\\\\' .
+                    	    {
+                    	    match('\\'); 
+                    	    matchAny(); 
+
+                    	    }
+                    	    break;
+                    	case 2 :
+                    	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:11085:62: ~ ( ( '\\\\' | '\\'' ) )
+                    	    {
+                    	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
+                    	        input.consume();
+
+                    	    }
+                    	    else {
+                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
+                    	        recover(mse);
+                    	        throw mse;}
+
+
+                    	    }
+                    	    break;
+
+                    	default :
+                    	    break loop13;
+                        }
+                    } while (true);
+
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:11085:79: ( '\\'' )?
+                    int alt14=2;
+                    int LA14_0 = input.LA(1);
+
+                    if ( (LA14_0=='\'') ) {
+                        alt14=1;
+                    }
+                    switch (alt14) {
+                        case 1 :
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:11085:79: '\\''
+                            {
+                            match('\''); 
+
+                            }
+                            break;
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "RULE_STRING"
+
+    // $ANTLR start "RULE_ML_COMMENT"
+    public final void mRULE_ML_COMMENT() throws RecognitionException {
+        try {
+            int _type = RULE_ML_COMMENT;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:11087:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:11087:19: '/*' ( options {greedy=false; } : . )* '*/'
+            {
+            match("/*"); 
+
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:11087:24: ( options {greedy=false; } : . )*
+            loop16:
+            do {
+                int alt16=2;
+                int LA16_0 = input.LA(1);
+
+                if ( (LA16_0=='*') ) {
+                    int LA16_1 = input.LA(2);
+
+                    if ( (LA16_1=='/') ) {
+                        alt16=2;
+                    }
+                    else if ( ((LA16_1>='\u0000' && LA16_1<='.')||(LA16_1>='0' && LA16_1<='\uFFFF')) ) {
+                        alt16=1;
+                    }
+
+
+                }
+                else if ( ((LA16_0>='\u0000' && LA16_0<=')')||(LA16_0>='+' && LA16_0<='\uFFFF')) ) {
+                    alt16=1;
+                }
+
+
+                switch (alt16) {
+            	case 1 :
+            	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:11087:52: .
+            	    {
+            	    matchAny(); 
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop16;
+                }
+            } while (true);
+
+            match("*/"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "RULE_ML_COMMENT"
+
+    // $ANTLR start "RULE_SL_COMMENT"
+    public final void mRULE_SL_COMMENT() throws RecognitionException {
+        try {
+            int _type = RULE_SL_COMMENT;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:11089:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:11089:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
+            {
+            match("//"); 
+
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:11089:24: (~ ( ( '\\n' | '\\r' ) ) )*
+            loop17:
+            do {
+                int alt17=2;
+                int LA17_0 = input.LA(1);
+
+                if ( ((LA17_0>='\u0000' && LA17_0<='\t')||(LA17_0>='\u000B' && LA17_0<='\f')||(LA17_0>='\u000E' && LA17_0<='\uFFFF')) ) {
+                    alt17=1;
+                }
+
+
+                switch (alt17) {
+            	case 1 :
+            	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:11089:24: ~ ( ( '\\n' | '\\r' ) )
+            	    {
+            	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) {
+            	        input.consume();
+
+            	    }
+            	    else {
+            	        MismatchedSetException mse = new MismatchedSetException(null,input);
+            	        recover(mse);
+            	        throw mse;}
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop17;
+                }
+            } while (true);
+
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:11089:40: ( ( '\\r' )? '\\n' )?
+            int alt19=2;
+            int LA19_0 = input.LA(1);
+
+            if ( (LA19_0=='\n'||LA19_0=='\r') ) {
+                alt19=1;
+            }
+            switch (alt19) {
+                case 1 :
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:11089:41: ( '\\r' )? '\\n'
+                    {
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:11089:41: ( '\\r' )?
+                    int alt18=2;
+                    int LA18_0 = input.LA(1);
+
+                    if ( (LA18_0=='\r') ) {
+                        alt18=1;
+                    }
+                    switch (alt18) {
+                        case 1 :
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:11089:41: '\\r'
+                            {
+                            match('\r'); 
+
+                            }
+                            break;
+
+                    }
+
+                    match('\n'); 
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "RULE_SL_COMMENT"
+
+    // $ANTLR start "RULE_WS"
+    public final void mRULE_WS() throws RecognitionException {
+        try {
+            int _type = RULE_WS;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:11091:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:11091:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:11091:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+            int cnt20=0;
+            loop20:
+            do {
+                int alt20=2;
+                int LA20_0 = input.LA(1);
+
+                if ( ((LA20_0>='\t' && LA20_0<='\n')||LA20_0=='\r'||LA20_0==' ') ) {
+                    alt20=1;
+                }
+
+
+                switch (alt20) {
+            	case 1 :
+            	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:
+            	    {
+            	    if ( (input.LA(1)>='\t' && input.LA(1)<='\n')||input.LA(1)=='\r'||input.LA(1)==' ' ) {
+            	        input.consume();
+
+            	    }
+            	    else {
+            	        MismatchedSetException mse = new MismatchedSetException(null,input);
+            	        recover(mse);
+            	        throw mse;}
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    if ( cnt20 >= 1 ) break loop20;
+                        EarlyExitException eee =
+                            new EarlyExitException(20, input);
+                        throw eee;
+                }
+                cnt20++;
+            } while (true);
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "RULE_WS"
+
+    // $ANTLR start "RULE_ANY_OTHER"
+    public final void mRULE_ANY_OTHER() throws RecognitionException {
+        try {
+            int _type = RULE_ANY_OTHER;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:11093:16: ( . )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:11093:18: .
+            {
+            matchAny(); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "RULE_ANY_OTHER"
+
+    public void mTokens() throws RecognitionException {
+        // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:8: ( T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | T__89 | T__90 | T__91 | T__92 | T__93 | T__94 | T__95 | T__96 | T__97 | T__98 | T__99 | T__100 | T__101 | T__102 | T__103 | T__104 | T__105 | T__106 | T__107 | T__108 | T__109 | T__110 | T__111 | T__112 | T__113 | T__114 | T__115 | T__116 | T__117 | T__118 | T__119 | T__120 | T__121 | T__122 | T__123 | T__124 | T__125 | T__126 | T__127 | T__128 | T__129 | T__130 | T__131 | T__132 | T__133 | T__134 | T__135 | T__136 | T__137 | T__138 | T__139 | T__140 | T__141 | T__142 | T__143 | T__144 | T__145 | T__146 | T__147 | T__148 | T__149 | T__150 | T__151 | T__152 | T__153 | T__154 | T__155 | T__156 | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
+        int alt21=153;
+        alt21 = dfa21.predict(input);
+        switch (alt21) {
+            case 1 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:10: T__13
+                {
+                mT__13(); 
+
+                }
+                break;
+            case 2 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:16: T__14
+                {
+                mT__14(); 
+
+                }
+                break;
+            case 3 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:22: T__15
+                {
+                mT__15(); 
+
+                }
+                break;
+            case 4 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:28: T__16
+                {
+                mT__16(); 
+
+                }
+                break;
+            case 5 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:34: T__17
+                {
+                mT__17(); 
+
+                }
+                break;
+            case 6 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:40: T__18
+                {
+                mT__18(); 
+
+                }
+                break;
+            case 7 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:46: T__19
+                {
+                mT__19(); 
+
+                }
+                break;
+            case 8 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:52: T__20
+                {
+                mT__20(); 
+
+                }
+                break;
+            case 9 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:58: T__21
+                {
+                mT__21(); 
+
+                }
+                break;
+            case 10 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:64: T__22
+                {
+                mT__22(); 
+
+                }
+                break;
+            case 11 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:70: T__23
+                {
+                mT__23(); 
+
+                }
+                break;
+            case 12 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:76: T__24
+                {
+                mT__24(); 
+
+                }
+                break;
+            case 13 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:82: T__25
+                {
+                mT__25(); 
+
+                }
+                break;
+            case 14 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:88: T__26
+                {
+                mT__26(); 
+
+                }
+                break;
+            case 15 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:94: T__27
+                {
+                mT__27(); 
+
+                }
+                break;
+            case 16 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:100: T__28
+                {
+                mT__28(); 
+
+                }
+                break;
+            case 17 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:106: T__29
+                {
+                mT__29(); 
+
+                }
+                break;
+            case 18 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:112: T__30
+                {
+                mT__30(); 
+
+                }
+                break;
+            case 19 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:118: T__31
+                {
+                mT__31(); 
+
+                }
+                break;
+            case 20 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:124: T__32
+                {
+                mT__32(); 
+
+                }
+                break;
+            case 21 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:130: T__33
+                {
+                mT__33(); 
+
+                }
+                break;
+            case 22 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:136: T__34
+                {
+                mT__34(); 
+
+                }
+                break;
+            case 23 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:142: T__35
+                {
+                mT__35(); 
+
+                }
+                break;
+            case 24 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:148: T__36
+                {
+                mT__36(); 
+
+                }
+                break;
+            case 25 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:154: T__37
+                {
+                mT__37(); 
+
+                }
+                break;
+            case 26 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:160: T__38
+                {
+                mT__38(); 
+
+                }
+                break;
+            case 27 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:166: T__39
+                {
+                mT__39(); 
+
+                }
+                break;
+            case 28 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:172: T__40
+                {
+                mT__40(); 
+
+                }
+                break;
+            case 29 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:178: T__41
+                {
+                mT__41(); 
+
+                }
+                break;
+            case 30 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:184: T__42
+                {
+                mT__42(); 
+
+                }
+                break;
+            case 31 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:190: T__43
+                {
+                mT__43(); 
+
+                }
+                break;
+            case 32 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:196: T__44
+                {
+                mT__44(); 
+
+                }
+                break;
+            case 33 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:202: T__45
+                {
+                mT__45(); 
+
+                }
+                break;
+            case 34 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:208: T__46
+                {
+                mT__46(); 
+
+                }
+                break;
+            case 35 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:214: T__47
+                {
+                mT__47(); 
+
+                }
+                break;
+            case 36 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:220: T__48
+                {
+                mT__48(); 
+
+                }
+                break;
+            case 37 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:226: T__49
+                {
+                mT__49(); 
+
+                }
+                break;
+            case 38 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:232: T__50
+                {
+                mT__50(); 
+
+                }
+                break;
+            case 39 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:238: T__51
+                {
+                mT__51(); 
+
+                }
+                break;
+            case 40 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:244: T__52
+                {
+                mT__52(); 
+
+                }
+                break;
+            case 41 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:250: T__53
+                {
+                mT__53(); 
+
+                }
+                break;
+            case 42 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:256: T__54
+                {
+                mT__54(); 
+
+                }
+                break;
+            case 43 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:262: T__55
+                {
+                mT__55(); 
+
+                }
+                break;
+            case 44 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:268: T__56
+                {
+                mT__56(); 
+
+                }
+                break;
+            case 45 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:274: T__57
+                {
+                mT__57(); 
+
+                }
+                break;
+            case 46 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:280: T__58
+                {
+                mT__58(); 
+
+                }
+                break;
+            case 47 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:286: T__59
+                {
+                mT__59(); 
+
+                }
+                break;
+            case 48 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:292: T__60
+                {
+                mT__60(); 
+
+                }
+                break;
+            case 49 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:298: T__61
+                {
+                mT__61(); 
+
+                }
+                break;
+            case 50 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:304: T__62
+                {
+                mT__62(); 
+
+                }
+                break;
+            case 51 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:310: T__63
+                {
+                mT__63(); 
+
+                }
+                break;
+            case 52 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:316: T__64
+                {
+                mT__64(); 
+
+                }
+                break;
+            case 53 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:322: T__65
+                {
+                mT__65(); 
+
+                }
+                break;
+            case 54 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:328: T__66
+                {
+                mT__66(); 
+
+                }
+                break;
+            case 55 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:334: T__67
+                {
+                mT__67(); 
+
+                }
+                break;
+            case 56 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:340: T__68
+                {
+                mT__68(); 
+
+                }
+                break;
+            case 57 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:346: T__69
+                {
+                mT__69(); 
+
+                }
+                break;
+            case 58 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:352: T__70
+                {
+                mT__70(); 
+
+                }
+                break;
+            case 59 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:358: T__71
+                {
+                mT__71(); 
+
+                }
+                break;
+            case 60 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:364: T__72
+                {
+                mT__72(); 
+
+                }
+                break;
+            case 61 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:370: T__73
+                {
+                mT__73(); 
+
+                }
+                break;
+            case 62 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:376: T__74
+                {
+                mT__74(); 
+
+                }
+                break;
+            case 63 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:382: T__75
+                {
+                mT__75(); 
+
+                }
+                break;
+            case 64 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:388: T__76
+                {
+                mT__76(); 
+
+                }
+                break;
+            case 65 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:394: T__77
+                {
+                mT__77(); 
+
+                }
+                break;
+            case 66 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:400: T__78
+                {
+                mT__78(); 
+
+                }
+                break;
+            case 67 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:406: T__79
+                {
+                mT__79(); 
+
+                }
+                break;
+            case 68 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:412: T__80
+                {
+                mT__80(); 
+
+                }
+                break;
+            case 69 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:418: T__81
+                {
+                mT__81(); 
+
+                }
+                break;
+            case 70 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:424: T__82
+                {
+                mT__82(); 
+
+                }
+                break;
+            case 71 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:430: T__83
+                {
+                mT__83(); 
+
+                }
+                break;
+            case 72 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:436: T__84
+                {
+                mT__84(); 
+
+                }
+                break;
+            case 73 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:442: T__85
+                {
+                mT__85(); 
+
+                }
+                break;
+            case 74 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:448: T__86
+                {
+                mT__86(); 
+
+                }
+                break;
+            case 75 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:454: T__87
+                {
+                mT__87(); 
+
+                }
+                break;
+            case 76 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:460: T__88
+                {
+                mT__88(); 
+
+                }
+                break;
+            case 77 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:466: T__89
+                {
+                mT__89(); 
+
+                }
+                break;
+            case 78 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:472: T__90
+                {
+                mT__90(); 
+
+                }
+                break;
+            case 79 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:478: T__91
+                {
+                mT__91(); 
+
+                }
+                break;
+            case 80 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:484: T__92
+                {
+                mT__92(); 
+
+                }
+                break;
+            case 81 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:490: T__93
+                {
+                mT__93(); 
+
+                }
+                break;
+            case 82 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:496: T__94
+                {
+                mT__94(); 
+
+                }
+                break;
+            case 83 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:502: T__95
+                {
+                mT__95(); 
+
+                }
+                break;
+            case 84 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:508: T__96
+                {
+                mT__96(); 
+
+                }
+                break;
+            case 85 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:514: T__97
+                {
+                mT__97(); 
+
+                }
+                break;
+            case 86 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:520: T__98
+                {
+                mT__98(); 
+
+                }
+                break;
+            case 87 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:526: T__99
+                {
+                mT__99(); 
+
+                }
+                break;
+            case 88 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:532: T__100
+                {
+                mT__100(); 
+
+                }
+                break;
+            case 89 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:539: T__101
+                {
+                mT__101(); 
+
+                }
+                break;
+            case 90 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:546: T__102
+                {
+                mT__102(); 
+
+                }
+                break;
+            case 91 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:553: T__103
+                {
+                mT__103(); 
+
+                }
+                break;
+            case 92 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:560: T__104
+                {
+                mT__104(); 
+
+                }
+                break;
+            case 93 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:567: T__105
+                {
+                mT__105(); 
+
+                }
+                break;
+            case 94 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:574: T__106
+                {
+                mT__106(); 
+
+                }
+                break;
+            case 95 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:581: T__107
+                {
+                mT__107(); 
+
+                }
+                break;
+            case 96 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:588: T__108
+                {
+                mT__108(); 
+
+                }
+                break;
+            case 97 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:595: T__109
+                {
+                mT__109(); 
+
+                }
+                break;
+            case 98 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:602: T__110
+                {
+                mT__110(); 
+
+                }
+                break;
+            case 99 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:609: T__111
+                {
+                mT__111(); 
+
+                }
+                break;
+            case 100 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:616: T__112
+                {
+                mT__112(); 
+
+                }
+                break;
+            case 101 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:623: T__113
+                {
+                mT__113(); 
+
+                }
+                break;
+            case 102 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:630: T__114
+                {
+                mT__114(); 
+
+                }
+                break;
+            case 103 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:637: T__115
+                {
+                mT__115(); 
+
+                }
+                break;
+            case 104 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:644: T__116
+                {
+                mT__116(); 
+
+                }
+                break;
+            case 105 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:651: T__117
+                {
+                mT__117(); 
+
+                }
+                break;
+            case 106 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:658: T__118
+                {
+                mT__118(); 
+
+                }
+                break;
+            case 107 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:665: T__119
+                {
+                mT__119(); 
+
+                }
+                break;
+            case 108 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:672: T__120
+                {
+                mT__120(); 
+
+                }
+                break;
+            case 109 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:679: T__121
+                {
+                mT__121(); 
+
+                }
+                break;
+            case 110 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:686: T__122
+                {
+                mT__122(); 
+
+                }
+                break;
+            case 111 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:693: T__123
+                {
+                mT__123(); 
+
+                }
+                break;
+            case 112 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:700: T__124
+                {
+                mT__124(); 
+
+                }
+                break;
+            case 113 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:707: T__125
+                {
+                mT__125(); 
+
+                }
+                break;
+            case 114 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:714: T__126
+                {
+                mT__126(); 
+
+                }
+                break;
+            case 115 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:721: T__127
+                {
+                mT__127(); 
+
+                }
+                break;
+            case 116 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:728: T__128
+                {
+                mT__128(); 
+
+                }
+                break;
+            case 117 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:735: T__129
+                {
+                mT__129(); 
+
+                }
+                break;
+            case 118 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:742: T__130
+                {
+                mT__130(); 
+
+                }
+                break;
+            case 119 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:749: T__131
+                {
+                mT__131(); 
+
+                }
+                break;
+            case 120 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:756: T__132
+                {
+                mT__132(); 
+
+                }
+                break;
+            case 121 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:763: T__133
+                {
+                mT__133(); 
+
+                }
+                break;
+            case 122 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:770: T__134
+                {
+                mT__134(); 
+
+                }
+                break;
+            case 123 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:777: T__135
+                {
+                mT__135(); 
+
+                }
+                break;
+            case 124 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:784: T__136
+                {
+                mT__136(); 
+
+                }
+                break;
+            case 125 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:791: T__137
+                {
+                mT__137(); 
+
+                }
+                break;
+            case 126 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:798: T__138
+                {
+                mT__138(); 
+
+                }
+                break;
+            case 127 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:805: T__139
+                {
+                mT__139(); 
+
+                }
+                break;
+            case 128 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:812: T__140
+                {
+                mT__140(); 
+
+                }
+                break;
+            case 129 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:819: T__141
+                {
+                mT__141(); 
+
+                }
+                break;
+            case 130 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:826: T__142
+                {
+                mT__142(); 
+
+                }
+                break;
+            case 131 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:833: T__143
+                {
+                mT__143(); 
+
+                }
+                break;
+            case 132 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:840: T__144
+                {
+                mT__144(); 
+
+                }
+                break;
+            case 133 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:847: T__145
+                {
+                mT__145(); 
+
+                }
+                break;
+            case 134 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:854: T__146
+                {
+                mT__146(); 
+
+                }
+                break;
+            case 135 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:861: T__147
+                {
+                mT__147(); 
+
+                }
+                break;
+            case 136 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:868: T__148
+                {
+                mT__148(); 
+
+                }
+                break;
+            case 137 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:875: T__149
+                {
+                mT__149(); 
+
+                }
+                break;
+            case 138 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:882: T__150
+                {
+                mT__150(); 
+
+                }
+                break;
+            case 139 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:889: T__151
+                {
+                mT__151(); 
+
+                }
+                break;
+            case 140 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:896: T__152
+                {
+                mT__152(); 
+
+                }
+                break;
+            case 141 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:903: T__153
+                {
+                mT__153(); 
+
+                }
+                break;
+            case 142 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:910: T__154
+                {
+                mT__154(); 
+
+                }
+                break;
+            case 143 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:917: T__155
+                {
+                mT__155(); 
+
+                }
+                break;
+            case 144 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:924: T__156
+                {
+                mT__156(); 
+
+                }
+                break;
+            case 145 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:931: RULE_ID
+                {
+                mRULE_ID(); 
+
+                }
+                break;
+            case 146 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:939: RULE_HEX
+                {
+                mRULE_HEX(); 
+
+                }
+                break;
+            case 147 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:948: RULE_INT
+                {
+                mRULE_INT(); 
+
+                }
+                break;
+            case 148 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:957: RULE_DECIMAL
+                {
+                mRULE_DECIMAL(); 
+
+                }
+                break;
+            case 149 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:970: RULE_STRING
+                {
+                mRULE_STRING(); 
+
+                }
+                break;
+            case 150 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:982: RULE_ML_COMMENT
+                {
+                mRULE_ML_COMMENT(); 
+
+                }
+                break;
+            case 151 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:998: RULE_SL_COMMENT
+                {
+                mRULE_SL_COMMENT(); 
+
+                }
+                break;
+            case 152 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:1014: RULE_WS
+                {
+                mRULE_WS(); 
+
+                }
+                break;
+            case 153 :
+                // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1:1022: RULE_ANY_OTHER
+                {
+                mRULE_ANY_OTHER(); 
+
+                }
+                break;
+
+        }
+
+    }
+
+
+    protected DFA21 dfa21 = new DFA21(this);
+    static final String DFA21_eotS =
+        "\1\uffff\1\64\1\uffff\2\64\1\uffff\1\100\1\103\3\64\3\uffff\13"+
+        "\64\1\165\1\uffff\1\171\3\uffff\1\177\1\u0083\1\u0085\1\u0087\1"+
+        "\u0089\1\u008b\1\u008d\1\u008f\1\u0092\1\u0094\1\uffff\1\64\1\62"+
+        "\1\uffff\2\u009a\4\uffff\1\64\2\uffff\7\64\1\u00ab\1\uffff\1\u00ad"+
+        "\4\uffff\2\64\1\u00b2\6\64\1\u00b9\3\uffff\35\64\1\u00e3\3\64\5"+
+        "\uffff\1\u00e9\26\uffff\1\u00eb\7\uffff\2\64\1\uffff\1\u009a\4\uffff"+
+        "\4\64\1\u00f2\10\64\3\uffff\4\64\1\uffff\2\64\1\u0105\3\64\1\uffff"+
+        "\2\64\1\u010b\1\u010c\1\uffff\34\64\1\uffff\7\64\1\uffff\1\64\1"+
+        "\u0134\2\64\4\uffff\1\u0137\3\64\1\uffff\1\64\1\uffff\3\64\1\u0140"+
+        "\7\64\1\u0149\5\64\2\uffff\5\64\5\uffff\2\64\1\u0156\1\u0157\6\64"+
+        "\1\u015e\7\64\1\u0166\1\64\1\u0168\16\64\1\u0177\1\uffff\2\64\1"+
+        "\uffff\1\u017a\1\uffff\6\64\1\uffff\1\64\1\u0183\5\64\2\uffff\3"+
+        "\64\1\uffff\1\64\1\u018f\6\64\2\uffff\1\u0196\1\u0197\1\u0198\3"+
+        "\64\1\uffff\1\64\1\u019d\1\64\1\u019f\1\u01a0\2\64\1\uffff\1\64"+
+        "\1\uffff\1\u01a5\1\64\1\u01a7\1\64\1\uffff\3\64\1\u01ac\1\u01ad"+
+        "\1\uffff\1\64\1\u01af\1\64\1\uffff\1\64\1\u01b2\2\uffff\1\64\1\u01b5"+
+        "\1\64\1\u01b7\1\64\1\uffff\1\u01b9\1\uffff\5\64\2\uffff\4\64\1\uffff"+
+        "\2\64\1\u01c6\1\64\1\uffff\1\64\3\uffff\1\u01ca\2\64\1\u01cd\1\uffff"+
+        "\1\64\2\uffff\4\64\1\uffff\1\64\1\uffff\4\64\2\uffff\1\64\1\uffff"+
+        "\1\64\1\u01da\2\uffff\1\u01dc\1\uffff\1\64\1\uffff\1\64\1\uffff"+
+        "\1\u01df\5\64\1\u01e5\1\64\1\uffff\1\u01e7\1\64\1\u01e9\1\uffff"+
+        "\1\64\1\u01eb\3\uffff\1\64\1\uffff\2\64\1\u01f1\5\64\1\u01f7\3\64"+
+        "\3\uffff\1\u01fd\1\64\2\uffff\2\64\1\u0202\2\uffff\1\u0203\1\uffff"+
+        "\1\64\1\uffff\1\64\3\uffff\3\64\1\uffff\5\64\1\uffff\2\64\1\u0212"+
+        "\1\uffff\1\u0214\1\uffff\1\u0215\2\64\1\u0218\2\uffff\1\64\3\uffff"+
+        "\1\u021c\1\64\1\uffff\1\u021e\2\64\1\u0221\1\u0222\1\uffff\1\u0225"+
+        "\4\uffff\1\u0228\1\64\1\uffff\1\u022a\3\uffff\1\64\2\uffff\1\64"+
+        "\10\uffff\1\64\3\uffff\1\64\2\uffff\1\64\2\uffff\1\64\2\uffff\1"+
+        "\u023d\1\64\2\uffff\1\64\3\uffff\1\64\2\uffff\1\64\2\uffff\1\64"+
+        "\2\uffff\1\64\3\uffff\1\64\2\uffff\1\u0255\3\uffff\1\64\3\uffff"+
+        "\1\u025a\6\uffff";
+    static final String DFA21_eofS =
+        "\u025d\uffff";
+    static final String DFA21_minS =
+        "\1\0\1\157\1\uffff\1\141\1\146\1\uffff\1\56\1\52\2\141\1\163\3"+
+        "\uffff\1\142\2\141\2\145\1\154\1\141\1\145\1\141\1\156\1\145\1\55"+
+        "\1\uffff\1\75\3\uffff\1\53\1\52\1\75\1\76\1\75\1\174\1\46\1\75\1"+
+        "\56\1\72\1\uffff\1\145\1\44\1\uffff\2\60\4\uffff\1\143\2\uffff\1"+
+        "\156\1\146\1\156\1\165\1\160\1\145\1\163\1\44\1\uffff\1\74\4\uffff"+
+        "\1\164\1\143\1\44\1\157\1\164\1\162\1\154\1\156\1\164\1\44\3\uffff"+
+        "\1\152\1\164\1\154\1\40\1\163\1\157\1\164\1\145\1\162\1\145\1\151"+
+        "\1\147\1\156\1\141\1\160\1\156\1\142\1\145\1\151\1\163\1\154\1\145"+
+        "\1\141\2\162\1\40\1\163\1\151\1\155\1\44\1\165\1\160\1\162\5\uffff"+
+        "\1\75\26\uffff\1\75\7\uffff\1\167\1\154\1\uffff\1\60\4\uffff\1\153"+
+        "\1\164\1\40\1\157\1\44\1\165\1\144\1\156\1\163\1\157\1\155\1\145"+
+        "\1\164\3\uffff\1\141\1\163\1\141\1\151\1\uffff\1\155\1\165\1\40"+
+        "\1\163\1\141\1\162\1\uffff\1\145\1\151\2\44\2\145\1\154\1\150\1"+
+        "\156\1\154\1\144\1\153\1\164\1\156\1\164\1\160\1\164\1\145\1\143"+
+        "\1\145\1\162\1\163\2\145\1\143\1\145\1\143\1\141\1\162\2\164\1\141"+
+        "\1\143\1\uffff\2\151\1\156\1\164\1\160\1\141\1\157\1\uffff\1\145"+
+        "\1\44\1\145\1\157\4\uffff\1\44\1\154\1\40\1\150\1\uffff\1\165\1"+
+        "\uffff\1\162\1\157\1\144\1\44\1\162\1\163\1\141\1\147\1\141\1\151"+
+        "\1\40\1\44\1\156\1\165\1\155\1\40\1\162\2\uffff\1\145\1\154\1\151"+
+        "\1\143\1\157\5\uffff\1\144\1\145\2\44\1\145\2\163\1\143\2\145\1"+
+        "\44\1\151\1\162\1\150\1\144\1\171\1\164\1\156\1\44\1\165\1\44\1"+
+        "\150\1\164\1\163\1\145\1\40\1\147\1\145\1\147\1\154\1\147\1\40\1"+
+        "\157\1\171\1\162\1\44\1\uffff\1\157\1\167\1\uffff\1\44\1\145\1\156"+
+        "\1\163\1\162\1\156\1\155\1\40\1\uffff\1\164\1\44\1\164\1\145\2\156"+
+        "\1\171\1\146\1\uffff\1\145\1\154\1\141\1\uffff\1\145\1\44\1\154"+
+        "\1\142\1\164\1\156\1\40\1\141\2\uffff\3\44\1\150\1\144\1\156\1\uffff"+
+        "\1\143\1\44\1\162\2\44\1\151\1\144\1\uffff\1\154\1\uffff\1\44\1"+
+        "\145\1\44\1\162\1\uffff\1\162\2\156\2\44\1\uffff\1\162\1\44\1\162"+
+        "\1\uffff\1\146\1\44\1\uffff\1\156\1\147\1\44\1\143\1\44\1\151\1"+
+        "\uffff\1\44\1\uffff\1\145\1\162\1\143\1\164\1\160\2\uffff\1\144"+
+        "\1\164\1\154\1\40\1\uffff\1\171\1\165\1\44\1\141\1\uffff\1\156\3"+
+        "\uffff\2\40\1\143\1\44\1\uffff\1\157\2\uffff\1\156\1\163\1\151\1"+
+        "\141\1\uffff\1\102\1\uffff\1\144\1\141\1\164\1\145\2\uffff\1\141"+
+        "\1\uffff\1\157\1\44\1\uffff\1\164\1\44\1\uffff\1\145\1\uffff\1\172"+
+        "\1\uffff\1\44\1\40\3\145\1\40\1\44\1\163\1\uffff\1\44\1\164\1\44"+
+        "\1\uffff\1\154\1\44\2\uffff\1\144\1\145\1\uffff\1\156\1\147\1\44"+
+        "\1\157\1\164\1\154\1\141\1\160\1\44\1\144\1\162\1\167\1\uffff\1"+
+        "\151\1\uffff\1\44\1\145\2\uffff\1\157\1\162\1\44\2\uffff\1\44\1"+
+        "\uffff\1\145\1\uffff\1\40\1\uffff\1\157\1\156\1\163\1\151\1\40\1"+
+        "\uffff\1\156\1\145\1\157\1\171\1\163\1\uffff\1\40\1\171\1\44\1\164"+
+        "\1\44\1\uffff\1\44\1\146\1\143\1\44\2\uffff\1\163\1\uffff\1\165"+
+        "\1\164\1\44\1\172\1\uffff\1\44\1\40\1\142\2\44\1\144\1\44\1\uffff"+
+        "\1\151\2\uffff\1\44\1\150\1\uffff\1\44\1\142\1\145\1\uffff\1\145"+
+        "\1\uffff\1\141\1\115\2\uffff\1\157\1\156\4\uffff\1\141\1\uffff\1"+
+        "\154\1\147\1\144\2\uffff\1\141\1\165\1\164\1\156\2\145\1\44\1\160"+
+        "\1\142\1\145\1\147\1\40\1\162\1\uffff\1\160\1\154\1\147\1\145\1"+
+        "\146\1\40\1\151\2\145\1\40\2\uffff\1\146\1\156\1\40\1\162\1\44\3"+
+        "\uffff\1\147\1\146\1\40\1\uffff\1\44\2\uffff\1\146\3\uffff";
+    static final String DFA21_maxS =
+        "\1\uffff\1\157\1\uffff\1\165\1\164\1\uffff\1\56\1\75\1\157\1\165"+
+        "\1\164\3\uffff\1\160\1\141\1\171\1\157\1\171\1\170\1\162\2\145\1"+
+        "\163\1\171\1\76\1\uffff\1\76\3\uffff\3\75\1\76\1\75\1\174\1\46\1"+
+        "\75\2\72\1\uffff\1\165\1\172\1\uffff\1\170\1\154\4\uffff\1\156\2"+
+        "\uffff\1\156\1\164\1\156\1\167\1\160\1\145\1\164\1\172\1\uffff\1"+
+        "\74\4\uffff\1\171\1\146\1\172\1\157\1\164\1\162\1\154\1\156\1\164"+
+        "\1\172\3\uffff\1\152\1\164\1\162\1\40\1\163\1\157\1\164\1\151\1"+
+        "\162\1\145\1\151\1\147\1\156\1\145\1\160\1\156\1\142\1\145\1\164"+
+        "\1\163\1\164\1\145\2\163\1\162\1\40\1\164\1\151\1\170\1\172\1\171"+
+        "\1\160\1\162\5\uffff\1\75\26\uffff\1\75\7\uffff\1\167\1\154\1\uffff"+
+        "\1\154\4\uffff\1\153\1\164\1\40\1\157\1\172\1\165\1\144\1\156\1"+
+        "\163\1\157\1\162\1\145\1\164\3\uffff\1\145\1\163\2\151\1\uffff\1"+
+        "\155\1\165\1\172\1\163\1\141\1\162\1\uffff\1\145\1\151\2\172\1\162"+
+        "\1\145\1\154\1\150\1\156\1\154\1\144\1\153\1\164\1\156\1\164\1\160"+
+        "\1\164\1\145\1\143\1\145\1\162\1\163\2\145\1\143\1\145\1\143\1\141"+
+        "\1\162\2\164\1\141\1\143\1\uffff\2\151\1\156\1\164\1\160\1\141\1"+
+        "\157\1\uffff\1\145\1\172\1\145\1\157\4\uffff\1\172\1\154\1\151\1"+
+        "\150\1\uffff\1\165\1\uffff\1\162\1\157\1\144\1\172\1\162\1\163\1"+
+        "\141\1\147\1\141\1\164\1\40\1\172\1\156\1\165\1\155\1\40\1\162\2"+
+        "\uffff\1\145\1\154\1\151\1\143\1\157\5\uffff\1\144\1\145\2\172\1"+
+        "\145\2\163\1\143\2\145\1\172\1\151\1\162\1\150\1\144\1\171\1\164"+
+        "\1\156\1\172\1\165\1\172\1\150\1\164\1\163\1\145\1\40\1\147\1\145"+
+        "\1\147\1\154\1\147\1\40\1\157\1\171\1\162\1\172\1\uffff\1\157\1"+
+        "\167\1\uffff\1\172\1\145\1\156\1\163\1\162\1\156\1\155\1\40\1\uffff"+
+        "\1\164\1\172\1\164\1\145\2\156\1\171\1\151\1\uffff\1\145\1\154\1"+
+        "\141\1\uffff\1\145\1\172\1\154\1\142\1\164\1\156\1\40\1\141\2\uffff"+
+        "\3\172\1\150\1\144\1\156\1\uffff\1\143\1\172\1\162\2\172\1\151\1"+
+        "\163\1\uffff\1\154\1\uffff\1\172\1\145\1\172\1\162\1\uffff\1\162"+
+        "\2\156\2\172\1\uffff\1\162\1\172\1\162\1\uffff\1\146\1\172\1\uffff"+
+        "\1\156\1\147\1\172\1\143\1\172\1\151\1\uffff\1\172\1\uffff\1\145"+
+        "\1\162\1\143\1\164\1\160\2\uffff\1\144\1\164\1\154\1\40\1\uffff"+
+        "\1\171\1\165\1\172\1\141\1\uffff\1\156\3\uffff\1\172\1\40\1\143"+
+        "\1\172\1\uffff\1\157\2\uffff\1\156\1\163\1\151\1\141\1\uffff\1\102"+
+        "\1\uffff\1\144\1\141\1\164\1\145\2\uffff\1\141\1\uffff\1\157\1\172"+
+        "\1\uffff\1\164\1\172\1\uffff\1\145\1\uffff\1\172\1\uffff\1\172\1"+
+        "\40\3\145\1\40\1\172\1\163\1\uffff\1\172\1\164\1\172\1\uffff\1\154"+
+        "\1\172\2\uffff\1\151\1\145\1\uffff\1\156\1\147\1\172\1\157\1\164"+
+        "\1\154\1\141\1\160\1\172\1\144\1\162\1\167\1\uffff\1\151\1\uffff"+
+        "\1\172\1\145\2\uffff\1\157\1\162\1\172\2\uffff\1\172\1\uffff\1\145"+
+        "\1\uffff\1\40\1\uffff\1\157\1\156\1\163\1\151\1\40\1\uffff\1\156"+
+        "\1\145\1\157\1\171\1\163\1\uffff\1\40\1\171\1\172\1\164\1\172\1"+
+        "\uffff\1\172\1\146\1\143\1\172\2\uffff\1\163\1\uffff\1\165\1\164"+
+        "\2\172\1\uffff\1\172\1\40\1\142\2\172\1\151\1\172\1\uffff\1\171"+
+        "\2\uffff\1\172\1\150\1\uffff\1\172\1\142\1\145\1\uffff\1\145\1\uffff"+
+        "\1\142\1\115\2\uffff\1\157\1\156\4\uffff\1\141\1\uffff\1\154\1\147"+
+        "\1\144\2\uffff\1\141\1\165\1\164\1\156\2\145\1\172\1\160\1\142\1"+
+        "\145\1\147\1\40\1\162\1\uffff\1\160\1\154\1\147\1\145\1\151\1\40"+
+        "\1\151\2\145\1\163\2\uffff\1\151\1\156\1\40\1\162\1\172\3\uffff"+
+        "\1\147\1\151\1\40\1\uffff\1\172\2\uffff\1\151\3\uffff";
+    static final String DFA21_acceptS =
+        "\2\uffff\1\2\2\uffff\1\5\5\uffff\1\16\1\17\1\20\14\uffff\1\116"+
+        "\1\uffff\1\120\1\121\1\122\12\uffff\1\162\2\uffff\1\u0091\2\uffff"+
+        "\2\u0095\1\u0098\1\u0099\1\uffff\1\u0091\1\2\10\uffff\1\5\1\uffff"+
+        "\1\6\1\125\1\151\1\7\12\uffff\1\16\1\17\1\20\41\uffff\1\124\1\142"+
+        "\1\156\1\104\1\116\1\uffff\1\145\1\117\1\120\1\121\1\122\1\123\1"+
+        "\155\1\150\1\126\1\u0096\1\u0097\1\152\1\127\1\153\1\146\1\130\1"+
+        "\132\1\131\1\133\1\161\1\134\1\u008d\1\uffff\1\154\1\147\1\160\1"+
+        "\u008c\1\157\1\166\1\162\2\uffff\1\u0092\1\uffff\1\u0093\1\u0094"+
+        "\1\u0095\1\u0098\15\uffff\1\163\1\143\1\144\4\uffff\1\173\6\uffff"+
+        "\1\105\41\uffff\1\44\7\uffff\1\70\4\uffff\1\137\1\135\1\140\1\136"+
+        "\4\uffff\1\3\1\uffff\1\112\21\uffff\1\66\1\171\5\uffff\1\24\1\174"+
+        "\1\25\1\71\1\107\44\uffff\1\u0088\2\uffff\1\u0081\10\uffff\1\67"+
+        "\10\uffff\1\u008e\3\uffff\1\12\10\uffff\1\27\1\31\6\uffff\1\76\7"+
+        "\uffff\1\164\1\uffff\1\170\4\uffff\1\41\5\uffff\1\53\3\uffff\1\u0083"+
+        "\2\uffff\1\u0084\6\uffff\1\47\1\uffff\1\21\5\uffff\1\43\1\77\4\uffff"+
+        "\1\u0082\4\uffff\1\35\1\uffff\1\172\1\56\1\u008f\4\uffff\1\u0080"+
+        "\1\uffff\1\32\1\100\4\uffff\1\u008b\1\uffff\1\40\4\uffff\1\75\1"+
+        "\111\1\uffff\1\102\2\uffff\1\u0086\2\uffff\1\u0090\1\uffff\1\u0087"+
+        "\1\uffff\1\4\10\uffff\1\37\3\uffff\1\23\2\uffff\1\30\1\165\2\uffff"+
+        "\1\176\14\uffff\1\u0085\1\uffff\1\65\2\uffff\1\73\1\74\3\uffff\1"+
+        "\33\1\167\1\uffff\1\u0089\1\uffff\1\22\1\uffff\1\42\5\uffff\1\175"+
+        "\5\uffff\1\115\5\uffff\1\14\4\uffff\1\63\1\46\1\uffff\1\114\4\uffff"+
+        "\1\113\7\uffff\1\103\1\uffff\1\13\1\36\2\uffff\1\26\3\uffff\1\55"+
+        "\1\uffff\1\177\2\uffff\1\101\1\54\2\uffff\1\106\1\1\1\64\1\141\1"+
+        "\uffff\1\15\3\uffff\1\34\1\110\15\uffff\1\u008a\12\uffff\1\45\1"+
+        "\50\5\uffff\1\11\1\51\1\52\3\uffff\1\10\1\uffff\1\57\1\60\1\uffff"+
+        "\1\72\1\61\1\62";
+    static final String DFA21_specialS =
+        "\1\0\u025c\uffff}>";
+    static final String[] DFA21_transitionS = {
+            "\11\62\2\61\2\62\1\61\22\62\1\61\1\46\1\57\1\34\1\54\1\41\1"+
+            "\45\1\60\1\13\1\15\1\7\1\37\1\14\1\31\1\6\1\40\1\55\11\56\1"+
+            "\50\1\51\1\42\1\33\1\43\1\47\1\32\32\54\1\35\1\62\1\36\1\53"+
+            "\1\54\1\62\1\12\1\20\1\24\1\10\1\23\1\11\2\54\1\4\3\54\1\1\1"+
+            "\52\1\16\1\26\1\54\1\3\1\22\1\30\1\27\1\17\1\21\1\54\1\25\1"+
+            "\54\1\2\1\44\1\5\uff82\62",
+            "\1\63",
+            "",
+            "\1\70\3\uffff\1\67\11\uffff\1\71\5\uffff\1\66",
+            "\1\75\6\uffff\1\72\1\74\5\uffff\1\73",
+            "",
+            "\1\77",
+            "\1\102\22\uffff\1\101",
+            "\1\104\3\uffff\1\105\11\uffff\1\106",
+            "\1\112\7\uffff\1\113\5\uffff\1\111\2\uffff\1\107\2\uffff\1"+
+            "\110",
+            "\1\115\1\114",
+            "",
+            "",
+            "",
+            "\1\121\15\uffff\1\122",
+            "\1\123",
+            "\1\125\15\uffff\1\126\11\uffff\1\124",
+            "\1\132\2\uffff\1\130\1\127\5\uffff\1\131",
+            "\1\135\3\uffff\1\134\12\uffff\1\136\1\137\1\uffff\1\133\1"+
+            "\uffff\1\140",
+            "\1\144\1\141\10\uffff\1\142\1\uffff\1\143",
+            "\1\145\20\uffff\1\146",
+            "\1\147",
+            "\1\150\3\uffff\1\151",
+            "\1\153\1\uffff\1\152\2\uffff\1\154",
+            "\1\155\2\uffff\1\161\6\uffff\1\156\2\uffff\1\157\6\uffff\1"+
+            "\160",
+            "\1\164\17\uffff\1\162\1\163",
+            "",
+            "\1\167\1\170",
+            "",
+            "",
+            "",
+            "\1\176\21\uffff\1\175",
+            "\1\u0081\4\uffff\1\u0082\15\uffff\1\u0080",
+            "\1\u0084",
+            "\1\u0086",
+            "\1\u0088",
+            "\1\u008a",
+            "\1\u008c",
+            "\1\u008e",
+            "\1\u0091\13\uffff\1\u0090",
+            "\1\u0093",
+            "",
+            "\1\u0096\17\uffff\1\u0097",
+            "\1\64\34\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
+            "",
+            "\12\u0099\10\uffff\1\u009b\1\uffff\3\u009b\5\uffff\1\u009b"+
+            "\13\uffff\1\u0098\6\uffff\1\u0099\2\uffff\1\u009b\1\uffff\3"+
+            "\u009b\5\uffff\1\u009b\13\uffff\1\u0098",
+            "\12\u0099\10\uffff\1\u009b\1\uffff\3\u009b\5\uffff\1\u009b"+
+            "\22\uffff\1\u0099\2\uffff\1\u009b\1\uffff\3\u009b\5\uffff\1"+
+            "\u009b",
+            "",
+            "",
+            "",
+            "",
+            "\1\u009e\12\uffff\1\u009f",
+            "",
+            "",
+            "\1\u00a0",
+            "\1\u00a2\14\uffff\1\u00a1\1\u00a3",
+            "\1\u00a4",
+            "\1\u00a5\1\uffff\1\u00a6",
+            "\1\u00a7",
+            "\1\u00a8",
+            "\1\u00aa\1\u00a9",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+            "\64",
+            "",
+            "\1\u00ac",
+            "",
+            "",
+            "",
+            "",
+            "\1\u00ae\4\uffff\1\u00af",
+            "\1\u00b1\2\uffff\1\u00b0",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+            "\64",
+            "\1\u00b3",
+            "\1\u00b4",
+            "\1\u00b5",
+            "\1\u00b6",
+            "\1\u00b7",
+            "\1\u00b8",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+            "\64",
+            "",
+            "",
+            "",
+            "\1\u00ba",
+            "\1\u00bb",
+            "\1\u00bd\5\uffff\1\u00bc",
+            "\1\u00be",
+            "\1\u00bf",
+            "\1\u00c0",
+            "\1\u00c1",
+            "\1\u00c2\3\uffff\1\u00c3",
+            "\1\u00c4",
+            "\1\u00c5",
+            "\1\u00c6",
+            "\1\u00c7",
+            "\1\u00c8",
+            "\1\u00ca\3\uffff\1\u00c9",
+            "\1\u00cb",
+            "\1\u00cc",
+            "\1\u00cd",
+            "\1\u00ce",
+            "\1\u00cf\12\uffff\1\u00d0",
+            "\1\u00d1",
+            "\1\u00d2\6\uffff\1\u00d3\1\u00d4",
+            "\1\u00d5",
+            "\1\u00d6\21\uffff\1\u00d7",
+            "\1\u00d9\1\u00d8",
+            "\1\u00da",
+            "\1\u00db",
+            "\1\u00dc\1\u00dd",
+            "\1\u00de",
+            "\1\u00e0\12\uffff\1\u00df",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\3"+
+            "\64\1\u00e1\10\64\1\u00e2\15\64",
+            "\1\u00e4\3\uffff\1\u00e5",
+            "\1\u00e6",
+            "\1\u00e7",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "\1\u00e8",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "\1\u00ea",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "\1\u00ec",
+            "\1\u00ed",
+            "",
+            "\12\u0099\10\uffff\1\u009b\1\uffff\3\u009b\5\uffff\1\u009b"+
+            "\22\uffff\1\u0099\2\uffff\1\u009b\1\uffff\3\u009b\5\uffff\1"+
+            "\u009b",
+            "",
+            "",
+            "",
+            "",
+            "\1\u00ee",
+            "\1\u00ef",
+            "\1\u00f0",
+            "\1\u00f1",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+            "\64",
+            "\1\u00f3",
+            "\1\u00f4",
+            "\1\u00f5",
+            "\1\u00f6",
+            "\1\u00f7",
+            "\1\u00f8\4\uffff\1\u00f9",
+            "\1\u00fa",
+            "\1\u00fb",
+            "",
+            "",
+            "",
+            "\1\u00fc\3\uffff\1\u00fd",
+            "\1\u00fe",
+            "\1\u0100\7\uffff\1\u00ff",
+            "\1\u0101",
+            "",
+            "\1\u0102",
+            "\1\u0103",
+            "\1\u0104\3\uffff\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff"+
+            "\1\64\1\uffff\32\64",
+            "\1\u0106",
+            "\1\u0107",
+            "\1\u0108",
+            "",
+            "\1\u0109",
+            "\1\u010a",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+            "\64",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+            "\64",
+            "\1\u010d\11\uffff\1\u010f\2\uffff\1\u010e",
+            "\1\u0110",
+            "\1\u0111",
+            "\1\u0112",
+            "\1\u0113",
+            "\1\u0114",
+            "\1\u0115",
+            "\1\u0116",
+            "\1\u0117",
+            "\1\u0118",
+            "\1\u0119",
+            "\1\u011a",
+            "\1\u011b",
+            "\1\u011c",
+            "\1\u011d",
+            "\1\u011e",
+            "\1\u011f",
+            "\1\u0120",
+            "\1\u0121",
+            "\1\u0122",
+            "\1\u0123",
+            "\1\u0124",
+            "\1\u0125",
+            "\1\u0126",
+            "\1\u0127",
+            "\1\u0128",
+            "\1\u0129",
+            "\1\u012a",
+            "\1\u012b",
+            "",
+            "\1\u012c",
+            "\1\u012d",
+            "\1\u012e",
+            "\1\u012f",
+            "\1\u0130",
+            "\1\u0131",
+            "\1\u0132",
+            "",
+            "\1\u0133",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+            "\64",
+            "\1\u0135",
+            "\1\u0136",
+            "",
+            "",
+            "",
+            "",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+            "\64",
+            "\1\u0138",
+            "\1\u0139\110\uffff\1\u013a",
+            "\1\u013b",
+            "",
+            "\1\u013c",
+            "",
+            "\1\u013d",
+            "\1\u013e",
+            "\1\u013f",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+            "\64",
+            "\1\u0141",
+            "\1\u0142",
+            "\1\u0143",
+            "\1\u0144",
+            "\1\u0145",
+            "\1\u0146\12\uffff\1\u0147",
+            "\1\u0148",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+            "\64",
+            "\1\u014a",
+            "\1\u014b",
+            "\1\u014c",
+            "\1\u014d",
+            "\1\u014e",
+            "",
+            "",
+            "\1\u014f",
+            "\1\u0150",
+            "\1\u0151",
+            "\1\u0152",
+            "\1\u0153",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "\1\u0154",
+            "\1\u0155",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+            "\64",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+            "\64",
+            "\1\u0158",
+            "\1\u0159",
+            "\1\u015a",
+            "\1\u015b",
+            "\1\u015c",
+            "\1\u015d",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+            "\64",
+            "\1\u015f",
+            "\1\u0160",
+            "\1\u0161",
+            "\1\u0162",
+            "\1\u0163",
+            "\1\u0164",
+            "\1\u0165",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+            "\64",
+            "\1\u0167",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+            "\64",
+            "\1\u0169",
+            "\1\u016a",
+            "\1\u016b",
+            "\1\u016c",
+            "\1\u016d",
+            "\1\u016e",
+            "\1\u016f",
+            "\1\u0170",
+            "\1\u0171",
+            "\1\u0172",
+            "\1\u0173",
+            "\1\u0174",
+            "\1\u0175",
+            "\1\u0176",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+            "\64",
+            "",
+            "\1\u0178",
+            "\1\u0179",
+            "",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+            "\64",
+            "\1\u017b",
+            "\1\u017c",
+            "\1\u017d",
+            "\1\u017e",
+            "\1\u017f",
+            "\1\u0180",
+            "\1\u0181",
+            "",
+            "\1\u0182",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+            "\64",
+            "\1\u0184",
+            "\1\u0185",
+            "\1\u0186",
+            "\1\u0187",
+            "\1\u0188",
+            "\1\u018a\2\uffff\1\u0189",
+            "",
+            "\1\u018b",
+            "\1\u018c",
+            "\1\u018d",
+            "",
+            "\1\u018e",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+            "\64",
+            "\1\u0190",
+            "\1\u0191",
+            "\1\u0192",
+            "\1\u0193",
+            "\1\u0194",
+            "\1\u0195",
+            "",
+            "",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+            "\64",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+            "\64",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+            "\64",
+            "\1\u0199",
+            "\1\u019a",
+            "\1\u019b",
+            "",
+            "\1\u019c",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+            "\64",
+            "\1\u019e",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+            "\64",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+            "\64",
+            "\1\u01a1",
+            "\1\u01a2\16\uffff\1\u01a3",
+            "",
+            "\1\u01a4",
+            "",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+            "\64",
+            "\1\u01a6",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+            "\64",
+            "\1\u01a8",
+            "",
+            "\1\u01a9",
+            "\1\u01aa",
+            "\1\u01ab",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+            "\64",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+            "\64",
+            "",
+            "\1\u01ae",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+            "\64",
+            "\1\u01b0",
+            "",
+            "\1\u01b1",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+            "\64",
+            "",
+            "\1\u01b3",
+            "\1\u01b4",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+            "\64",
+            "\1\u01b6",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+            "\64",
+            "\1\u01b8",
+            "",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+            "\64",
+            "",
+            "\1\u01ba",
+            "\1\u01bb",
+            "\1\u01bc",
+            "\1\u01bd",
+            "\1\u01be",
+            "",
+            "",
+            "\1\u01bf",
+            "\1\u01c0",
+            "\1\u01c1",
+            "\1\u01c2",
+            "",
+            "\1\u01c3",
+            "\1\u01c4",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\22"+
+            "\64\1\u01c5\7\64",
+            "\1\u01c7",
+            "",
+            "\1\u01c8",
+            "",
+            "",
+            "",
+            "\1\u01c9\3\uffff\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff"+
+            "\1\64\1\uffff\32\64",
+            "\1\u01cb",
+            "\1\u01cc",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+            "\64",
+            "",
+            "\1\u01ce",
+            "",
+            "",
+            "\1\u01cf",
+            "\1\u01d0",
+            "\1\u01d1",
+            "\1\u01d2",
+            "",
+            "\1\u01d3",
+            "",
+            "\1\u01d4",
+            "\1\u01d5",
+            "\1\u01d6",
+            "\1\u01d7",
+            "",
+            "",
+            "\1\u01d8",
+            "",
+            "\1\u01d9",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+            "\64",
+            "",
+            "\1\u01db",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+            "\64",
+            "",
+            "\1\u01dd",
+            "",
+            "\1\u01de",
+            "",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+            "\64",
+            "\1\u01e0",
+            "\1\u01e1",
+            "\1\u01e2",
+            "\1\u01e3",
+            "\1\u01e4",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+            "\64",
+            "\1\u01e6",
+            "",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+            "\64",
+            "\1\u01e8",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+            "\64",
+            "",
+            "\1\u01ea",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+            "\64",
+            "",
+            "",
+            "\1\u01ec\4\uffff\1\u01ed",
+            "\1\u01ee",
+            "",
+            "\1\u01ef",
+            "\1\u01f0",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+            "\64",
+            "\1\u01f2",
+            "\1\u01f3",
+            "\1\u01f4",
+            "\1\u01f5",
+            "\1\u01f6",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+            "\64",
+            "\1\u01f8",
+            "\1\u01f9",
+            "\1\u01fa",
+            "",
+            "\1\u01fb",
+            "",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\22"+
+            "\64\1\u01fc\7\64",
+            "\1\u01fe",
+            "",
+            "",
+            "\1\u01ff",
+            "\1\u0200",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\22"+
+            "\64\1\u0201\7\64",
+            "",
+            "",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+            "\64",
+            "",
+            "\1\u0204",
+            "",
+            "\1\u0205",
+            "",
+            "\1\u0206",
+            "\1\u0207",
+            "\1\u0208",
+            "\1\u0209",
+            "\1\u020a",
+            "",
+            "\1\u020b",
+            "\1\u020c",
+            "\1\u020d",
+            "\1\u020e",
+            "\1\u020f",
+            "",
+            "\1\u0210",
+            "\1\u0211",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+            "\64",
+            "\1\u0213",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+            "\64",
+            "",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+            "\64",
+            "\1\u0216",
+            "\1\u0217",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+            "\64",
+            "",
+            "",
+            "\1\u0219",
+            "",
+            "\1\u021a",
+            "\1\u021b",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+            "\64",
+            "\1\u021d",
+            "",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+            "\64",
+            "\1\u021f",
+            "\1\u0220",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+            "\64",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+            "\64",
+            "\1\u0223\4\uffff\1\u0224",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+            "\64",
+            "",
+            "\1\u0227\17\uffff\1\u0226",
+            "",
+            "",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+            "\64",
+            "\1\u0229",
+            "",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+            "\64",
+            "\1\u022b",
+            "\1\u022c",
+            "",
+            "\1\u022d",
+            "",
+            "\1\u022e\1\u022f",
+            "\1\u0230",
+            "",
+            "",
+            "\1\u0231",
+            "\1\u0232",
+            "",
+            "",
+            "",
+            "",
+            "\1\u0233",
+            "",
+            "\1\u0234",
+            "\1\u0235",
+            "\1\u0236",
+            "",
+            "",
+            "\1\u0237",
+            "\1\u0238",
+            "\1\u0239",
+            "\1\u023a",
+            "\1\u023b",
+            "\1\u023c",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+            "\64",
+            "\1\u023e",
+            "\1\u023f",
+            "\1\u0240",
+            "\1\u0241",
+            "\1\u0242",
+            "\1\u0243",
+            "",
+            "\1\u0244",
+            "\1\u0245",
+            "\1\u0246",
+            "\1\u0247",
+            "\1\u0249\2\uffff\1\u0248",
+            "\1\u024a",
+            "\1\u024b",
+            "\1\u024c",
+            "\1\u024d",
+            "\1\u024f\122\uffff\1\u024e",
+            "",
+            "",
+            "\1\u0251\2\uffff\1\u0250",
+            "\1\u0252",
+            "\1\u0253",
+            "\1\u0254",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+            "\64",
+            "",
+            "",
+            "",
+            "\1\u0256",
+            "\1\u0258\2\uffff\1\u0257",
+            "\1\u0259",
+            "",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+            "\64",
+            "",
+            "",
+            "\1\u025c\2\uffff\1\u025b",
+            "",
+            "",
+            ""
+    };
+
+    static final short[] DFA21_eot = DFA.unpackEncodedString(DFA21_eotS);
+    static final short[] DFA21_eof = DFA.unpackEncodedString(DFA21_eofS);
+    static final char[] DFA21_min = DFA.unpackEncodedStringToUnsignedChars(DFA21_minS);
+    static final char[] DFA21_max = DFA.unpackEncodedStringToUnsignedChars(DFA21_maxS);
+    static final short[] DFA21_accept = DFA.unpackEncodedString(DFA21_acceptS);
+    static final short[] DFA21_special = DFA.unpackEncodedString(DFA21_specialS);
+    static final short[][] DFA21_transition;
+
+    static {
+        int numStates = DFA21_transitionS.length;
+        DFA21_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA21_transition[i] = DFA.unpackEncodedString(DFA21_transitionS[i]);
+        }
+    }
+
+    class DFA21 extends DFA {
+
+        public DFA21(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 21;
+            this.eot = DFA21_eot;
+            this.eof = DFA21_eof;
+            this.min = DFA21_min;
+            this.max = DFA21_max;
+            this.accept = DFA21_accept;
+            this.special = DFA21_special;
+            this.transition = DFA21_transition;
+        }
+        public String getDescription() {
+            return "1:1: Tokens : ( T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | T__89 | T__90 | T__91 | T__92 | T__93 | T__94 | T__95 | T__96 | T__97 | T__98 | T__99 | T__100 | T__101 | T__102 | T__103 | T__104 | T__105 | T__106 | T__107 | T__108 | T__109 | T__110 | T__111 | T__112 | T__113 | T__114 | T__115 | T__116 | T__117 | T__118 | T__119 | T__120 | T__121 | T__122 | T__123 | T__124 | T__125 | T__126 | T__127 | T__128 | T__129 | T__130 | T__131 | T__132 | T__133 | T__134 | T__135 | T__136 | T__137 | T__138 | T__139 | T__140 | T__141 | T__142 | T__143 | T__144 | T__145 | T__146 | T__147 | T__148 | T__149 | T__150 | T__151 | T__152 | T__153 | T__154 | T__155 | T__156 | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            IntStream input = _input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA21_0 = input.LA(1);
+
+                        s = -1;
+                        if ( (LA21_0=='m') ) {s = 1;}
+
+                        else if ( (LA21_0=='{') ) {s = 2;}
+
+                        else if ( (LA21_0=='r') ) {s = 3;}
+
+                        else if ( (LA21_0=='i') ) {s = 4;}
+
+                        else if ( (LA21_0=='}') ) {s = 5;}
+
+                        else if ( (LA21_0=='.') ) {s = 6;}
+
+                        else if ( (LA21_0=='*') ) {s = 7;}
+
+                        else if ( (LA21_0=='d') ) {s = 8;}
+
+                        else if ( (LA21_0=='f') ) {s = 9;}
+
+                        else if ( (LA21_0=='a') ) {s = 10;}
+
+                        else if ( (LA21_0=='(') ) {s = 11;}
+
+                        else if ( (LA21_0==',') ) {s = 12;}
+
+                        else if ( (LA21_0==')') ) {s = 13;}
+
+                        else if ( (LA21_0=='o') ) {s = 14;}
+
+                        else if ( (LA21_0=='v') ) {s = 15;}
+
+                        else if ( (LA21_0=='b') ) {s = 16;}
+
+                        else if ( (LA21_0=='w') ) {s = 17;}
+
+                        else if ( (LA21_0=='s') ) {s = 18;}
+
+                        else if ( (LA21_0=='e') ) {s = 19;}
+
+                        else if ( (LA21_0=='c') ) {s = 20;}
+
+                        else if ( (LA21_0=='y') ) {s = 21;}
+
+                        else if ( (LA21_0=='p') ) {s = 22;}
+
+                        else if ( (LA21_0=='u') ) {s = 23;}
+
+                        else if ( (LA21_0=='t') ) {s = 24;}
+
+                        else if ( (LA21_0=='-') ) {s = 25;}
+
+                        else if ( (LA21_0=='@') ) {s = 26;}
+
+                        else if ( (LA21_0=='=') ) {s = 27;}
+
+                        else if ( (LA21_0=='#') ) {s = 28;}
+
+                        else if ( (LA21_0=='[') ) {s = 29;}
+
+                        else if ( (LA21_0==']') ) {s = 30;}
+
+                        else if ( (LA21_0=='+') ) {s = 31;}
+
+                        else if ( (LA21_0=='/') ) {s = 32;}
+
+                        else if ( (LA21_0=='%') ) {s = 33;}
+
+                        else if ( (LA21_0=='<') ) {s = 34;}
+
+                        else if ( (LA21_0=='>') ) {s = 35;}
+
+                        else if ( (LA21_0=='|') ) {s = 36;}
+
+                        else if ( (LA21_0=='&') ) {s = 37;}
+
+                        else if ( (LA21_0=='!') ) {s = 38;}
+
+                        else if ( (LA21_0=='?') ) {s = 39;}
+
+                        else if ( (LA21_0==':') ) {s = 40;}
+
+                        else if ( (LA21_0==';') ) {s = 41;}
+
+                        else if ( (LA21_0=='n') ) {s = 42;}
+
+                        else if ( (LA21_0=='^') ) {s = 43;}
+
+                        else if ( (LA21_0=='$'||(LA21_0>='A' && LA21_0<='Z')||LA21_0=='_'||(LA21_0>='g' && LA21_0<='h')||(LA21_0>='j' && LA21_0<='l')||LA21_0=='q'||LA21_0=='x'||LA21_0=='z') ) {s = 44;}
+
+                        else if ( (LA21_0=='0') ) {s = 45;}
+
+                        else if ( ((LA21_0>='1' && LA21_0<='9')) ) {s = 46;}
+
+                        else if ( (LA21_0=='\"') ) {s = 47;}
+
+                        else if ( (LA21_0=='\'') ) {s = 48;}
+
+                        else if ( ((LA21_0>='\t' && LA21_0<='\n')||LA21_0=='\r'||LA21_0==' ') ) {s = 49;}
+
+                        else if ( ((LA21_0>='\u0000' && LA21_0<='\b')||(LA21_0>='\u000B' && LA21_0<='\f')||(LA21_0>='\u000E' && LA21_0<='\u001F')||LA21_0=='\\'||LA21_0=='`'||(LA21_0>='~' && LA21_0<='\uFFFF')) ) {s = 50;}
+
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 21, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+ 
+
+}
diff --git a/org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSLParser.java b/org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSLParser.java
new file mode 100644
index 0000000..07e88f8
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSLParser.java
@@ -0,0 +1,10015 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  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:                                                      
+ * 	   Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ * 
+ */
+
+package org.eclipse.osbp.xtext.entitymock.parser.antlr.internal; 
+
+import org.eclipse.xtext.*;
+import org.eclipse.xtext.parser.*;
+import org.eclipse.xtext.parser.impl.*;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.common.util.Enumerator;
+import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
+import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken;
+import org.eclipse.osbp.xtext.entitymock.services.EntityMockDSLGrammarAccess;
+
+
+
+import org.antlr.runtime.*;
+import java.util.Stack;
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Map;
+import java.util.HashMap;
+@SuppressWarnings("all")
+public class InternalEntityMockDSLParser extends AbstractInternalAntlrParser {
+    public static final String[] tokenNames = new String[] {
+        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_INT", "RULE_ID", "RULE_STRING", "RULE_HEX", "RULE_DECIMAL", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'mock entitymodel for'", "'{'", "'run with priority'", "'import'", "'}'", "'.'", "'*'", "'datainterchanges'", "'datainterchange import'", "'from file'", "'resources'", "'resource'", "'attributes'", "'('", "','", "')'", "'items'", "'objects'", "'object'", "'var'", "'by enum'", "'datatypes'", "'with'", "'switch on'", "'when'", "'embed'", "'defined as'", "'calculate as'", "'based on'", "'randomize'", "'future date'", "'years'", "'past date'", "'boolean'", "'date in range'", "'up to and including'", "'signed double in range'", "'decimals'", "'round to'", "'signed double from'", "'signed integer in range'", "'signed integer from'", "'text from'", "'paragraps'", "'sentences'", "'words'", "'unsigned double in range'", "'unsigned double from'", "'unsigned integer in range'", "'unsigned integer from'", "'datatype'", "'mock entities'", "'mocking'", "'for entity'", "'rows'", "'to'", "'by resource'", "'createBlobMapping'", "'iterate'", "'integer from'", "'until'", "'step'", "'date from'", "'every'", "'yesterday'", "'today'", "'tomorrow'", "'-'", "'as'", "'temporary'", "'by object'", "'calculate based on'", "'using'", "'ref'", "'existing entities'", "'optional for'", "'percent'", "'@'", "'='", "'#'", "'['", "']'", "'+='", "'-='", "'*='", "'/='", "'%='", "'<'", "'>'", "'>='", "'||'", "'&&'", "'=='", "'!='", "'==='", "'!=='", "'instanceof'", "'->'", "'..<'", "'..'", "'=>'", "'<>'", "'?:'", "'+'", "'**'", "'/'", "'%'", "'!'", "'++'", "'--'", "'::'", "'?.'", "'|'", "';'", "'if'", "'else'", "'switch'", "':'", "'default'", "'case'", "'for'", "'while'", "'do'", "'val'", "'extends'", "'static'", "'extension'", "'super'", "'new'", "'false'", "'true'", "'null'", "'typeof'", "'throw'", "'return'", "'try'", "'finally'", "'synchronized'", "'catch'", "'?'", "'&'", "'days'", "'weeks'", "'months'"
+    };
+    public static final int T__144=144;
+    public static final int T__143=143;
+    public static final int T__146=146;
+    public static final int RULE_HEX=7;
+    public static final int T__50=50;
+    public static final int T__145=145;
+    public static final int T__140=140;
+    public static final int T__142=142;
+    public static final int T__141=141;
+    public static final int T__59=59;
+    public static final int T__55=55;
+    public static final int T__56=56;
+    public static final int T__57=57;
+    public static final int T__58=58;
+    public static final int T__51=51;
+    public static final int T__137=137;
+    public static final int T__52=52;
+    public static final int T__136=136;
+    public static final int T__53=53;
+    public static final int T__139=139;
+    public static final int T__54=54;
+    public static final int T__138=138;
+    public static final int T__133=133;
+    public static final int T__132=132;
+    public static final int T__60=60;
+    public static final int T__135=135;
+    public static final int T__61=61;
+    public static final int T__134=134;
+    public static final int RULE_ID=5;
+    public static final int T__131=131;
+    public static final int T__130=130;
+    public static final int RULE_INT=4;
+    public static final int T__66=66;
+    public static final int RULE_ML_COMMENT=9;
+    public static final int T__67=67;
+    public static final int T__129=129;
+    public static final int T__68=68;
+    public static final int T__69=69;
+    public static final int T__62=62;
+    public static final int T__126=126;
+    public static final int T__63=63;
+    public static final int T__125=125;
+    public static final int T__64=64;
+    public static final int T__128=128;
+    public static final int T__65=65;
+    public static final int T__127=127;
+    public static final int T__37=37;
+    public static final int T__38=38;
+    public static final int T__39=39;
+    public static final int T__33=33;
+    public static final int T__34=34;
+    public static final int T__35=35;
+    public static final int T__36=36;
+    public static final int T__30=30;
+    public static final int T__31=31;
+    public static final int T__32=32;
+    public static final int T__155=155;
+    public static final int T__154=154;
+    public static final int T__156=156;
+    public static final int T__151=151;
+    public static final int T__150=150;
+    public static final int T__153=153;
+    public static final int T__152=152;
+    public static final int T__48=48;
+    public static final int T__49=49;
+    public static final int T__44=44;
+    public static final int T__45=45;
+    public static final int T__46=46;
+    public static final int T__47=47;
+    public static final int T__40=40;
+    public static final int T__148=148;
+    public static final int T__41=41;
+    public static final int T__147=147;
+    public static final int T__42=42;
+    public static final int T__43=43;
+    public static final int T__149=149;
+    public static final int T__91=91;
+    public static final int T__100=100;
+    public static final int T__92=92;
+    public static final int T__93=93;
+    public static final int T__102=102;
+    public static final int T__94=94;
+    public static final int T__101=101;
+    public static final int T__90=90;
+    public static final int T__19=19;
+    public static final int T__15=15;
+    public static final int T__16=16;
+    public static final int T__17=17;
+    public static final int T__18=18;
+    public static final int T__99=99;
+    public static final int T__13=13;
+    public static final int T__14=14;
+    public static final int T__95=95;
+    public static final int T__96=96;
+    public static final int T__97=97;
+    public static final int T__98=98;
+    public static final int RULE_DECIMAL=8;
+    public static final int T__26=26;
+    public static final int T__27=27;
+    public static final int T__28=28;
+    public static final int T__29=29;
+    public static final int T__22=22;
+    public static final int T__23=23;
+    public static final int T__24=24;
+    public static final int T__25=25;
+    public static final int T__20=20;
+    public static final int T__21=21;
+    public static final int T__122=122;
+    public static final int T__70=70;
+    public static final int T__121=121;
+    public static final int T__71=71;
+    public static final int T__124=124;
+    public static final int T__72=72;
+    public static final int T__123=123;
+    public static final int T__120=120;
+    public static final int RULE_STRING=6;
+    public static final int RULE_SL_COMMENT=10;
+    public static final int T__77=77;
+    public static final int T__119=119;
+    public static final int T__78=78;
+    public static final int T__118=118;
+    public static final int T__79=79;
+    public static final int T__73=73;
+    public static final int T__115=115;
+    public static final int EOF=-1;
+    public static final int T__74=74;
+    public static final int T__114=114;
+    public static final int T__75=75;
+    public static final int T__117=117;
+    public static final int T__76=76;
+    public static final int T__116=116;
+    public static final int T__80=80;
+    public static final int T__111=111;
+    public static final int T__81=81;
+    public static final int T__110=110;
+    public static final int T__82=82;
+    public static final int T__113=113;
+    public static final int T__83=83;
+    public static final int T__112=112;
+    public static final int RULE_WS=11;
+    public static final int RULE_ANY_OTHER=12;
+    public static final int T__88=88;
+    public static final int T__108=108;
+    public static final int T__89=89;
+    public static final int T__107=107;
+    public static final int T__109=109;
+    public static final int T__84=84;
+    public static final int T__104=104;
+    public static final int T__85=85;
+    public static final int T__103=103;
+    public static final int T__86=86;
+    public static final int T__106=106;
+    public static final int T__87=87;
+    public static final int T__105=105;
+
+    // delegates
+    // delegators
+
+
+        public InternalEntityMockDSLParser(TokenStream input) {
+            this(input, new RecognizerSharedState());
+        }
+        public InternalEntityMockDSLParser(TokenStream input, RecognizerSharedState state) {
+            super(input, state);
+             
+        }
+        
+
+    public String[] getTokenNames() { return InternalEntityMockDSLParser.tokenNames; }
+    public String getGrammarFileName() { return "../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g"; }
+
+
+
+     	private EntityMockDSLGrammarAccess grammarAccess;
+     	
+        public InternalEntityMockDSLParser(TokenStream input, EntityMockDSLGrammarAccess grammarAccess) {
+            this(input);
+            this.grammarAccess = grammarAccess;
+            registerRules(grammarAccess.getGrammar());
+        }
+        
+        @Override
+        protected String getFirstRuleName() {
+        	return "EntityMockModel";	
+       	}
+       	
+       	@Override
+       	protected EntityMockDSLGrammarAccess getGrammarAccess() {
+       		return grammarAccess;
+       	}
+
+
+
+    // $ANTLR start "entryRuleEntityMockModel"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:68:1: entryRuleEntityMockModel returns [EObject current=null] : iv_ruleEntityMockModel= ruleEntityMockModel EOF ;
+    public final EObject entryRuleEntityMockModel() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_ruleEntityMockModel = null;
+
+
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:69:2: (iv_ruleEntityMockModel= ruleEntityMockModel EOF )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:70:2: iv_ruleEntityMockModel= ruleEntityMockModel EOF
+            {
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getEntityMockModelRule()); 
+            }
+            pushFollow(FOLLOW_ruleEntityMockModel_in_entryRuleEntityMockModel75);
+            iv_ruleEntityMockModel=ruleEntityMockModel();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleEntityMockModel; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleEntityMockModel85); if (state.failed) return current;
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleEntityMockModel"
+
+
+    // $ANTLR start "ruleEntityMockModel"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:77:1: ruleEntityMockModel returns [EObject current=null] : ( (lv_packages_0_0= ruleEntityMockPackage ) )* ;
+    public final EObject ruleEntityMockModel() throws RecognitionException {
+        EObject current = null;
+
+        EObject lv_packages_0_0 = null;
+
+
+         enterRule(); 
+            
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:80:28: ( ( (lv_packages_0_0= ruleEntityMockPackage ) )* )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:81:1: ( (lv_packages_0_0= ruleEntityMockPackage ) )*
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:81:1: ( (lv_packages_0_0= ruleEntityMockPackage ) )*
+            loop1:
+            do {
+                int alt1=2;
+                int LA1_0 = input.LA(1);
+
+                if ( (LA1_0==13) ) {
+                    alt1=1;
+                }
+
+
+                switch (alt1) {
+            	case 1 :
+            	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:82:1: (lv_packages_0_0= ruleEntityMockPackage )
+            	    {
+            	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:82:1: (lv_packages_0_0= ruleEntityMockPackage )
+            	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:83:3: lv_packages_0_0= ruleEntityMockPackage
+            	    {
+            	    if ( state.backtracking==0 ) {
+            	       
+            	      	        newCompositeNode(grammarAccess.getEntityMockModelAccess().getPackagesEntityMockPackageParserRuleCall_0()); 
+            	      	    
+            	    }
+            	    pushFollow(FOLLOW_ruleEntityMockPackage_in_ruleEntityMockModel130);
+            	    lv_packages_0_0=ruleEntityMockPackage();
+
+            	    state._fsp--;
+            	    if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
+
+            	      	        if (current==null) {
+            	      	            current = createModelElementForParent(grammarAccess.getEntityMockModelRule());
+            	      	        }
+            	             		add(
+            	             			current, 
+            	             			"packages",
+            	              		lv_packages_0_0, 
+            	              		"EntityMockPackage");
+            	      	        afterParserOrEnumRuleCall();
+            	      	    
+            	    }
+
+            	    }
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop1;
+                }
+            } while (true);
+
+
+            }
+
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleEntityMockModel"
+
+
+    // $ANTLR start "entryRuleEntityMockPackage"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:107:1: entryRuleEntityMockPackage returns [EObject current=null] : iv_ruleEntityMockPackage= ruleEntityMockPackage EOF ;
+    public final EObject entryRuleEntityMockPackage() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_ruleEntityMockPackage = null;
+
+
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:108:2: (iv_ruleEntityMockPackage= ruleEntityMockPackage EOF )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:109:2: iv_ruleEntityMockPackage= ruleEntityMockPackage EOF
+            {
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getEntityMockPackageRule()); 
+            }
+            pushFollow(FOLLOW_ruleEntityMockPackage_in_entryRuleEntityMockPackage166);
+            iv_ruleEntityMockPackage=ruleEntityMockPackage();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleEntityMockPackage; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleEntityMockPackage176); if (state.failed) return current;
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleEntityMockPackage"
+
+
+    // $ANTLR start "ruleEntityMockPackage"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:116:1: ruleEntityMockPackage returns [EObject current=null] : (otherlv_0= 'mock entitymodel for' ( (lv_imports_1_0= ruleEntityModelImport ) ) otherlv_2= '{' (otherlv_3= 'run with priority' ( (lv_runPriority_4_0= RULE_INT ) ) )? (otherlv_5= 'import' ( (lv_imports_6_0= ruleEntityModelImport ) ) )* ( (lv_datainterchanges_7_0= ruleRunningDataInterchanges ) )? ( (lv_resources_8_0= ruleEntityMockResources ) )? ( (lv_objects_9_0= ruleEntityMockObjects ) )? ( (lv_datatypes_10_0= ruleEntityMockDataTypes ) )? ( (lv_entities_11_0= ruleEntityMockEntities ) ) otherlv_12= '}' ) ;
+    public final EObject ruleEntityMockPackage() throws RecognitionException {
+        EObject current = null;
+
+        Token otherlv_0=null;
+        Token otherlv_2=null;
+        Token otherlv_3=null;
+        Token lv_runPriority_4_0=null;
+        Token otherlv_5=null;
+        Token otherlv_12=null;
+        EObject lv_imports_1_0 = null;
+
+        EObject lv_imports_6_0 = null;
+
+        EObject lv_datainterchanges_7_0 = null;
+
+        EObject lv_resources_8_0 = null;
+
+        EObject lv_objects_9_0 = null;
+
+        EObject lv_datatypes_10_0 = null;
+
+        EObject lv_entities_11_0 = null;
+
+
+         enterRule(); 
+            
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:119:28: ( (otherlv_0= 'mock entitymodel for' ( (lv_imports_1_0= ruleEntityModelImport ) ) otherlv_2= '{' (otherlv_3= 'run with priority' ( (lv_runPriority_4_0= RULE_INT ) ) )? (otherlv_5= 'import' ( (lv_imports_6_0= ruleEntityModelImport ) ) )* ( (lv_datainterchanges_7_0= ruleRunningDataInterchanges ) )? ( (lv_resources_8_0= ruleEntityMockResources ) )? ( (lv_objects_9_0= ruleEntityMockObjects ) )? ( (lv_datatypes_10_0= ruleEntityMockDataTypes ) )? ( (lv_entities_11_0= ruleEntityMockEntities ) ) otherlv_12= '}' ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:120:1: (otherlv_0= 'mock entitymodel for' ( (lv_imports_1_0= ruleEntityModelImport ) ) otherlv_2= '{' (otherlv_3= 'run with priority' ( (lv_runPriority_4_0= RULE_INT ) ) )? (otherlv_5= 'import' ( (lv_imports_6_0= ruleEntityModelImport ) ) )* ( (lv_datainterchanges_7_0= ruleRunningDataInterchanges ) )? ( (lv_resources_8_0= ruleEntityMockResources ) )? ( (lv_objects_9_0= ruleEntityMockObjects ) )? ( (lv_datatypes_10_0= ruleEntityMockDataTypes ) )? ( (lv_entities_11_0= ruleEntityMockEntities ) ) otherlv_12= '}' )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:120:1: (otherlv_0= 'mock entitymodel for' ( (lv_imports_1_0= ruleEntityModelImport ) ) otherlv_2= '{' (otherlv_3= 'run with priority' ( (lv_runPriority_4_0= RULE_INT ) ) )? (otherlv_5= 'import' ( (lv_imports_6_0= ruleEntityModelImport ) ) )* ( (lv_datainterchanges_7_0= ruleRunningDataInterchanges ) )? ( (lv_resources_8_0= ruleEntityMockResources ) )? ( (lv_objects_9_0= ruleEntityMockObjects ) )? ( (lv_datatypes_10_0= ruleEntityMockDataTypes ) )? ( (lv_entities_11_0= ruleEntityMockEntities ) ) otherlv_12= '}' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:120:3: otherlv_0= 'mock entitymodel for' ( (lv_imports_1_0= ruleEntityModelImport ) ) otherlv_2= '{' (otherlv_3= 'run with priority' ( (lv_runPriority_4_0= RULE_INT ) ) )? (otherlv_5= 'import' ( (lv_imports_6_0= ruleEntityModelImport ) ) )* ( (lv_datainterchanges_7_0= ruleRunningDataInterchanges ) )? ( (lv_resources_8_0= ruleEntityMockResources ) )? ( (lv_objects_9_0= ruleEntityMockObjects ) )? ( (lv_datatypes_10_0= ruleEntityMockDataTypes ) )? ( (lv_entities_11_0= ruleEntityMockEntities ) ) otherlv_12= '}'
+            {
+            otherlv_0=(Token)match(input,13,FOLLOW_13_in_ruleEntityMockPackage213); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_0, grammarAccess.getEntityMockPackageAccess().getMockEntitymodelForKeyword_0());
+                  
+            }
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:124:1: ( (lv_imports_1_0= ruleEntityModelImport ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:125:1: (lv_imports_1_0= ruleEntityModelImport )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:125:1: (lv_imports_1_0= ruleEntityModelImport )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:126:3: lv_imports_1_0= ruleEntityModelImport
+            {
+            if ( state.backtracking==0 ) {
+               
+              	        newCompositeNode(grammarAccess.getEntityMockPackageAccess().getImportsEntityModelImportParserRuleCall_1_0()); 
+              	    
+            }
+            pushFollow(FOLLOW_ruleEntityModelImport_in_ruleEntityMockPackage234);
+            lv_imports_1_0=ruleEntityModelImport();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+              	        if (current==null) {
+              	            current = createModelElementForParent(grammarAccess.getEntityMockPackageRule());
+              	        }
+                     		add(
+                     			current, 
+                     			"imports",
+                      		lv_imports_1_0, 
+                      		"EntityModelImport");
+              	        afterParserOrEnumRuleCall();
+              	    
+            }
+
+            }
+
+
+            }
+
+            otherlv_2=(Token)match(input,14,FOLLOW_14_in_ruleEntityMockPackage246); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_2, grammarAccess.getEntityMockPackageAccess().getLeftCurlyBracketKeyword_2());
+                  
+            }
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:146:1: (otherlv_3= 'run with priority' ( (lv_runPriority_4_0= RULE_INT ) ) )?
+            int alt2=2;
+            int LA2_0 = input.LA(1);
+
+            if ( (LA2_0==15) ) {
+                alt2=1;
+            }
+            switch (alt2) {
+                case 1 :
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:146:3: otherlv_3= 'run with priority' ( (lv_runPriority_4_0= RULE_INT ) )
+                    {
+                    otherlv_3=(Token)match(input,15,FOLLOW_15_in_ruleEntityMockPackage259); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                          	newLeafNode(otherlv_3, grammarAccess.getEntityMockPackageAccess().getRunWithPriorityKeyword_3_0());
+                          
+                    }
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:150:1: ( (lv_runPriority_4_0= RULE_INT ) )
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:151:1: (lv_runPriority_4_0= RULE_INT )
+                    {
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:151:1: (lv_runPriority_4_0= RULE_INT )
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:152:3: lv_runPriority_4_0= RULE_INT
+                    {
+                    lv_runPriority_4_0=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleEntityMockPackage276); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                      			newLeafNode(lv_runPriority_4_0, grammarAccess.getEntityMockPackageAccess().getRunPriorityINTTerminalRuleCall_3_1_0()); 
+                      		
+                    }
+                    if ( state.backtracking==0 ) {
+
+                      	        if (current==null) {
+                      	            current = createModelElement(grammarAccess.getEntityMockPackageRule());
+                      	        }
+                             		setWithLastConsumed(
+                             			current, 
+                             			"runPriority",
+                              		lv_runPriority_4_0, 
+                              		"INT");
+                      	    
+                    }
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:168:4: (otherlv_5= 'import' ( (lv_imports_6_0= ruleEntityModelImport ) ) )*
+            loop3:
+            do {
+                int alt3=2;
+                int LA3_0 = input.LA(1);
+
+                if ( (LA3_0==16) ) {
+                    alt3=1;
+                }
+
+
+                switch (alt3) {
+            	case 1 :
+            	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:168:6: otherlv_5= 'import' ( (lv_imports_6_0= ruleEntityModelImport ) )
+            	    {
+            	    otherlv_5=(Token)match(input,16,FOLLOW_16_in_ruleEntityMockPackage296); if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
+
+            	          	newLeafNode(otherlv_5, grammarAccess.getEntityMockPackageAccess().getImportKeyword_4_0());
+            	          
+            	    }
+            	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:172:1: ( (lv_imports_6_0= ruleEntityModelImport ) )
+            	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:173:1: (lv_imports_6_0= ruleEntityModelImport )
+            	    {
+            	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:173:1: (lv_imports_6_0= ruleEntityModelImport )
+            	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:174:3: lv_imports_6_0= ruleEntityModelImport
+            	    {
+            	    if ( state.backtracking==0 ) {
+            	       
+            	      	        newCompositeNode(grammarAccess.getEntityMockPackageAccess().getImportsEntityModelImportParserRuleCall_4_1_0()); 
+            	      	    
+            	    }
+            	    pushFollow(FOLLOW_ruleEntityModelImport_in_ruleEntityMockPackage317);
+            	    lv_imports_6_0=ruleEntityModelImport();
+
+            	    state._fsp--;
+            	    if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
+
+            	      	        if (current==null) {
+            	      	            current = createModelElementForParent(grammarAccess.getEntityMockPackageRule());
+            	      	        }
+            	             		add(
+            	             			current, 
+            	             			"imports",
+            	              		lv_imports_6_0, 
+            	              		"EntityModelImport");
+            	      	        afterParserOrEnumRuleCall();
+            	      	    
+            	    }
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop3;
+                }
+            } while (true);
+
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:190:4: ( (lv_datainterchanges_7_0= ruleRunningDataInterchanges ) )?
+            int alt4=2;
+            int LA4_0 = input.LA(1);
+
+            if ( (LA4_0==20) ) {
+                alt4=1;
+            }
+            switch (alt4) {
+                case 1 :
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:191:1: (lv_datainterchanges_7_0= ruleRunningDataInterchanges )
+                    {
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:191:1: (lv_datainterchanges_7_0= ruleRunningDataInterchanges )
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:192:3: lv_datainterchanges_7_0= ruleRunningDataInterchanges
+                    {
+                    if ( state.backtracking==0 ) {
+                       
+                      	        newCompositeNode(grammarAccess.getEntityMockPackageAccess().getDatainterchangesRunningDataInterchangesParserRuleCall_5_0()); 
+                      	    
+                    }
+                    pushFollow(FOLLOW_ruleRunningDataInterchanges_in_ruleEntityMockPackage340);
+                    lv_datainterchanges_7_0=ruleRunningDataInterchanges();
+
+                    state._fsp--;
+                    if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                      	        if (current==null) {
+                      	            current = createModelElementForParent(grammarAccess.getEntityMockPackageRule());
+                      	        }
+                             		set(
+                             			current, 
+                             			"datainterchanges",
+                              		lv_datainterchanges_7_0, 
+                              		"RunningDataInterchanges");
+                      	        afterParserOrEnumRuleCall();
+                      	    
+                    }
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:208:3: ( (lv_resources_8_0= ruleEntityMockResources ) )?
+            int alt5=2;
+            int LA5_0 = input.LA(1);
+
+            if ( (LA5_0==23) ) {
+                alt5=1;
+            }
+            switch (alt5) {
+                case 1 :
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:209:1: (lv_resources_8_0= ruleEntityMockResources )
+                    {
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:209:1: (lv_resources_8_0= ruleEntityMockResources )
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:210:3: lv_resources_8_0= ruleEntityMockResources
+                    {
+                    if ( state.backtracking==0 ) {
+                       
+                      	        newCompositeNode(grammarAccess.getEntityMockPackageAccess().getResourcesEntityMockResourcesParserRuleCall_6_0()); 
+                      	    
+                    }
+                    pushFollow(FOLLOW_ruleEntityMockResources_in_ruleEntityMockPackage362);
+                    lv_resources_8_0=ruleEntityMockResources();
+
+                    state._fsp--;
+                    if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                      	        if (current==null) {
+                      	            current = createModelElementForParent(grammarAccess.getEntityMockPackageRule());
+                      	        }
+                             		set(
+                             			current, 
+                             			"resources",
+                              		lv_resources_8_0, 
+                              		"EntityMockResources");
+                      	        afterParserOrEnumRuleCall();
+                      	    
+                    }
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:226:3: ( (lv_objects_9_0= ruleEntityMockObjects ) )?
+            int alt6=2;
+            int LA6_0 = input.LA(1);
+
+            if ( (LA6_0==30) ) {
+                alt6=1;
+            }
+            switch (alt6) {
+                case 1 :
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:227:1: (lv_objects_9_0= ruleEntityMockObjects )
+                    {
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:227:1: (lv_objects_9_0= ruleEntityMockObjects )
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:228:3: lv_objects_9_0= ruleEntityMockObjects
+                    {
+                    if ( state.backtracking==0 ) {
+                       
+                      	        newCompositeNode(grammarAccess.getEntityMockPackageAccess().getObjectsEntityMockObjectsParserRuleCall_7_0()); 
+                      	    
+                    }
+                    pushFollow(FOLLOW_ruleEntityMockObjects_in_ruleEntityMockPackage384);
+                    lv_objects_9_0=ruleEntityMockObjects();
+
+                    state._fsp--;
+                    if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                      	        if (current==null) {
+                      	            current = createModelElementForParent(grammarAccess.getEntityMockPackageRule());
+                      	        }
+                             		set(
+                             			current, 
+                             			"objects",
+                              		lv_objects_9_0, 
+                              		"EntityMockObjects");
+                      	        afterParserOrEnumRuleCall();
+                      	    
+                    }
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:244:3: ( (lv_datatypes_10_0= ruleEntityMockDataTypes ) )?
+            int alt7=2;
+            int LA7_0 = input.LA(1);
+
+            if ( (LA7_0==34) ) {
+                alt7=1;
+            }
+            switch (alt7) {
+                case 1 :
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:245:1: (lv_datatypes_10_0= ruleEntityMockDataTypes )
+                    {
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:245:1: (lv_datatypes_10_0= ruleEntityMockDataTypes )
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:246:3: lv_datatypes_10_0= ruleEntityMockDataTypes
+                    {
+                    if ( state.backtracking==0 ) {
+                       
+                      	        newCompositeNode(grammarAccess.getEntityMockPackageAccess().getDatatypesEntityMockDataTypesParserRuleCall_8_0()); 
+                      	    
+                    }
+                    pushFollow(FOLLOW_ruleEntityMockDataTypes_in_ruleEntityMockPackage406);
+                    lv_datatypes_10_0=ruleEntityMockDataTypes();
+
+                    state._fsp--;
+                    if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                      	        if (current==null) {
+                      	            current = createModelElementForParent(grammarAccess.getEntityMockPackageRule());
+                      	        }
+                             		set(
+                             			current, 
+                             			"datatypes",
+                              		lv_datatypes_10_0, 
+                              		"EntityMockDataTypes");
+                      	        afterParserOrEnumRuleCall();
+                      	    
+                    }
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:262:3: ( (lv_entities_11_0= ruleEntityMockEntities ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:263:1: (lv_entities_11_0= ruleEntityMockEntities )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:263:1: (lv_entities_11_0= ruleEntityMockEntities )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:264:3: lv_entities_11_0= ruleEntityMockEntities
+            {
+            if ( state.backtracking==0 ) {
+               
+              	        newCompositeNode(grammarAccess.getEntityMockPackageAccess().getEntitiesEntityMockEntitiesParserRuleCall_9_0()); 
+              	    
+            }
+            pushFollow(FOLLOW_ruleEntityMockEntities_in_ruleEntityMockPackage428);
+            lv_entities_11_0=ruleEntityMockEntities();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+              	        if (current==null) {
+              	            current = createModelElementForParent(grammarAccess.getEntityMockPackageRule());
+              	        }
+                     		set(
+                     			current, 
+                     			"entities",
+                      		lv_entities_11_0, 
+                      		"EntityMockEntities");
+              	        afterParserOrEnumRuleCall();
+              	    
+            }
+
+            }
+
+
+            }
+
+            otherlv_12=(Token)match(input,17,FOLLOW_17_in_ruleEntityMockPackage440); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_12, grammarAccess.getEntityMockPackageAccess().getRightCurlyBracketKeyword_10());
+                  
+            }
+
+            }
+
+
+            }
+
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleEntityMockPackage"
+
+
+    // $ANTLR start "entryRuleEntityModelImport"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:292:1: entryRuleEntityModelImport returns [EObject current=null] : iv_ruleEntityModelImport= ruleEntityModelImport EOF ;
+    public final EObject entryRuleEntityModelImport() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_ruleEntityModelImport = null;
+
+
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:293:2: (iv_ruleEntityModelImport= ruleEntityModelImport EOF )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:294:2: iv_ruleEntityModelImport= ruleEntityModelImport EOF
+            {
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getEntityModelImportRule()); 
+            }
+            pushFollow(FOLLOW_ruleEntityModelImport_in_entryRuleEntityModelImport476);
+            iv_ruleEntityModelImport=ruleEntityModelImport();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleEntityModelImport; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleEntityModelImport486); if (state.failed) return current;
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleEntityModelImport"
+
+
+    // $ANTLR start "ruleEntityModelImport"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:301:1: ruleEntityModelImport returns [EObject current=null] : ( (lv_importedNamespace_0_0= ruleEntityMockQualifiedNameWithWildCard ) ) ;
+    public final EObject ruleEntityModelImport() throws RecognitionException {
+        EObject current = null;
+
+        AntlrDatatypeRuleToken lv_importedNamespace_0_0 = null;
+
+
+         enterRule(); 
+            
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:304:28: ( ( (lv_importedNamespace_0_0= ruleEntityMockQualifiedNameWithWildCard ) ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:305:1: ( (lv_importedNamespace_0_0= ruleEntityMockQualifiedNameWithWildCard ) )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:305:1: ( (lv_importedNamespace_0_0= ruleEntityMockQualifiedNameWithWildCard ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:306:1: (lv_importedNamespace_0_0= ruleEntityMockQualifiedNameWithWildCard )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:306:1: (lv_importedNamespace_0_0= ruleEntityMockQualifiedNameWithWildCard )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:307:3: lv_importedNamespace_0_0= ruleEntityMockQualifiedNameWithWildCard
+            {
+            if ( state.backtracking==0 ) {
+               
+              	        newCompositeNode(grammarAccess.getEntityModelImportAccess().getImportedNamespaceEntityMockQualifiedNameWithWildCardParserRuleCall_0()); 
+              	    
+            }
+            pushFollow(FOLLOW_ruleEntityMockQualifiedNameWithWildCard_in_ruleEntityModelImport531);
+            lv_importedNamespace_0_0=ruleEntityMockQualifiedNameWithWildCard();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+              	        if (current==null) {
+              	            current = createModelElementForParent(grammarAccess.getEntityModelImportRule());
+              	        }
+                     		set(
+                     			current, 
+                     			"importedNamespace",
+                      		lv_importedNamespace_0_0, 
+                      		"EntityMockQualifiedNameWithWildCard");
+              	        afterParserOrEnumRuleCall();
+              	    
+            }
+
+            }
+
+
+            }
+
+
+            }
+
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleEntityModelImport"
+
+
+    // $ANTLR start "entryRuleEntityMockQualifiedNameWithWildCard"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:331:1: entryRuleEntityMockQualifiedNameWithWildCard returns [String current=null] : iv_ruleEntityMockQualifiedNameWithWildCard= ruleEntityMockQualifiedNameWithWildCard EOF ;
+    public final String entryRuleEntityMockQualifiedNameWithWildCard() throws RecognitionException {
+        String current = null;
+
+        AntlrDatatypeRuleToken iv_ruleEntityMockQualifiedNameWithWildCard = null;
+
+
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:332:2: (iv_ruleEntityMockQualifiedNameWithWildCard= ruleEntityMockQualifiedNameWithWildCard EOF )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:333:2: iv_ruleEntityMockQualifiedNameWithWildCard= ruleEntityMockQualifiedNameWithWildCard EOF
+            {
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getEntityMockQualifiedNameWithWildCardRule()); 
+            }
+            pushFollow(FOLLOW_ruleEntityMockQualifiedNameWithWildCard_in_entryRuleEntityMockQualifiedNameWithWildCard567);
+            iv_ruleEntityMockQualifiedNameWithWildCard=ruleEntityMockQualifiedNameWithWildCard();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleEntityMockQualifiedNameWithWildCard.getText(); 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleEntityMockQualifiedNameWithWildCard578); if (state.failed) return current;
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleEntityMockQualifiedNameWithWildCard"
+
+
+    // $ANTLR start "ruleEntityMockQualifiedNameWithWildCard"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:340:1: ruleEntityMockQualifiedNameWithWildCard returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_QualifiedName_0= ruleQualifiedName (kw= '.' kw= '*' )? ) ;
+    public final AntlrDatatypeRuleToken ruleEntityMockQualifiedNameWithWildCard() throws RecognitionException {
+        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
+
+        Token kw=null;
+        AntlrDatatypeRuleToken this_QualifiedName_0 = null;
+
+
+         enterRule(); 
+            
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:343:28: ( (this_QualifiedName_0= ruleQualifiedName (kw= '.' kw= '*' )? ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:344:1: (this_QualifiedName_0= ruleQualifiedName (kw= '.' kw= '*' )? )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:344:1: (this_QualifiedName_0= ruleQualifiedName (kw= '.' kw= '*' )? )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:345:5: this_QualifiedName_0= ruleQualifiedName (kw= '.' kw= '*' )?
+            {
+            if ( state.backtracking==0 ) {
+               
+                      newCompositeNode(grammarAccess.getEntityMockQualifiedNameWithWildCardAccess().getQualifiedNameParserRuleCall_0()); 
+                  
+            }
+            pushFollow(FOLLOW_ruleQualifiedName_in_ruleEntityMockQualifiedNameWithWildCard625);
+            this_QualifiedName_0=ruleQualifiedName();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+              		current.merge(this_QualifiedName_0);
+                  
+            }
+            if ( state.backtracking==0 ) {
+               
+                      afterParserOrEnumRuleCall();
+                  
+            }
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:355:1: (kw= '.' kw= '*' )?
+            int alt8=2;
+            int LA8_0 = input.LA(1);
+
+            if ( (LA8_0==18) ) {
+                alt8=1;
+            }
+            switch (alt8) {
+                case 1 :
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:356:2: kw= '.' kw= '*'
+                    {
+                    kw=(Token)match(input,18,FOLLOW_18_in_ruleEntityMockQualifiedNameWithWildCard644); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                              current.merge(kw);
+                              newLeafNode(kw, grammarAccess.getEntityMockQualifiedNameWithWildCardAccess().getFullStopKeyword_1_0()); 
+                          
+                    }
+                    kw=(Token)match(input,19,FOLLOW_19_in_ruleEntityMockQualifiedNameWithWildCard657); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                              current.merge(kw);
+                              newLeafNode(kw, grammarAccess.getEntityMockQualifiedNameWithWildCardAccess().getAsteriskKeyword_1_1()); 
+                          
+                    }
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+
+            }
+
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleEntityMockQualifiedNameWithWildCard"
+
+
+    // $ANTLR start "entryRuleRunningDataInterchanges"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:375:1: entryRuleRunningDataInterchanges returns [EObject current=null] : iv_ruleRunningDataInterchanges= ruleRunningDataInterchanges EOF ;
+    public final EObject entryRuleRunningDataInterchanges() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_ruleRunningDataInterchanges = null;
+
+
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:376:2: (iv_ruleRunningDataInterchanges= ruleRunningDataInterchanges EOF )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:377:2: iv_ruleRunningDataInterchanges= ruleRunningDataInterchanges EOF
+            {
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getRunningDataInterchangesRule()); 
+            }
+            pushFollow(FOLLOW_ruleRunningDataInterchanges_in_entryRuleRunningDataInterchanges699);
+            iv_ruleRunningDataInterchanges=ruleRunningDataInterchanges();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleRunningDataInterchanges; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleRunningDataInterchanges709); if (state.failed) return current;
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleRunningDataInterchanges"
+
+
+    // $ANTLR start "ruleRunningDataInterchanges"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:384:1: ruleRunningDataInterchanges returns [EObject current=null] : ( () otherlv_1= 'datainterchanges' otherlv_2= '{' ( (lv_datainterchanges_3_0= ruleRunningDataInterchange ) )* otherlv_4= '}' ) ;
+    public final EObject ruleRunningDataInterchanges() throws RecognitionException {
+        EObject current = null;
+
+        Token otherlv_1=null;
+        Token otherlv_2=null;
+        Token otherlv_4=null;
+        EObject lv_datainterchanges_3_0 = null;
+
+
+         enterRule(); 
+            
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:387:28: ( ( () otherlv_1= 'datainterchanges' otherlv_2= '{' ( (lv_datainterchanges_3_0= ruleRunningDataInterchange ) )* otherlv_4= '}' ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:388:1: ( () otherlv_1= 'datainterchanges' otherlv_2= '{' ( (lv_datainterchanges_3_0= ruleRunningDataInterchange ) )* otherlv_4= '}' )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:388:1: ( () otherlv_1= 'datainterchanges' otherlv_2= '{' ( (lv_datainterchanges_3_0= ruleRunningDataInterchange ) )* otherlv_4= '}' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:388:2: () otherlv_1= 'datainterchanges' otherlv_2= '{' ( (lv_datainterchanges_3_0= ruleRunningDataInterchange ) )* otherlv_4= '}'
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:388:2: ()
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:389:5: 
+            {
+            if ( state.backtracking==0 ) {
+
+                      current = forceCreateModelElement(
+                          grammarAccess.getRunningDataInterchangesAccess().getRunningDataInterchangesAction_0(),
+                          current);
+                  
+            }
+
+            }
+
+            otherlv_1=(Token)match(input,20,FOLLOW_20_in_ruleRunningDataInterchanges755); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_1, grammarAccess.getRunningDataInterchangesAccess().getDatainterchangesKeyword_1());
+                  
+            }
+            otherlv_2=(Token)match(input,14,FOLLOW_14_in_ruleRunningDataInterchanges767); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_2, grammarAccess.getRunningDataInterchangesAccess().getLeftCurlyBracketKeyword_2());
+                  
+            }
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:402:1: ( (lv_datainterchanges_3_0= ruleRunningDataInterchange ) )*
+            loop9:
+            do {
+                int alt9=2;
+                int LA9_0 = input.LA(1);
+
+                if ( (LA9_0==21) ) {
+                    alt9=1;
+                }
+
+
+                switch (alt9) {
+            	case 1 :
+            	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:403:1: (lv_datainterchanges_3_0= ruleRunningDataInterchange )
+            	    {
+            	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:403:1: (lv_datainterchanges_3_0= ruleRunningDataInterchange )
+            	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:404:3: lv_datainterchanges_3_0= ruleRunningDataInterchange
+            	    {
+            	    if ( state.backtracking==0 ) {
+            	       
+            	      	        newCompositeNode(grammarAccess.getRunningDataInterchangesAccess().getDatainterchangesRunningDataInterchangeParserRuleCall_3_0()); 
+            	      	    
+            	    }
+            	    pushFollow(FOLLOW_ruleRunningDataInterchange_in_ruleRunningDataInterchanges788);
+            	    lv_datainterchanges_3_0=ruleRunningDataInterchange();
+
+            	    state._fsp--;
+            	    if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
+
+            	      	        if (current==null) {
+            	      	            current = createModelElementForParent(grammarAccess.getRunningDataInterchangesRule());
+            	      	        }
+            	             		add(
+            	             			current, 
+            	             			"datainterchanges",
+            	              		lv_datainterchanges_3_0, 
+            	              		"RunningDataInterchange");
+            	      	        afterParserOrEnumRuleCall();
+            	      	    
+            	    }
+
+            	    }
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop9;
+                }
+            } while (true);
+
+            otherlv_4=(Token)match(input,17,FOLLOW_17_in_ruleRunningDataInterchanges801); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_4, grammarAccess.getRunningDataInterchangesAccess().getRightCurlyBracketKeyword_4());
+                  
+            }
+
+            }
+
+
+            }
+
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleRunningDataInterchanges"
+
+
+    // $ANTLR start "entryRuleRunningDataInterchange"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:432:1: entryRuleRunningDataInterchange returns [EObject current=null] : iv_ruleRunningDataInterchange= ruleRunningDataInterchange EOF ;
+    public final EObject entryRuleRunningDataInterchange() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_ruleRunningDataInterchange = null;
+
+
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:433:2: (iv_ruleRunningDataInterchange= ruleRunningDataInterchange EOF )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:434:2: iv_ruleRunningDataInterchange= ruleRunningDataInterchange EOF
+            {
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getRunningDataInterchangeRule()); 
+            }
+            pushFollow(FOLLOW_ruleRunningDataInterchange_in_entryRuleRunningDataInterchange837);
+            iv_ruleRunningDataInterchange=ruleRunningDataInterchange();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleRunningDataInterchange; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleRunningDataInterchange847); if (state.failed) return current;
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleRunningDataInterchange"
+
+
+    // $ANTLR start "ruleRunningDataInterchange"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:441:1: ruleRunningDataInterchange returns [EObject current=null] : ( () otherlv_1= 'datainterchange import' ( (otherlv_2= RULE_ID ) ) otherlv_3= 'from file' ( (lv_fileURL_4_0= RULE_STRING ) ) ) ;
+    public final EObject ruleRunningDataInterchange() throws RecognitionException {
+        EObject current = null;
+
+        Token otherlv_1=null;
+        Token otherlv_2=null;
+        Token otherlv_3=null;
+        Token lv_fileURL_4_0=null;
+
+         enterRule(); 
+            
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:444:28: ( ( () otherlv_1= 'datainterchange import' ( (otherlv_2= RULE_ID ) ) otherlv_3= 'from file' ( (lv_fileURL_4_0= RULE_STRING ) ) ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:445:1: ( () otherlv_1= 'datainterchange import' ( (otherlv_2= RULE_ID ) ) otherlv_3= 'from file' ( (lv_fileURL_4_0= RULE_STRING ) ) )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:445:1: ( () otherlv_1= 'datainterchange import' ( (otherlv_2= RULE_ID ) ) otherlv_3= 'from file' ( (lv_fileURL_4_0= RULE_STRING ) ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:445:2: () otherlv_1= 'datainterchange import' ( (otherlv_2= RULE_ID ) ) otherlv_3= 'from file' ( (lv_fileURL_4_0= RULE_STRING ) )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:445:2: ()
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:446:5: 
+            {
+            if ( state.backtracking==0 ) {
+
+                      current = forceCreateModelElement(
+                          grammarAccess.getRunningDataInterchangeAccess().getRunningDataInterchangeAction_0(),
+                          current);
+                  
+            }
+
+            }
+
+            otherlv_1=(Token)match(input,21,FOLLOW_21_in_ruleRunningDataInterchange893); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_1, grammarAccess.getRunningDataInterchangeAccess().getDatainterchangeImportKeyword_1());
+                  
+            }
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:455:1: ( (otherlv_2= RULE_ID ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:456:1: (otherlv_2= RULE_ID )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:456:1: (otherlv_2= RULE_ID )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:457:3: otherlv_2= RULE_ID
+            {
+            if ( state.backtracking==0 ) {
+
+              			if (current==null) {
+              	            current = createModelElement(grammarAccess.getRunningDataInterchangeRule());
+              	        }
+                      
+            }
+            otherlv_2=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleRunningDataInterchange913); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+              		newLeafNode(otherlv_2, grammarAccess.getRunningDataInterchangeAccess().getDatainterchangeRefDataInterchangeCrossReference_2_0()); 
+              	
+            }
+
+            }
+
+
+            }
+
+            otherlv_3=(Token)match(input,22,FOLLOW_22_in_ruleRunningDataInterchange925); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_3, grammarAccess.getRunningDataInterchangeAccess().getFromFileKeyword_3());
+                  
+            }
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:472:1: ( (lv_fileURL_4_0= RULE_STRING ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:473:1: (lv_fileURL_4_0= RULE_STRING )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:473:1: (lv_fileURL_4_0= RULE_STRING )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:474:3: lv_fileURL_4_0= RULE_STRING
+            {
+            lv_fileURL_4_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleRunningDataInterchange942); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+              			newLeafNode(lv_fileURL_4_0, grammarAccess.getRunningDataInterchangeAccess().getFileURLSTRINGTerminalRuleCall_4_0()); 
+              		
+            }
+            if ( state.backtracking==0 ) {
+
+              	        if (current==null) {
+              	            current = createModelElement(grammarAccess.getRunningDataInterchangeRule());
+              	        }
+                     		setWithLastConsumed(
+                     			current, 
+                     			"fileURL",
+                      		lv_fileURL_4_0, 
+                      		"STRING");
+              	    
+            }
+
+            }
+
+
+            }
+
+
+            }
+
+
+            }
+
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleRunningDataInterchange"
+
+
+    // $ANTLR start "entryRuleEntityMockResources"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:498:1: entryRuleEntityMockResources returns [EObject current=null] : iv_ruleEntityMockResources= ruleEntityMockResources EOF ;
+    public final EObject entryRuleEntityMockResources() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_ruleEntityMockResources = null;
+
+
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:499:2: (iv_ruleEntityMockResources= ruleEntityMockResources EOF )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:500:2: iv_ruleEntityMockResources= ruleEntityMockResources EOF
+            {
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getEntityMockResourcesRule()); 
+            }
+            pushFollow(FOLLOW_ruleEntityMockResources_in_entryRuleEntityMockResources983);
+            iv_ruleEntityMockResources=ruleEntityMockResources();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleEntityMockResources; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleEntityMockResources993); if (state.failed) return current;
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleEntityMockResources"
+
+
+    // $ANTLR start "ruleEntityMockResources"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:507:1: ruleEntityMockResources returns [EObject current=null] : ( () otherlv_1= 'resources' otherlv_2= '{' ( (lv_resources_3_0= ruleEntityMockResource ) )* otherlv_4= '}' ) ;
+    public final EObject ruleEntityMockResources() throws RecognitionException {
+        EObject current = null;
+
+        Token otherlv_1=null;
+        Token otherlv_2=null;
+        Token otherlv_4=null;
+        EObject lv_resources_3_0 = null;
+
+
+         enterRule(); 
+            
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:510:28: ( ( () otherlv_1= 'resources' otherlv_2= '{' ( (lv_resources_3_0= ruleEntityMockResource ) )* otherlv_4= '}' ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:511:1: ( () otherlv_1= 'resources' otherlv_2= '{' ( (lv_resources_3_0= ruleEntityMockResource ) )* otherlv_4= '}' )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:511:1: ( () otherlv_1= 'resources' otherlv_2= '{' ( (lv_resources_3_0= ruleEntityMockResource ) )* otherlv_4= '}' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:511:2: () otherlv_1= 'resources' otherlv_2= '{' ( (lv_resources_3_0= ruleEntityMockResource ) )* otherlv_4= '}'
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:511:2: ()
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:512:5: 
+            {
+            if ( state.backtracking==0 ) {
+
+                      current = forceCreateModelElement(
+                          grammarAccess.getEntityMockResourcesAccess().getEntityMockResourcesAction_0(),
+                          current);
+                  
+            }
+
+            }
+
+            otherlv_1=(Token)match(input,23,FOLLOW_23_in_ruleEntityMockResources1039); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_1, grammarAccess.getEntityMockResourcesAccess().getResourcesKeyword_1());
+                  
+            }
+            otherlv_2=(Token)match(input,14,FOLLOW_14_in_ruleEntityMockResources1051); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_2, grammarAccess.getEntityMockResourcesAccess().getLeftCurlyBracketKeyword_2());
+                  
+            }
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:525:1: ( (lv_resources_3_0= ruleEntityMockResource ) )*
+            loop10:
+            do {
+                int alt10=2;
+                int LA10_0 = input.LA(1);
+
+                if ( (LA10_0==24) ) {
+                    alt10=1;
+                }
+
+
+                switch (alt10) {
+            	case 1 :
+            	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:526:1: (lv_resources_3_0= ruleEntityMockResource )
+            	    {
+            	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:526:1: (lv_resources_3_0= ruleEntityMockResource )
+            	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:527:3: lv_resources_3_0= ruleEntityMockResource
+            	    {
+            	    if ( state.backtracking==0 ) {
+            	       
+            	      	        newCompositeNode(grammarAccess.getEntityMockResourcesAccess().getResourcesEntityMockResourceParserRuleCall_3_0()); 
+            	      	    
+            	    }
+            	    pushFollow(FOLLOW_ruleEntityMockResource_in_ruleEntityMockResources1072);
+            	    lv_resources_3_0=ruleEntityMockResource();
+
+            	    state._fsp--;
+            	    if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
+
+            	      	        if (current==null) {
+            	      	            current = createModelElementForParent(grammarAccess.getEntityMockResourcesRule());
+            	      	        }
+            	             		add(
+            	             			current, 
+            	             			"resources",
+            	              		lv_resources_3_0, 
+            	              		"EntityMockResource");
+            	      	        afterParserOrEnumRuleCall();
+            	      	    
+            	    }
+
+            	    }
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop10;
+                }
+            } while (true);
+
+            otherlv_4=(Token)match(input,17,FOLLOW_17_in_ruleEntityMockResources1085); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_4, grammarAccess.getEntityMockResourcesAccess().getRightCurlyBracketKeyword_4());
+                  
+            }
+
+            }
+
+
+            }
+
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleEntityMockResources"
+
+
+    // $ANTLR start "entryRuleEntityMockResource"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:555:1: entryRuleEntityMockResource returns [EObject current=null] : iv_ruleEntityMockResource= ruleEntityMockResource EOF ;
+    public final EObject entryRuleEntityMockResource() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_ruleEntityMockResource = null;
+
+
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:556:2: (iv_ruleEntityMockResource= ruleEntityMockResource EOF )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:557:2: iv_ruleEntityMockResource= ruleEntityMockResource EOF
+            {
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getEntityMockResourceRule()); 
+            }
+            pushFollow(FOLLOW_ruleEntityMockResource_in_entryRuleEntityMockResource1121);
+            iv_ruleEntityMockResource=ruleEntityMockResource();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleEntityMockResource; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleEntityMockResource1131); if (state.failed) return current;
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleEntityMockResource"
+
+
+    // $ANTLR start "ruleEntityMockResource"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:564:1: ruleEntityMockResource returns [EObject current=null] : (otherlv_0= 'resource' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '{' (otherlv_3= 'attributes' otherlv_4= '(' ( ( (lv_attributes_5_0= ruleEntityMockResourceAttribute ) ) (otherlv_6= ',' )? )* otherlv_7= ')' )? otherlv_8= 'items' otherlv_9= '{' ( (lv_datarows_10_0= ruleEntityMockResourceDataRow ) )* otherlv_11= '}' otherlv_12= '}' ) ;
+    public final EObject ruleEntityMockResource() throws RecognitionException {
+        EObject current = null;
+
+        Token otherlv_0=null;
+        Token otherlv_2=null;
+        Token otherlv_3=null;
+        Token otherlv_4=null;
+        Token otherlv_6=null;
+        Token otherlv_7=null;
+        Token otherlv_8=null;
+        Token otherlv_9=null;
+        Token otherlv_11=null;
+        Token otherlv_12=null;
+        AntlrDatatypeRuleToken lv_name_1_0 = null;
+
+        EObject lv_attributes_5_0 = null;
+
+        EObject lv_datarows_10_0 = null;
+
+
+         enterRule(); 
+            
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:567:28: ( (otherlv_0= 'resource' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '{' (otherlv_3= 'attributes' otherlv_4= '(' ( ( (lv_attributes_5_0= ruleEntityMockResourceAttribute ) ) (otherlv_6= ',' )? )* otherlv_7= ')' )? otherlv_8= 'items' otherlv_9= '{' ( (lv_datarows_10_0= ruleEntityMockResourceDataRow ) )* otherlv_11= '}' otherlv_12= '}' ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:568:1: (otherlv_0= 'resource' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '{' (otherlv_3= 'attributes' otherlv_4= '(' ( ( (lv_attributes_5_0= ruleEntityMockResourceAttribute ) ) (otherlv_6= ',' )? )* otherlv_7= ')' )? otherlv_8= 'items' otherlv_9= '{' ( (lv_datarows_10_0= ruleEntityMockResourceDataRow ) )* otherlv_11= '}' otherlv_12= '}' )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:568:1: (otherlv_0= 'resource' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '{' (otherlv_3= 'attributes' otherlv_4= '(' ( ( (lv_attributes_5_0= ruleEntityMockResourceAttribute ) ) (otherlv_6= ',' )? )* otherlv_7= ')' )? otherlv_8= 'items' otherlv_9= '{' ( (lv_datarows_10_0= ruleEntityMockResourceDataRow ) )* otherlv_11= '}' otherlv_12= '}' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:568:3: otherlv_0= 'resource' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '{' (otherlv_3= 'attributes' otherlv_4= '(' ( ( (lv_attributes_5_0= ruleEntityMockResourceAttribute ) ) (otherlv_6= ',' )? )* otherlv_7= ')' )? otherlv_8= 'items' otherlv_9= '{' ( (lv_datarows_10_0= ruleEntityMockResourceDataRow ) )* otherlv_11= '}' otherlv_12= '}'
+            {
+            otherlv_0=(Token)match(input,24,FOLLOW_24_in_ruleEntityMockResource1168); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_0, grammarAccess.getEntityMockResourceAccess().getResourceKeyword_0());
+                  
+            }
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:572:1: ( (lv_name_1_0= ruleQualifiedName ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:573:1: (lv_name_1_0= ruleQualifiedName )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:573:1: (lv_name_1_0= ruleQualifiedName )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:574:3: lv_name_1_0= ruleQualifiedName
+            {
+            if ( state.backtracking==0 ) {
+               
+              	        newCompositeNode(grammarAccess.getEntityMockResourceAccess().getNameQualifiedNameParserRuleCall_1_0()); 
+              	    
+            }
+            pushFollow(FOLLOW_ruleQualifiedName_in_ruleEntityMockResource1189);
+            lv_name_1_0=ruleQualifiedName();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+              	        if (current==null) {
+              	            current = createModelElementForParent(grammarAccess.getEntityMockResourceRule());
+              	        }
+                     		set(
+                     			current, 
+                     			"name",
+                      		lv_name_1_0, 
+                      		"QualifiedName");
+              	        afterParserOrEnumRuleCall();
+              	    
+            }
+
+            }
+
+
+            }
+
+            otherlv_2=(Token)match(input,14,FOLLOW_14_in_ruleEntityMockResource1201); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_2, grammarAccess.getEntityMockResourceAccess().getLeftCurlyBracketKeyword_2());
+                  
+            }
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:594:1: (otherlv_3= 'attributes' otherlv_4= '(' ( ( (lv_attributes_5_0= ruleEntityMockResourceAttribute ) ) (otherlv_6= ',' )? )* otherlv_7= ')' )?
+            int alt13=2;
+            int LA13_0 = input.LA(1);
+
+            if ( (LA13_0==25) ) {
+                alt13=1;
+            }
+            switch (alt13) {
+                case 1 :
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:594:3: otherlv_3= 'attributes' otherlv_4= '(' ( ( (lv_attributes_5_0= ruleEntityMockResourceAttribute ) ) (otherlv_6= ',' )? )* otherlv_7= ')'
+                    {
+                    otherlv_3=(Token)match(input,25,FOLLOW_25_in_ruleEntityMockResource1214); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                          	newLeafNode(otherlv_3, grammarAccess.getEntityMockResourceAccess().getAttributesKeyword_3_0());
+                          
+                    }
+                    otherlv_4=(Token)match(input,26,FOLLOW_26_in_ruleEntityMockResource1226); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                          	newLeafNode(otherlv_4, grammarAccess.getEntityMockResourceAccess().getLeftParenthesisKeyword_3_1());
+                          
+                    }
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:602:1: ( ( (lv_attributes_5_0= ruleEntityMockResourceAttribute ) ) (otherlv_6= ',' )? )*
+                    loop12:
+                    do {
+                        int alt12=2;
+                        int LA12_0 = input.LA(1);
+
+                        if ( (LA12_0==RULE_ID) ) {
+                            alt12=1;
+                        }
+
+
+                        switch (alt12) {
+                    	case 1 :
+                    	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:602:2: ( (lv_attributes_5_0= ruleEntityMockResourceAttribute ) ) (otherlv_6= ',' )?
+                    	    {
+                    	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:602:2: ( (lv_attributes_5_0= ruleEntityMockResourceAttribute ) )
+                    	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:603:1: (lv_attributes_5_0= ruleEntityMockResourceAttribute )
+                    	    {
+                    	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:603:1: (lv_attributes_5_0= ruleEntityMockResourceAttribute )
+                    	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:604:3: lv_attributes_5_0= ruleEntityMockResourceAttribute
+                    	    {
+                    	    if ( state.backtracking==0 ) {
+                    	       
+                    	      	        newCompositeNode(grammarAccess.getEntityMockResourceAccess().getAttributesEntityMockResourceAttributeParserRuleCall_3_2_0_0()); 
+                    	      	    
+                    	    }
+                    	    pushFollow(FOLLOW_ruleEntityMockResourceAttribute_in_ruleEntityMockResource1248);
+                    	    lv_attributes_5_0=ruleEntityMockResourceAttribute();
+
+                    	    state._fsp--;
+                    	    if (state.failed) return current;
+                    	    if ( state.backtracking==0 ) {
+
+                    	      	        if (current==null) {
+                    	      	            current = createModelElementForParent(grammarAccess.getEntityMockResourceRule());
+                    	      	        }
+                    	             		add(
+                    	             			current, 
+                    	             			"attributes",
+                    	              		lv_attributes_5_0, 
+                    	              		"EntityMockResourceAttribute");
+                    	      	        afterParserOrEnumRuleCall();
+                    	      	    
+                    	    }
+
+                    	    }
+
+
+                    	    }
+
+                    	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:620:2: (otherlv_6= ',' )?
+                    	    int alt11=2;
+                    	    int LA11_0 = input.LA(1);
+
+                    	    if ( (LA11_0==27) ) {
+                    	        alt11=1;
+                    	    }
+                    	    switch (alt11) {
+                    	        case 1 :
+                    	            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:620:4: otherlv_6= ','
+                    	            {
+                    	            otherlv_6=(Token)match(input,27,FOLLOW_27_in_ruleEntityMockResource1261); if (state.failed) return current;
+                    	            if ( state.backtracking==0 ) {
+
+                    	                  	newLeafNode(otherlv_6, grammarAccess.getEntityMockResourceAccess().getCommaKeyword_3_2_1());
+                    	                  
+                    	            }
+
+                    	            }
+                    	            break;
+
+                    	    }
+
+
+                    	    }
+                    	    break;
+
+                    	default :
+                    	    break loop12;
+                        }
+                    } while (true);
+
+                    otherlv_7=(Token)match(input,28,FOLLOW_28_in_ruleEntityMockResource1277); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                          	newLeafNode(otherlv_7, grammarAccess.getEntityMockResourceAccess().getRightParenthesisKeyword_3_3());
+                          
+                    }
+
+                    }
+                    break;
+
+            }
+
+            otherlv_8=(Token)match(input,29,FOLLOW_29_in_ruleEntityMockResource1291); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_8, grammarAccess.getEntityMockResourceAccess().getItemsKeyword_4());
+                  
+            }
+            otherlv_9=(Token)match(input,14,FOLLOW_14_in_ruleEntityMockResource1303); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_9, grammarAccess.getEntityMockResourceAccess().getLeftCurlyBracketKeyword_5());
+                  
+            }
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:636:1: ( (lv_datarows_10_0= ruleEntityMockResourceDataRow ) )*
+            loop14:
+            do {
+                int alt14=2;
+                int LA14_0 = input.LA(1);
+
+                if ( (LA14_0==RULE_ID) ) {
+                    alt14=1;
+                }
+
+
+                switch (alt14) {
+            	case 1 :
+            	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:637:1: (lv_datarows_10_0= ruleEntityMockResourceDataRow )
+            	    {
+            	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:637:1: (lv_datarows_10_0= ruleEntityMockResourceDataRow )
+            	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:638:3: lv_datarows_10_0= ruleEntityMockResourceDataRow
+            	    {
+            	    if ( state.backtracking==0 ) {
+            	       
+            	      	        newCompositeNode(grammarAccess.getEntityMockResourceAccess().getDatarowsEntityMockResourceDataRowParserRuleCall_6_0()); 
+            	      	    
+            	    }
+            	    pushFollow(FOLLOW_ruleEntityMockResourceDataRow_in_ruleEntityMockResource1324);
+            	    lv_datarows_10_0=ruleEntityMockResourceDataRow();
+
+            	    state._fsp--;
+            	    if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
+
+            	      	        if (current==null) {
+            	      	            current = createModelElementForParent(grammarAccess.getEntityMockResourceRule());
+            	      	        }
+            	             		add(
+            	             			current, 
+            	             			"datarows",
+            	              		lv_datarows_10_0, 
+            	              		"EntityMockResourceDataRow");
+            	      	        afterParserOrEnumRuleCall();
+            	      	    
+            	    }
+
+            	    }
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop14;
+                }
+            } while (true);
+
+            otherlv_11=(Token)match(input,17,FOLLOW_17_in_ruleEntityMockResource1337); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_11, grammarAccess.getEntityMockResourceAccess().getRightCurlyBracketKeyword_7());
+                  
+            }
+            otherlv_12=(Token)match(input,17,FOLLOW_17_in_ruleEntityMockResource1349); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_12, grammarAccess.getEntityMockResourceAccess().getRightCurlyBracketKeyword_8());
+                  
+            }
+
+            }
+
+
+            }
+
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleEntityMockResource"
+
+
+    // $ANTLR start "entryRuleEntityMockResourceAttribute"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:670:1: entryRuleEntityMockResourceAttribute returns [EObject current=null] : iv_ruleEntityMockResourceAttribute= ruleEntityMockResourceAttribute EOF ;
+    public final EObject entryRuleEntityMockResourceAttribute() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_ruleEntityMockResourceAttribute = null;
+
+
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:671:2: (iv_ruleEntityMockResourceAttribute= ruleEntityMockResourceAttribute EOF )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:672:2: iv_ruleEntityMockResourceAttribute= ruleEntityMockResourceAttribute EOF
+            {
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getEntityMockResourceAttributeRule()); 
+            }
+            pushFollow(FOLLOW_ruleEntityMockResourceAttribute_in_entryRuleEntityMockResourceAttribute1385);
+            iv_ruleEntityMockResourceAttribute=ruleEntityMockResourceAttribute();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleEntityMockResourceAttribute; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleEntityMockResourceAttribute1395); if (state.failed) return current;
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleEntityMockResourceAttribute"
+
+
+    // $ANTLR start "ruleEntityMockResourceAttribute"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:679:1: ruleEntityMockResourceAttribute returns [EObject current=null] : ( () ( (lv_name_1_0= ruleQualifiedName ) ) ) ;
+    public final EObject ruleEntityMockResourceAttribute() throws RecognitionException {
+        EObject current = null;
+
+        AntlrDatatypeRuleToken lv_name_1_0 = null;
+
+
+         enterRule(); 
+            
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:682:28: ( ( () ( (lv_name_1_0= ruleQualifiedName ) ) ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:683:1: ( () ( (lv_name_1_0= ruleQualifiedName ) ) )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:683:1: ( () ( (lv_name_1_0= ruleQualifiedName ) ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:683:2: () ( (lv_name_1_0= ruleQualifiedName ) )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:683:2: ()
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:684:5: 
+            {
+            if ( state.backtracking==0 ) {
+
+                      current = forceCreateModelElement(
+                          grammarAccess.getEntityMockResourceAttributeAccess().getEntityMockResourceAttributeAction_0(),
+                          current);
+                  
+            }
+
+            }
+
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:689:2: ( (lv_name_1_0= ruleQualifiedName ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:690:1: (lv_name_1_0= ruleQualifiedName )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:690:1: (lv_name_1_0= ruleQualifiedName )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:691:3: lv_name_1_0= ruleQualifiedName
+            {
+            if ( state.backtracking==0 ) {
+               
+              	        newCompositeNode(grammarAccess.getEntityMockResourceAttributeAccess().getNameQualifiedNameParserRuleCall_1_0()); 
+              	    
+            }
+            pushFollow(FOLLOW_ruleQualifiedName_in_ruleEntityMockResourceAttribute1450);
+            lv_name_1_0=ruleQualifiedName();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+              	        if (current==null) {
+              	            current = createModelElementForParent(grammarAccess.getEntityMockResourceAttributeRule());
+              	        }
+                     		set(
+                     			current, 
+                     			"name",
+                      		lv_name_1_0, 
+                      		"QualifiedName");
+              	        afterParserOrEnumRuleCall();
+              	    
+            }
+
+            }
+
+
+            }
+
+
+            }
+
+
+            }
+
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleEntityMockResourceAttribute"
+
+
+    // $ANTLR start "entryRuleEntityMockResourceDataRow"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:715:1: entryRuleEntityMockResourceDataRow returns [EObject current=null] : iv_ruleEntityMockResourceDataRow= ruleEntityMockResourceDataRow EOF ;
+    public final EObject entryRuleEntityMockResourceDataRow() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_ruleEntityMockResourceDataRow = null;
+
+
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:716:2: (iv_ruleEntityMockResourceDataRow= ruleEntityMockResourceDataRow EOF )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:717:2: iv_ruleEntityMockResourceDataRow= ruleEntityMockResourceDataRow EOF
+            {
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getEntityMockResourceDataRowRule()); 
+            }
+            pushFollow(FOLLOW_ruleEntityMockResourceDataRow_in_entryRuleEntityMockResourceDataRow1486);
+            iv_ruleEntityMockResourceDataRow=ruleEntityMockResourceDataRow();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleEntityMockResourceDataRow; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleEntityMockResourceDataRow1496); if (state.failed) return current;
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleEntityMockResourceDataRow"
+
+
+    // $ANTLR start "ruleEntityMockResourceDataRow"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:724:1: ruleEntityMockResourceDataRow returns [EObject current=null] : ( () ( (lv_name_1_0= ruleQualifiedName ) ) (otherlv_2= '(' ( ( (lv_values_3_0= RULE_STRING ) ) (otherlv_4= ',' )? )* otherlv_5= ')' )? ) ;
+    public final EObject ruleEntityMockResourceDataRow() throws RecognitionException {
+        EObject current = null;
+
+        Token otherlv_2=null;
+        Token lv_values_3_0=null;
+        Token otherlv_4=null;
+        Token otherlv_5=null;
+        AntlrDatatypeRuleToken lv_name_1_0 = null;
+
+
+         enterRule(); 
+            
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:727:28: ( ( () ( (lv_name_1_0= ruleQualifiedName ) ) (otherlv_2= '(' ( ( (lv_values_3_0= RULE_STRING ) ) (otherlv_4= ',' )? )* otherlv_5= ')' )? ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:728:1: ( () ( (lv_name_1_0= ruleQualifiedName ) ) (otherlv_2= '(' ( ( (lv_values_3_0= RULE_STRING ) ) (otherlv_4= ',' )? )* otherlv_5= ')' )? )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:728:1: ( () ( (lv_name_1_0= ruleQualifiedName ) ) (otherlv_2= '(' ( ( (lv_values_3_0= RULE_STRING ) ) (otherlv_4= ',' )? )* otherlv_5= ')' )? )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:728:2: () ( (lv_name_1_0= ruleQualifiedName ) ) (otherlv_2= '(' ( ( (lv_values_3_0= RULE_STRING ) ) (otherlv_4= ',' )? )* otherlv_5= ')' )?
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:728:2: ()
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:729:5: 
+            {
+            if ( state.backtracking==0 ) {
+
+                      current = forceCreateModelElement(
+                          grammarAccess.getEntityMockResourceDataRowAccess().getEntityMockResourceDataRowAction_0(),
+                          current);
+                  
+            }
+
+            }
+
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:734:2: ( (lv_name_1_0= ruleQualifiedName ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:735:1: (lv_name_1_0= ruleQualifiedName )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:735:1: (lv_name_1_0= ruleQualifiedName )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:736:3: lv_name_1_0= ruleQualifiedName
+            {
+            if ( state.backtracking==0 ) {
+               
+              	        newCompositeNode(grammarAccess.getEntityMockResourceDataRowAccess().getNameQualifiedNameParserRuleCall_1_0()); 
+              	    
+            }
+            pushFollow(FOLLOW_ruleQualifiedName_in_ruleEntityMockResourceDataRow1551);
+            lv_name_1_0=ruleQualifiedName();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+              	        if (current==null) {
+              	            current = createModelElementForParent(grammarAccess.getEntityMockResourceDataRowRule());
+              	        }
+                     		set(
+                     			current, 
+                     			"name",
+                      		lv_name_1_0, 
+                      		"QualifiedName");
+              	        afterParserOrEnumRuleCall();
+              	    
+            }
+
+            }
+
+
+            }
+
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:752:2: (otherlv_2= '(' ( ( (lv_values_3_0= RULE_STRING ) ) (otherlv_4= ',' )? )* otherlv_5= ')' )?
+            int alt17=2;
+            int LA17_0 = input.LA(1);
+
+            if ( (LA17_0==26) ) {
+                alt17=1;
+            }
+            switch (alt17) {
+                case 1 :
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:752:4: otherlv_2= '(' ( ( (lv_values_3_0= RULE_STRING ) ) (otherlv_4= ',' )? )* otherlv_5= ')'
+                    {
+                    otherlv_2=(Token)match(input,26,FOLLOW_26_in_ruleEntityMockResourceDataRow1564); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                          	newLeafNode(otherlv_2, grammarAccess.getEntityMockResourceDataRowAccess().getLeftParenthesisKeyword_2_0());
+                          
+                    }
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:756:1: ( ( (lv_values_3_0= RULE_STRING ) ) (otherlv_4= ',' )? )*
+                    loop16:
+                    do {
+                        int alt16=2;
+                        int LA16_0 = input.LA(1);
+
+                        if ( (LA16_0==RULE_STRING) ) {
+                            alt16=1;
+                        }
+
+
+                        switch (alt16) {
+                    	case 1 :
+                    	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:756:2: ( (lv_values_3_0= RULE_STRING ) ) (otherlv_4= ',' )?
+                    	    {
+                    	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:756:2: ( (lv_values_3_0= RULE_STRING ) )
+                    	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:757:1: (lv_values_3_0= RULE_STRING )
+                    	    {
+                    	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:757:1: (lv_values_3_0= RULE_STRING )
+                    	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:758:3: lv_values_3_0= RULE_STRING
+                    	    {
+                    	    lv_values_3_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleEntityMockResourceDataRow1582); if (state.failed) return current;
+                    	    if ( state.backtracking==0 ) {
+
+                    	      			newLeafNode(lv_values_3_0, grammarAccess.getEntityMockResourceDataRowAccess().getValuesSTRINGTerminalRuleCall_2_1_0_0()); 
+                    	      		
+                    	    }
+                    	    if ( state.backtracking==0 ) {
+
+                    	      	        if (current==null) {
+                    	      	            current = createModelElement(grammarAccess.getEntityMockResourceDataRowRule());
+                    	      	        }
+                    	             		addWithLastConsumed(
+                    	             			current, 
+                    	             			"values",
+                    	              		lv_values_3_0, 
+                    	              		"STRING");
+                    	      	    
+                    	    }
+
+                    	    }
+
+
+                    	    }
+
+                    	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:774:2: (otherlv_4= ',' )?
+                    	    int alt15=2;
+                    	    int LA15_0 = input.LA(1);
+
+                    	    if ( (LA15_0==27) ) {
+                    	        alt15=1;
+                    	    }
+                    	    switch (alt15) {
+                    	        case 1 :
+                    	            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:774:4: otherlv_4= ','
+                    	            {
+                    	            otherlv_4=(Token)match(input,27,FOLLOW_27_in_ruleEntityMockResourceDataRow1600); if (state.failed) return current;
+                    	            if ( state.backtracking==0 ) {
+
+                    	                  	newLeafNode(otherlv_4, grammarAccess.getEntityMockResourceDataRowAccess().getCommaKeyword_2_1_1());
+                    	                  
+                    	            }
+
+                    	            }
+                    	            break;
+
+                    	    }
+
+
+                    	    }
+                    	    break;
+
+                    	default :
+                    	    break loop16;
+                        }
+                    } while (true);
+
+                    otherlv_5=(Token)match(input,28,FOLLOW_28_in_ruleEntityMockResourceDataRow1616); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                          	newLeafNode(otherlv_5, grammarAccess.getEntityMockResourceDataRowAccess().getRightParenthesisKeyword_2_2());
+                          
+                    }
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+
+            }
+
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleEntityMockResourceDataRow"
+
+
+    // $ANTLR start "entryRuleEntityMockObjects"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:790:1: entryRuleEntityMockObjects returns [EObject current=null] : iv_ruleEntityMockObjects= ruleEntityMockObjects EOF ;
+    public final EObject entryRuleEntityMockObjects() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_ruleEntityMockObjects = null;
+
+
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:791:2: (iv_ruleEntityMockObjects= ruleEntityMockObjects EOF )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:792:2: iv_ruleEntityMockObjects= ruleEntityMockObjects EOF
+            {
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getEntityMockObjectsRule()); 
+            }
+            pushFollow(FOLLOW_ruleEntityMockObjects_in_entryRuleEntityMockObjects1654);
+            iv_ruleEntityMockObjects=ruleEntityMockObjects();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleEntityMockObjects; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleEntityMockObjects1664); if (state.failed) return current;
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleEntityMockObjects"
+
+
+    // $ANTLR start "ruleEntityMockObjects"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:799:1: ruleEntityMockObjects returns [EObject current=null] : ( () otherlv_1= 'objects' otherlv_2= '{' ( (lv_objects_3_0= ruleEntityMockObject ) )* otherlv_4= '}' ) ;
+    public final EObject ruleEntityMockObjects() throws RecognitionException {
+        EObject current = null;
+
+        Token otherlv_1=null;
+        Token otherlv_2=null;
+        Token otherlv_4=null;
+        EObject lv_objects_3_0 = null;
+
+
+         enterRule(); 
+            
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:802:28: ( ( () otherlv_1= 'objects' otherlv_2= '{' ( (lv_objects_3_0= ruleEntityMockObject ) )* otherlv_4= '}' ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:803:1: ( () otherlv_1= 'objects' otherlv_2= '{' ( (lv_objects_3_0= ruleEntityMockObject ) )* otherlv_4= '}' )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:803:1: ( () otherlv_1= 'objects' otherlv_2= '{' ( (lv_objects_3_0= ruleEntityMockObject ) )* otherlv_4= '}' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:803:2: () otherlv_1= 'objects' otherlv_2= '{' ( (lv_objects_3_0= ruleEntityMockObject ) )* otherlv_4= '}'
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:803:2: ()
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:804:5: 
+            {
+            if ( state.backtracking==0 ) {
+
+                      current = forceCreateModelElement(
+                          grammarAccess.getEntityMockObjectsAccess().getEntityMockObjectsAction_0(),
+                          current);
+                  
+            }
+
+            }
+
+            otherlv_1=(Token)match(input,30,FOLLOW_30_in_ruleEntityMockObjects1710); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_1, grammarAccess.getEntityMockObjectsAccess().getObjectsKeyword_1());
+                  
+            }
+            otherlv_2=(Token)match(input,14,FOLLOW_14_in_ruleEntityMockObjects1722); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_2, grammarAccess.getEntityMockObjectsAccess().getLeftCurlyBracketKeyword_2());
+                  
+            }
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:817:1: ( (lv_objects_3_0= ruleEntityMockObject ) )*
+            loop18:
+            do {
+                int alt18=2;
+                int LA18_0 = input.LA(1);
+
+                if ( (LA18_0==31) ) {
+                    alt18=1;
+                }
+
+
+                switch (alt18) {
+            	case 1 :
+            	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:818:1: (lv_objects_3_0= ruleEntityMockObject )
+            	    {
+            	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:818:1: (lv_objects_3_0= ruleEntityMockObject )
+            	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:819:3: lv_objects_3_0= ruleEntityMockObject
+            	    {
+            	    if ( state.backtracking==0 ) {
+            	       
+            	      	        newCompositeNode(grammarAccess.getEntityMockObjectsAccess().getObjectsEntityMockObjectParserRuleCall_3_0()); 
+            	      	    
+            	    }
+            	    pushFollow(FOLLOW_ruleEntityMockObject_in_ruleEntityMockObjects1743);
+            	    lv_objects_3_0=ruleEntityMockObject();
+
+            	    state._fsp--;
+            	    if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
+
+            	      	        if (current==null) {
+            	      	            current = createModelElementForParent(grammarAccess.getEntityMockObjectsRule());
+            	      	        }
+            	             		add(
+            	             			current, 
+            	             			"objects",
+            	              		lv_objects_3_0, 
+            	              		"EntityMockObject");
+            	      	        afterParserOrEnumRuleCall();
+            	      	    
+            	    }
+
+            	    }
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop18;
+                }
+            } while (true);
+
+            otherlv_4=(Token)match(input,17,FOLLOW_17_in_ruleEntityMockObjects1756); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_4, grammarAccess.getEntityMockObjectsAccess().getRightCurlyBracketKeyword_4());
+                  
+            }
+
+            }
+
+
+            }
+
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleEntityMockObjects"
+
+
+    // $ANTLR start "entryRuleEntityMockObject"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:847:1: entryRuleEntityMockObject returns [EObject current=null] : iv_ruleEntityMockObject= ruleEntityMockObject EOF ;
+    public final EObject entryRuleEntityMockObject() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_ruleEntityMockObject = null;
+
+
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:848:2: (iv_ruleEntityMockObject= ruleEntityMockObject EOF )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:849:2: iv_ruleEntityMockObject= ruleEntityMockObject EOF
+            {
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getEntityMockObjectRule()); 
+            }
+            pushFollow(FOLLOW_ruleEntityMockObject_in_entryRuleEntityMockObject1792);
+            iv_ruleEntityMockObject=ruleEntityMockObject();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleEntityMockObject; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleEntityMockObject1802); if (state.failed) return current;
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleEntityMockObject"
+
+
+    // $ANTLR start "ruleEntityMockObject"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:856:1: ruleEntityMockObject returns [EObject current=null] : (otherlv_0= 'object' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '{' ( (lv_enumerations_3_0= ruleEntityMockObjectEnum ) )* ( (lv_attributes_4_0= ruleIEntityMockObjectAttribute ) )* ( (lv_calculations_5_0= ruleEntityMockObjectFunction ) )* otherlv_6= '}' ) ;
+    public final EObject ruleEntityMockObject() throws RecognitionException {
+        EObject current = null;
+
+        Token otherlv_0=null;
+        Token otherlv_2=null;
+        Token otherlv_6=null;
+        AntlrDatatypeRuleToken lv_name_1_0 = null;
+
+        EObject lv_enumerations_3_0 = null;
+
+        EObject lv_attributes_4_0 = null;
+
+        EObject lv_calculations_5_0 = null;
+
+
+         enterRule(); 
+            
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:859:28: ( (otherlv_0= 'object' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '{' ( (lv_enumerations_3_0= ruleEntityMockObjectEnum ) )* ( (lv_attributes_4_0= ruleIEntityMockObjectAttribute ) )* ( (lv_calculations_5_0= ruleEntityMockObjectFunction ) )* otherlv_6= '}' ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:860:1: (otherlv_0= 'object' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '{' ( (lv_enumerations_3_0= ruleEntityMockObjectEnum ) )* ( (lv_attributes_4_0= ruleIEntityMockObjectAttribute ) )* ( (lv_calculations_5_0= ruleEntityMockObjectFunction ) )* otherlv_6= '}' )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:860:1: (otherlv_0= 'object' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '{' ( (lv_enumerations_3_0= ruleEntityMockObjectEnum ) )* ( (lv_attributes_4_0= ruleIEntityMockObjectAttribute ) )* ( (lv_calculations_5_0= ruleEntityMockObjectFunction ) )* otherlv_6= '}' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:860:3: otherlv_0= 'object' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '{' ( (lv_enumerations_3_0= ruleEntityMockObjectEnum ) )* ( (lv_attributes_4_0= ruleIEntityMockObjectAttribute ) )* ( (lv_calculations_5_0= ruleEntityMockObjectFunction ) )* otherlv_6= '}'
+            {
+            otherlv_0=(Token)match(input,31,FOLLOW_31_in_ruleEntityMockObject1839); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_0, grammarAccess.getEntityMockObjectAccess().getObjectKeyword_0());
+                  
+            }
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:864:1: ( (lv_name_1_0= ruleQualifiedName ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:865:1: (lv_name_1_0= ruleQualifiedName )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:865:1: (lv_name_1_0= ruleQualifiedName )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:866:3: lv_name_1_0= ruleQualifiedName
+            {
+            if ( state.backtracking==0 ) {
+               
+              	        newCompositeNode(grammarAccess.getEntityMockObjectAccess().getNameQualifiedNameParserRuleCall_1_0()); 
+              	    
+            }
+            pushFollow(FOLLOW_ruleQualifiedName_in_ruleEntityMockObject1860);
+            lv_name_1_0=ruleQualifiedName();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+              	        if (current==null) {
+              	            current = createModelElementForParent(grammarAccess.getEntityMockObjectRule());
+              	        }
+                     		set(
+                     			current, 
+                     			"name",
+                      		lv_name_1_0, 
+                      		"QualifiedName");
+              	        afterParserOrEnumRuleCall();
+              	    
+            }
+
+            }
+
+
+            }
+
+            otherlv_2=(Token)match(input,14,FOLLOW_14_in_ruleEntityMockObject1872); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_2, grammarAccess.getEntityMockObjectAccess().getLeftCurlyBracketKeyword_2());
+                  
+            }
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:886:1: ( (lv_enumerations_3_0= ruleEntityMockObjectEnum ) )*
+            loop19:
+            do {
+                int alt19=2;
+                alt19 = dfa19.predict(input);
+                switch (alt19) {
+            	case 1 :
+            	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:887:1: (lv_enumerations_3_0= ruleEntityMockObjectEnum )
+            	    {
+            	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:887:1: (lv_enumerations_3_0= ruleEntityMockObjectEnum )
+            	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:888:3: lv_enumerations_3_0= ruleEntityMockObjectEnum
+            	    {
+            	    if ( state.backtracking==0 ) {
+            	       
+            	      	        newCompositeNode(grammarAccess.getEntityMockObjectAccess().getEnumerationsEntityMockObjectEnumParserRuleCall_3_0()); 
+            	      	    
+            	    }
+            	    pushFollow(FOLLOW_ruleEntityMockObjectEnum_in_ruleEntityMockObject1893);
+            	    lv_enumerations_3_0=ruleEntityMockObjectEnum();
+
+            	    state._fsp--;
+            	    if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
+
+            	      	        if (current==null) {
+            	      	            current = createModelElementForParent(grammarAccess.getEntityMockObjectRule());
+            	      	        }
+            	             		add(
+            	             			current, 
+            	             			"enumerations",
+            	              		lv_enumerations_3_0, 
+            	              		"EntityMockObjectEnum");
+            	      	        afterParserOrEnumRuleCall();
+            	      	    
+            	    }
+
+            	    }
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop19;
+                }
+            } while (true);
+
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:904:3: ( (lv_attributes_4_0= ruleIEntityMockObjectAttribute ) )*
+            loop20:
+            do {
+                int alt20=2;
+                alt20 = dfa20.predict(input);
+                switch (alt20) {
+            	case 1 :
+            	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:905:1: (lv_attributes_4_0= ruleIEntityMockObjectAttribute )
+            	    {
+            	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:905:1: (lv_attributes_4_0= ruleIEntityMockObjectAttribute )
+            	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:906:3: lv_attributes_4_0= ruleIEntityMockObjectAttribute
+            	    {
+            	    if ( state.backtracking==0 ) {
+            	       
+            	      	        newCompositeNode(grammarAccess.getEntityMockObjectAccess().getAttributesIEntityMockObjectAttributeParserRuleCall_4_0()); 
+            	      	    
+            	    }
+            	    pushFollow(FOLLOW_ruleIEntityMockObjectAttribute_in_ruleEntityMockObject1915);
+            	    lv_attributes_4_0=ruleIEntityMockObjectAttribute();
+
+            	    state._fsp--;
+            	    if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
+
+            	      	        if (current==null) {
+            	      	            current = createModelElementForParent(grammarAccess.getEntityMockObjectRule());
+            	      	        }
+            	             		add(
+            	             			current, 
+            	             			"attributes",
+            	              		lv_attributes_4_0, 
+            	              		"IEntityMockObjectAttribute");
+            	      	        afterParserOrEnumRuleCall();
+            	      	    
+            	    }
+
+            	    }
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop20;
+                }
+            } while (true);
+
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:922:3: ( (lv_calculations_5_0= ruleEntityMockObjectFunction ) )*
+            loop21:
+            do {
+                int alt21=2;
+                int LA21_0 = input.LA(1);
+
+                if ( (LA21_0==32) ) {
+                    alt21=1;
+                }
+
+
+                switch (alt21) {
+            	case 1 :
+            	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:923:1: (lv_calculations_5_0= ruleEntityMockObjectFunction )
+            	    {
+            	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:923:1: (lv_calculations_5_0= ruleEntityMockObjectFunction )
+            	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:924:3: lv_calculations_5_0= ruleEntityMockObjectFunction
+            	    {
+            	    if ( state.backtracking==0 ) {
+            	       
+            	      	        newCompositeNode(grammarAccess.getEntityMockObjectAccess().getCalculationsEntityMockObjectFunctionParserRuleCall_5_0()); 
+            	      	    
+            	    }
+            	    pushFollow(FOLLOW_ruleEntityMockObjectFunction_in_ruleEntityMockObject1937);
+            	    lv_calculations_5_0=ruleEntityMockObjectFunction();
+
+            	    state._fsp--;
+            	    if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
+
+            	      	        if (current==null) {
+            	      	            current = createModelElementForParent(grammarAccess.getEntityMockObjectRule());
+            	      	        }
+            	             		add(
+            	             			current, 
+            	             			"calculations",
+            	              		lv_calculations_5_0, 
+            	              		"EntityMockObjectFunction");
+            	      	        afterParserOrEnumRuleCall();
+            	      	    
+            	    }
+
+            	    }
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop21;
+                }
+            } while (true);
+
+            otherlv_6=(Token)match(input,17,FOLLOW_17_in_ruleEntityMockObject1950); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_6, grammarAccess.getEntityMockObjectAccess().getRightCurlyBracketKeyword_6());
+                  
+            }
+
+            }
+
+
+            }
+
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleEntityMockObject"
+
+
+    // $ANTLR start "entryRuleEntityMockObjectEnum"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:952:1: entryRuleEntityMockObjectEnum returns [EObject current=null] : iv_ruleEntityMockObjectEnum= ruleEntityMockObjectEnum EOF ;
+    public final EObject entryRuleEntityMockObjectEnum() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_ruleEntityMockObjectEnum = null;
+
+
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:953:2: (iv_ruleEntityMockObjectEnum= ruleEntityMockObjectEnum EOF )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:954:2: iv_ruleEntityMockObjectEnum= ruleEntityMockObjectEnum EOF
+            {
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getEntityMockObjectEnumRule()); 
+            }
+            pushFollow(FOLLOW_ruleEntityMockObjectEnum_in_entryRuleEntityMockObjectEnum1986);
+            iv_ruleEntityMockObjectEnum=ruleEntityMockObjectEnum();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleEntityMockObjectEnum; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleEntityMockObjectEnum1996); if (state.failed) return current;
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleEntityMockObjectEnum"
+
+
+    // $ANTLR start "ruleEntityMockObjectEnum"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:961:1: ruleEntityMockObjectEnum returns [EObject current=null] : (otherlv_0= 'var' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= 'by enum' ( (otherlv_3= RULE_ID ) ) ) ;
+    public final EObject ruleEntityMockObjectEnum() throws RecognitionException {
+        EObject current = null;
+
+        Token otherlv_0=null;
+        Token otherlv_2=null;
+        Token otherlv_3=null;
+        AntlrDatatypeRuleToken lv_name_1_0 = null;
+
+
+         enterRule(); 
+            
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:964:28: ( (otherlv_0= 'var' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= 'by enum' ( (otherlv_3= RULE_ID ) ) ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:965:1: (otherlv_0= 'var' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= 'by enum' ( (otherlv_3= RULE_ID ) ) )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:965:1: (otherlv_0= 'var' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= 'by enum' ( (otherlv_3= RULE_ID ) ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:965:3: otherlv_0= 'var' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= 'by enum' ( (otherlv_3= RULE_ID ) )
+            {
+            otherlv_0=(Token)match(input,32,FOLLOW_32_in_ruleEntityMockObjectEnum2033); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_0, grammarAccess.getEntityMockObjectEnumAccess().getVarKeyword_0());
+                  
+            }
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:969:1: ( (lv_name_1_0= ruleQualifiedName ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:970:1: (lv_name_1_0= ruleQualifiedName )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:970:1: (lv_name_1_0= ruleQualifiedName )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:971:3: lv_name_1_0= ruleQualifiedName
+            {
+            if ( state.backtracking==0 ) {
+               
+              	        newCompositeNode(grammarAccess.getEntityMockObjectEnumAccess().getNameQualifiedNameParserRuleCall_1_0()); 
+              	    
+            }
+            pushFollow(FOLLOW_ruleQualifiedName_in_ruleEntityMockObjectEnum2054);
+            lv_name_1_0=ruleQualifiedName();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+              	        if (current==null) {
+              	            current = createModelElementForParent(grammarAccess.getEntityMockObjectEnumRule());
+              	        }
+                     		set(
+                     			current, 
+                     			"name",
+                      		lv_name_1_0, 
+                      		"QualifiedName");
+              	        afterParserOrEnumRuleCall();
+              	    
+            }
+
+            }
+
+
+            }
+
+            otherlv_2=(Token)match(input,33,FOLLOW_33_in_ruleEntityMockObjectEnum2066); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_2, grammarAccess.getEntityMockObjectEnumAccess().getByEnumKeyword_2());
+                  
+            }
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:991:1: ( (otherlv_3= RULE_ID ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:992:1: (otherlv_3= RULE_ID )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:992:1: (otherlv_3= RULE_ID )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:993:3: otherlv_3= RULE_ID
+            {
+            if ( state.backtracking==0 ) {
+
+              			if (current==null) {
+              	            current = createModelElement(grammarAccess.getEntityMockObjectEnumRule());
+              	        }
+                      
+            }
+            otherlv_3=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleEntityMockObjectEnum2086); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+              		newLeafNode(otherlv_3, grammarAccess.getEntityMockObjectEnumAccess().getUsingResourceLEnumCrossReference_3_0()); 
+              	
+            }
+
+            }
+
+
+            }
+
+
+            }
+
+
+            }
+
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleEntityMockObjectEnum"
+
+
+    // $ANTLR start "entryRuleEntityMockDataTypes"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1012:1: entryRuleEntityMockDataTypes returns [EObject current=null] : iv_ruleEntityMockDataTypes= ruleEntityMockDataTypes EOF ;
+    public final EObject entryRuleEntityMockDataTypes() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_ruleEntityMockDataTypes = null;
+
+
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1013:2: (iv_ruleEntityMockDataTypes= ruleEntityMockDataTypes EOF )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1014:2: iv_ruleEntityMockDataTypes= ruleEntityMockDataTypes EOF
+            {
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getEntityMockDataTypesRule()); 
+            }
+            pushFollow(FOLLOW_ruleEntityMockDataTypes_in_entryRuleEntityMockDataTypes2122);
+            iv_ruleEntityMockDataTypes=ruleEntityMockDataTypes();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleEntityMockDataTypes; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleEntityMockDataTypes2132); if (state.failed) return current;
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleEntityMockDataTypes"
+
+
+    // $ANTLR start "ruleEntityMockDataTypes"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1021:1: ruleEntityMockDataTypes returns [EObject current=null] : ( () otherlv_1= 'datatypes' otherlv_2= '{' ( (lv_datatypes_3_0= ruleEntityMockDataType ) )* otherlv_4= '}' ) ;
+    public final EObject ruleEntityMockDataTypes() throws RecognitionException {
+        EObject current = null;
+
+        Token otherlv_1=null;
+        Token otherlv_2=null;
+        Token otherlv_4=null;
+        EObject lv_datatypes_3_0 = null;
+
+
+         enterRule(); 
+            
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1024:28: ( ( () otherlv_1= 'datatypes' otherlv_2= '{' ( (lv_datatypes_3_0= ruleEntityMockDataType ) )* otherlv_4= '}' ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1025:1: ( () otherlv_1= 'datatypes' otherlv_2= '{' ( (lv_datatypes_3_0= ruleEntityMockDataType ) )* otherlv_4= '}' )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1025:1: ( () otherlv_1= 'datatypes' otherlv_2= '{' ( (lv_datatypes_3_0= ruleEntityMockDataType ) )* otherlv_4= '}' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1025:2: () otherlv_1= 'datatypes' otherlv_2= '{' ( (lv_datatypes_3_0= ruleEntityMockDataType ) )* otherlv_4= '}'
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1025:2: ()
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1026:5: 
+            {
+            if ( state.backtracking==0 ) {
+
+                      current = forceCreateModelElement(
+                          grammarAccess.getEntityMockDataTypesAccess().getEntityMockDataTypesAction_0(),
+                          current);
+                  
+            }
+
+            }
+
+            otherlv_1=(Token)match(input,34,FOLLOW_34_in_ruleEntityMockDataTypes2178); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_1, grammarAccess.getEntityMockDataTypesAccess().getDatatypesKeyword_1());
+                  
+            }
+            otherlv_2=(Token)match(input,14,FOLLOW_14_in_ruleEntityMockDataTypes2190); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_2, grammarAccess.getEntityMockDataTypesAccess().getLeftCurlyBracketKeyword_2());
+                  
+            }
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1039:1: ( (lv_datatypes_3_0= ruleEntityMockDataType ) )*
+            loop22:
+            do {
+                int alt22=2;
+                int LA22_0 = input.LA(1);
+
+                if ( (LA22_0==63) ) {
+                    alt22=1;
+                }
+
+
+                switch (alt22) {
+            	case 1 :
+            	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1040:1: (lv_datatypes_3_0= ruleEntityMockDataType )
+            	    {
+            	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1040:1: (lv_datatypes_3_0= ruleEntityMockDataType )
+            	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1041:3: lv_datatypes_3_0= ruleEntityMockDataType
+            	    {
+            	    if ( state.backtracking==0 ) {
+            	       
+            	      	        newCompositeNode(grammarAccess.getEntityMockDataTypesAccess().getDatatypesEntityMockDataTypeParserRuleCall_3_0()); 
+            	      	    
+            	    }
+            	    pushFollow(FOLLOW_ruleEntityMockDataType_in_ruleEntityMockDataTypes2211);
+            	    lv_datatypes_3_0=ruleEntityMockDataType();
+
+            	    state._fsp--;
+            	    if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
+
+            	      	        if (current==null) {
+            	      	            current = createModelElementForParent(grammarAccess.getEntityMockDataTypesRule());
+            	      	        }
+            	             		add(
+            	             			current, 
+            	             			"datatypes",
+            	              		lv_datatypes_3_0, 
+            	              		"EntityMockDataType");
+            	      	        afterParserOrEnumRuleCall();
+            	      	    
+            	    }
+
+            	    }
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop22;
+                }
+            } while (true);
+
+            otherlv_4=(Token)match(input,17,FOLLOW_17_in_ruleEntityMockDataTypes2224); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_4, grammarAccess.getEntityMockDataTypesAccess().getRightCurlyBracketKeyword_4());
+                  
+            }
+
+            }
+
+
+            }
+
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleEntityMockDataTypes"
+
+
+    // $ANTLR start "entryRuleIEntityMockObjectAttribute"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1071:1: entryRuleIEntityMockObjectAttribute returns [EObject current=null] : iv_ruleIEntityMockObjectAttribute= ruleIEntityMockObjectAttribute EOF ;
+    public final EObject entryRuleIEntityMockObjectAttribute() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_ruleIEntityMockObjectAttribute = null;
+
+
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1072:2: (iv_ruleIEntityMockObjectAttribute= ruleIEntityMockObjectAttribute EOF )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1073:2: iv_ruleIEntityMockObjectAttribute= ruleIEntityMockObjectAttribute EOF
+            {
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getIEntityMockObjectAttributeRule()); 
+            }
+            pushFollow(FOLLOW_ruleIEntityMockObjectAttribute_in_entryRuleIEntityMockObjectAttribute2262);
+            iv_ruleIEntityMockObjectAttribute=ruleIEntityMockObjectAttribute();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleIEntityMockObjectAttribute; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleIEntityMockObjectAttribute2272); if (state.failed) return current;
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleIEntityMockObjectAttribute"
+
+
+    // $ANTLR start "ruleIEntityMockObjectAttribute"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1080:1: ruleIEntityMockObjectAttribute returns [EObject current=null] : (this_EntityMockObjectResourceValue_0= ruleEntityMockObjectResourceValue | this_EntityMockObjectPlainValue_1= ruleEntityMockObjectPlainValue | this_EntityMockObjectArrayValue_2= ruleEntityMockObjectArrayValue | this_EntityMockObjectEmbed_3= ruleEntityMockObjectEmbed | this_EntityMockObjectFill_4= ruleEntityMockObjectFill ) ;
+    public final EObject ruleIEntityMockObjectAttribute() throws RecognitionException {
+        EObject current = null;
+
+        EObject this_EntityMockObjectResourceValue_0 = null;
+
+        EObject this_EntityMockObjectPlainValue_1 = null;
+
+        EObject this_EntityMockObjectArrayValue_2 = null;
+
+        EObject this_EntityMockObjectEmbed_3 = null;
+
+        EObject this_EntityMockObjectFill_4 = null;
+
+
+         enterRule(); 
+            
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1083:28: ( (this_EntityMockObjectResourceValue_0= ruleEntityMockObjectResourceValue | this_EntityMockObjectPlainValue_1= ruleEntityMockObjectPlainValue | this_EntityMockObjectArrayValue_2= ruleEntityMockObjectArrayValue | this_EntityMockObjectEmbed_3= ruleEntityMockObjectEmbed | this_EntityMockObjectFill_4= ruleEntityMockObjectFill ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1084:1: (this_EntityMockObjectResourceValue_0= ruleEntityMockObjectResourceValue | this_EntityMockObjectPlainValue_1= ruleEntityMockObjectPlainValue | this_EntityMockObjectArrayValue_2= ruleEntityMockObjectArrayValue | this_EntityMockObjectEmbed_3= ruleEntityMockObjectEmbed | this_EntityMockObjectFill_4= ruleEntityMockObjectFill )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1084:1: (this_EntityMockObjectResourceValue_0= ruleEntityMockObjectResourceValue | this_EntityMockObjectPlainValue_1= ruleEntityMockObjectPlainValue | this_EntityMockObjectArrayValue_2= ruleEntityMockObjectArrayValue | this_EntityMockObjectEmbed_3= ruleEntityMockObjectEmbed | this_EntityMockObjectFill_4= ruleEntityMockObjectFill )
+            int alt23=5;
+            alt23 = dfa23.predict(input);
+            switch (alt23) {
+                case 1 :
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1085:5: this_EntityMockObjectResourceValue_0= ruleEntityMockObjectResourceValue
+                    {
+                    if ( state.backtracking==0 ) {
+                       
+                              newCompositeNode(grammarAccess.getIEntityMockObjectAttributeAccess().getEntityMockObjectResourceValueParserRuleCall_0()); 
+                          
+                    }
+                    pushFollow(FOLLOW_ruleEntityMockObjectResourceValue_in_ruleIEntityMockObjectAttribute2319);
+                    this_EntityMockObjectResourceValue_0=ruleEntityMockObjectResourceValue();
+
+                    state._fsp--;
+                    if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+                       
+                              current = this_EntityMockObjectResourceValue_0; 
+                              afterParserOrEnumRuleCall();
+                          
+                    }
+
+                    }
+                    break;
+                case 2 :
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1095:5: this_EntityMockObjectPlainValue_1= ruleEntityMockObjectPlainValue
+                    {
+                    if ( state.backtracking==0 ) {
+                       
+                              newCompositeNode(grammarAccess.getIEntityMockObjectAttributeAccess().getEntityMockObjectPlainValueParserRuleCall_1()); 
+                          
+                    }
+                    pushFollow(FOLLOW_ruleEntityMockObjectPlainValue_in_ruleIEntityMockObjectAttribute2346);
+                    this_EntityMockObjectPlainValue_1=ruleEntityMockObjectPlainValue();
+
+                    state._fsp--;
+                    if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+                       
+                              current = this_EntityMockObjectPlainValue_1; 
+                              afterParserOrEnumRuleCall();
+                          
+                    }
+
+                    }
+                    break;
+                case 3 :
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1105:5: this_EntityMockObjectArrayValue_2= ruleEntityMockObjectArrayValue
+                    {
+                    if ( state.backtracking==0 ) {
+                       
+                              newCompositeNode(grammarAccess.getIEntityMockObjectAttributeAccess().getEntityMockObjectArrayValueParserRuleCall_2()); 
+                          
+                    }
+                    pushFollow(FOLLOW_ruleEntityMockObjectArrayValue_in_ruleIEntityMockObjectAttribute2373);
+                    this_EntityMockObjectArrayValue_2=ruleEntityMockObjectArrayValue();
+
+                    state._fsp--;
+                    if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+                       
+                              current = this_EntityMockObjectArrayValue_2; 
+                              afterParserOrEnumRuleCall();
+                          
+                    }
+
+                    }
+                    break;
+                case 4 :
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1115:5: this_EntityMockObjectEmbed_3= ruleEntityMockObjectEmbed
+                    {
+                    if ( state.backtracking==0 ) {
+                       
+                              newCompositeNode(grammarAccess.getIEntityMockObjectAttributeAccess().getEntityMockObjectEmbedParserRuleCall_3()); 
+                          
+                    }
+                    pushFollow(FOLLOW_ruleEntityMockObjectEmbed_in_ruleIEntityMockObjectAttribute2400);
+                    this_EntityMockObjectEmbed_3=ruleEntityMockObjectEmbed();
+
+                    state._fsp--;
+                    if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+                       
+                              current = this_EntityMockObjectEmbed_3; 
+                              afterParserOrEnumRuleCall();
+                          
+                    }
+
+                    }
+                    break;
+                case 5 :
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1125:5: this_EntityMockObjectFill_4= ruleEntityMockObjectFill
+                    {
+                    if ( state.backtracking==0 ) {
+                       
+                              newCompositeNode(grammarAccess.getIEntityMockObjectAttributeAccess().getEntityMockObjectFillParserRuleCall_4()); 
+                          
+                    }
+                    pushFollow(FOLLOW_ruleEntityMockObjectFill_in_ruleIEntityMockObjectAttribute2427);
+                    this_EntityMockObjectFill_4=ruleEntityMockObjectFill();
+
+                    state._fsp--;
+                    if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+                       
+                              current = this_EntityMockObjectFill_4; 
+                              afterParserOrEnumRuleCall();
+                          
+                    }
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleIEntityMockObjectAttribute"
+
+
+    // $ANTLR start "entryRuleEntityMockObjectPlainValue"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1141:1: entryRuleEntityMockObjectPlainValue returns [EObject current=null] : iv_ruleEntityMockObjectPlainValue= ruleEntityMockObjectPlainValue EOF ;
+    public final EObject entryRuleEntityMockObjectPlainValue() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_ruleEntityMockObjectPlainValue = null;
+
+
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1142:2: (iv_ruleEntityMockObjectPlainValue= ruleEntityMockObjectPlainValue EOF )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1143:2: iv_ruleEntityMockObjectPlainValue= ruleEntityMockObjectPlainValue EOF
+            {
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getEntityMockObjectPlainValueRule()); 
+            }
+            pushFollow(FOLLOW_ruleEntityMockObjectPlainValue_in_entryRuleEntityMockObjectPlainValue2462);
+            iv_ruleEntityMockObjectPlainValue=ruleEntityMockObjectPlainValue();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleEntityMockObjectPlainValue; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleEntityMockObjectPlainValue2472); if (state.failed) return current;
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleEntityMockObjectPlainValue"
+
+
+    // $ANTLR start "ruleEntityMockObjectPlainValue"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1150:1: ruleEntityMockObjectPlainValue returns [EObject current=null] : (otherlv_0= 'var' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '(' ( ( (lv_values_3_0= RULE_STRING ) ) (otherlv_4= ',' )? )* otherlv_5= ')' ) ;
+    public final EObject ruleEntityMockObjectPlainValue() throws RecognitionException {
+        EObject current = null;
+
+        Token otherlv_0=null;
+        Token otherlv_2=null;
+        Token lv_values_3_0=null;
+        Token otherlv_4=null;
+        Token otherlv_5=null;
+        AntlrDatatypeRuleToken lv_name_1_0 = null;
+
+
+         enterRule(); 
+            
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1153:28: ( (otherlv_0= 'var' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '(' ( ( (lv_values_3_0= RULE_STRING ) ) (otherlv_4= ',' )? )* otherlv_5= ')' ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1154:1: (otherlv_0= 'var' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '(' ( ( (lv_values_3_0= RULE_STRING ) ) (otherlv_4= ',' )? )* otherlv_5= ')' )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1154:1: (otherlv_0= 'var' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '(' ( ( (lv_values_3_0= RULE_STRING ) ) (otherlv_4= ',' )? )* otherlv_5= ')' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1154:3: otherlv_0= 'var' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '(' ( ( (lv_values_3_0= RULE_STRING ) ) (otherlv_4= ',' )? )* otherlv_5= ')'
+            {
+            otherlv_0=(Token)match(input,32,FOLLOW_32_in_ruleEntityMockObjectPlainValue2509); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_0, grammarAccess.getEntityMockObjectPlainValueAccess().getVarKeyword_0());
+                  
+            }
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1158:1: ( (lv_name_1_0= ruleQualifiedName ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1159:1: (lv_name_1_0= ruleQualifiedName )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1159:1: (lv_name_1_0= ruleQualifiedName )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1160:3: lv_name_1_0= ruleQualifiedName
+            {
+            if ( state.backtracking==0 ) {
+               
+              	        newCompositeNode(grammarAccess.getEntityMockObjectPlainValueAccess().getNameQualifiedNameParserRuleCall_1_0()); 
+              	    
+            }
+            pushFollow(FOLLOW_ruleQualifiedName_in_ruleEntityMockObjectPlainValue2530);
+            lv_name_1_0=ruleQualifiedName();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+              	        if (current==null) {
+              	            current = createModelElementForParent(grammarAccess.getEntityMockObjectPlainValueRule());
+              	        }
+                     		set(
+                     			current, 
+                     			"name",
+                      		lv_name_1_0, 
+                      		"QualifiedName");
+              	        afterParserOrEnumRuleCall();
+              	    
+            }
+
+            }
+
+
+            }
+
+            otherlv_2=(Token)match(input,26,FOLLOW_26_in_ruleEntityMockObjectPlainValue2542); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_2, grammarAccess.getEntityMockObjectPlainValueAccess().getLeftParenthesisKeyword_2());
+                  
+            }
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1180:1: ( ( (lv_values_3_0= RULE_STRING ) ) (otherlv_4= ',' )? )*
+            loop25:
+            do {
+                int alt25=2;
+                int LA25_0 = input.LA(1);
+
+                if ( (LA25_0==RULE_STRING) ) {
+                    alt25=1;
+                }
+
+
+                switch (alt25) {
+            	case 1 :
+            	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1180:2: ( (lv_values_3_0= RULE_STRING ) ) (otherlv_4= ',' )?
+            	    {
+            	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1180:2: ( (lv_values_3_0= RULE_STRING ) )
+            	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1181:1: (lv_values_3_0= RULE_STRING )
+            	    {
+            	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1181:1: (lv_values_3_0= RULE_STRING )
+            	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1182:3: lv_values_3_0= RULE_STRING
+            	    {
+            	    lv_values_3_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleEntityMockObjectPlainValue2560); if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
+
+            	      			newLeafNode(lv_values_3_0, grammarAccess.getEntityMockObjectPlainValueAccess().getValuesSTRINGTerminalRuleCall_3_0_0()); 
+            	      		
+            	    }
+            	    if ( state.backtracking==0 ) {
+
+            	      	        if (current==null) {
+            	      	            current = createModelElement(grammarAccess.getEntityMockObjectPlainValueRule());
+            	      	        }
+            	             		addWithLastConsumed(
+            	             			current, 
+            	             			"values",
+            	              		lv_values_3_0, 
+            	              		"STRING");
+            	      	    
+            	    }
+
+            	    }
+
+
+            	    }
+
+            	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1198:2: (otherlv_4= ',' )?
+            	    int alt24=2;
+            	    int LA24_0 = input.LA(1);
+
+            	    if ( (LA24_0==27) ) {
+            	        alt24=1;
+            	    }
+            	    switch (alt24) {
+            	        case 1 :
+            	            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1198:4: otherlv_4= ','
+            	            {
+            	            otherlv_4=(Token)match(input,27,FOLLOW_27_in_ruleEntityMockObjectPlainValue2578); if (state.failed) return current;
+            	            if ( state.backtracking==0 ) {
+
+            	                  	newLeafNode(otherlv_4, grammarAccess.getEntityMockObjectPlainValueAccess().getCommaKeyword_3_1());
+            	                  
+            	            }
+
+            	            }
+            	            break;
+
+            	    }
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop25;
+                }
+            } while (true);
+
+            otherlv_5=(Token)match(input,28,FOLLOW_28_in_ruleEntityMockObjectPlainValue2594); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_5, grammarAccess.getEntityMockObjectPlainValueAccess().getRightParenthesisKeyword_4());
+                  
+            }
+
+            }
+
+
+            }
+
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleEntityMockObjectPlainValue"
+
+
+    // $ANTLR start "entryRuleEntityMockObjectResourceValue"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1214:1: entryRuleEntityMockObjectResourceValue returns [EObject current=null] : iv_ruleEntityMockObjectResourceValue= ruleEntityMockObjectResourceValue EOF ;
+    public final EObject entryRuleEntityMockObjectResourceValue() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_ruleEntityMockObjectResourceValue = null;
+
+
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1215:2: (iv_ruleEntityMockObjectResourceValue= ruleEntityMockObjectResourceValue EOF )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1216:2: iv_ruleEntityMockObjectResourceValue= ruleEntityMockObjectResourceValue EOF
+            {
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getEntityMockObjectResourceValueRule()); 
+            }
+            pushFollow(FOLLOW_ruleEntityMockObjectResourceValue_in_entryRuleEntityMockObjectResourceValue2630);
+            iv_ruleEntityMockObjectResourceValue=ruleEntityMockObjectResourceValue();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleEntityMockObjectResourceValue; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleEntityMockObjectResourceValue2640); if (state.failed) return current;
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleEntityMockObjectResourceValue"
+
+
+    // $ANTLR start "ruleEntityMockObjectResourceValue"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1223:1: ruleEntityMockObjectResourceValue returns [EObject current=null] : (otherlv_0= 'var' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= 'with' ( (otherlv_3= RULE_ID ) ) (otherlv_4= '.' ( (otherlv_5= RULE_ID ) ) )? ) ;
+    public final EObject ruleEntityMockObjectResourceValue() throws RecognitionException {
+        EObject current = null;
+
+        Token otherlv_0=null;
+        Token otherlv_2=null;
+        Token otherlv_3=null;
+        Token otherlv_4=null;
+        Token otherlv_5=null;
+        AntlrDatatypeRuleToken lv_name_1_0 = null;
+
+
+         enterRule(); 
+            
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1226:28: ( (otherlv_0= 'var' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= 'with' ( (otherlv_3= RULE_ID ) ) (otherlv_4= '.' ( (otherlv_5= RULE_ID ) ) )? ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1227:1: (otherlv_0= 'var' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= 'with' ( (otherlv_3= RULE_ID ) ) (otherlv_4= '.' ( (otherlv_5= RULE_ID ) ) )? )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1227:1: (otherlv_0= 'var' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= 'with' ( (otherlv_3= RULE_ID ) ) (otherlv_4= '.' ( (otherlv_5= RULE_ID ) ) )? )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1227:3: otherlv_0= 'var' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= 'with' ( (otherlv_3= RULE_ID ) ) (otherlv_4= '.' ( (otherlv_5= RULE_ID ) ) )?
+            {
+            otherlv_0=(Token)match(input,32,FOLLOW_32_in_ruleEntityMockObjectResourceValue2677); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_0, grammarAccess.getEntityMockObjectResourceValueAccess().getVarKeyword_0());
+                  
+            }
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1231:1: ( (lv_name_1_0= ruleQualifiedName ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1232:1: (lv_name_1_0= ruleQualifiedName )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1232:1: (lv_name_1_0= ruleQualifiedName )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1233:3: lv_name_1_0= ruleQualifiedName
+            {
+            if ( state.backtracking==0 ) {
+               
+              	        newCompositeNode(grammarAccess.getEntityMockObjectResourceValueAccess().getNameQualifiedNameParserRuleCall_1_0()); 
+              	    
+            }
+            pushFollow(FOLLOW_ruleQualifiedName_in_ruleEntityMockObjectResourceValue2698);
+            lv_name_1_0=ruleQualifiedName();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+              	        if (current==null) {
+              	            current = createModelElementForParent(grammarAccess.getEntityMockObjectResourceValueRule());
+              	        }
+                     		set(
+                     			current, 
+                     			"name",
+                      		lv_name_1_0, 
+                      		"QualifiedName");
+              	        afterParserOrEnumRuleCall();
+              	    
+            }
+
+            }
+
+
+            }
+
+            otherlv_2=(Token)match(input,35,FOLLOW_35_in_ruleEntityMockObjectResourceValue2710); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_2, grammarAccess.getEntityMockObjectResourceValueAccess().getWithKeyword_2());
+                  
+            }
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1253:1: ( (otherlv_3= RULE_ID ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1254:1: (otherlv_3= RULE_ID )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1254:1: (otherlv_3= RULE_ID )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1255:3: otherlv_3= RULE_ID
+            {
+            if ( state.backtracking==0 ) {
+
+              			if (current==null) {
+              	            current = createModelElement(grammarAccess.getEntityMockObjectResourceValueRule());
+              	        }
+                      
+            }
+            otherlv_3=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleEntityMockObjectResourceValue2730); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+              		newLeafNode(otherlv_3, grammarAccess.getEntityMockObjectResourceValueAccess().getResourceEnumEntityMockObjectEnumCrossReference_3_0()); 
+              	
+            }
+
+            }
+
+
+            }
+
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1266:2: (otherlv_4= '.' ( (otherlv_5= RULE_ID ) ) )?
+            int alt26=2;
+            int LA26_0 = input.LA(1);
+
+            if ( (LA26_0==18) ) {
+                alt26=1;
+            }
+            switch (alt26) {
+                case 1 :
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1266:4: otherlv_4= '.' ( (otherlv_5= RULE_ID ) )
+                    {
+                    otherlv_4=(Token)match(input,18,FOLLOW_18_in_ruleEntityMockObjectResourceValue2743); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                          	newLeafNode(otherlv_4, grammarAccess.getEntityMockObjectResourceValueAccess().getFullStopKeyword_4_0());
+                          
+                    }
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1270:1: ( (otherlv_5= RULE_ID ) )
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1271:1: (otherlv_5= RULE_ID )
+                    {
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1271:1: (otherlv_5= RULE_ID )
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1272:3: otherlv_5= RULE_ID
+                    {
+                    if ( state.backtracking==0 ) {
+
+                      			if (current==null) {
+                      	            current = createModelElement(grammarAccess.getEntityMockObjectResourceValueRule());
+                      	        }
+                              
+                    }
+                    otherlv_5=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleEntityMockObjectResourceValue2763); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                      		newLeafNode(otherlv_5, grammarAccess.getEntityMockObjectResourceValueAccess().getResourceAttributeEntityMockResourceAttributeCrossReference_4_1_0()); 
+                      	
+                    }
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+
+            }
+
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleEntityMockObjectResourceValue"
+
+
+    // $ANTLR start "entryRuleEntityMockObjectArrayValue"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1291:1: entryRuleEntityMockObjectArrayValue returns [EObject current=null] : iv_ruleEntityMockObjectArrayValue= ruleEntityMockObjectArrayValue EOF ;
+    public final EObject entryRuleEntityMockObjectArrayValue() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_ruleEntityMockObjectArrayValue = null;
+
+
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1292:2: (iv_ruleEntityMockObjectArrayValue= ruleEntityMockObjectArrayValue EOF )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1293:2: iv_ruleEntityMockObjectArrayValue= ruleEntityMockObjectArrayValue EOF
+            {
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getEntityMockObjectArrayValueRule()); 
+            }
+            pushFollow(FOLLOW_ruleEntityMockObjectArrayValue_in_entryRuleEntityMockObjectArrayValue2801);
+            iv_ruleEntityMockObjectArrayValue=ruleEntityMockObjectArrayValue();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleEntityMockObjectArrayValue; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleEntityMockObjectArrayValue2811); if (state.failed) return current;
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleEntityMockObjectArrayValue"
+
+
+    // $ANTLR start "ruleEntityMockObjectArrayValue"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1300:1: ruleEntityMockObjectArrayValue returns [EObject current=null] : (otherlv_0= 'var' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= 'switch on' ( (otherlv_3= RULE_ID ) ) otherlv_4= '{' ( (lv_items_5_0= ruleEntityMockObjectItemValue ) )* otherlv_6= '}' ) ;
+    public final EObject ruleEntityMockObjectArrayValue() throws RecognitionException {
+        EObject current = null;
+
+        Token otherlv_0=null;
+        Token otherlv_2=null;
+        Token otherlv_3=null;
+        Token otherlv_4=null;
+        Token otherlv_6=null;
+        AntlrDatatypeRuleToken lv_name_1_0 = null;
+
+        EObject lv_items_5_0 = null;
+
+
+         enterRule(); 
+            
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1303:28: ( (otherlv_0= 'var' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= 'switch on' ( (otherlv_3= RULE_ID ) ) otherlv_4= '{' ( (lv_items_5_0= ruleEntityMockObjectItemValue ) )* otherlv_6= '}' ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1304:1: (otherlv_0= 'var' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= 'switch on' ( (otherlv_3= RULE_ID ) ) otherlv_4= '{' ( (lv_items_5_0= ruleEntityMockObjectItemValue ) )* otherlv_6= '}' )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1304:1: (otherlv_0= 'var' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= 'switch on' ( (otherlv_3= RULE_ID ) ) otherlv_4= '{' ( (lv_items_5_0= ruleEntityMockObjectItemValue ) )* otherlv_6= '}' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1304:3: otherlv_0= 'var' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= 'switch on' ( (otherlv_3= RULE_ID ) ) otherlv_4= '{' ( (lv_items_5_0= ruleEntityMockObjectItemValue ) )* otherlv_6= '}'
+            {
+            otherlv_0=(Token)match(input,32,FOLLOW_32_in_ruleEntityMockObjectArrayValue2848); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_0, grammarAccess.getEntityMockObjectArrayValueAccess().getVarKeyword_0());
+                  
+            }
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1308:1: ( (lv_name_1_0= ruleQualifiedName ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1309:1: (lv_name_1_0= ruleQualifiedName )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1309:1: (lv_name_1_0= ruleQualifiedName )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1310:3: lv_name_1_0= ruleQualifiedName
+            {
+            if ( state.backtracking==0 ) {
+               
+              	        newCompositeNode(grammarAccess.getEntityMockObjectArrayValueAccess().getNameQualifiedNameParserRuleCall_1_0()); 
+              	    
+            }
+            pushFollow(FOLLOW_ruleQualifiedName_in_ruleEntityMockObjectArrayValue2869);
+            lv_name_1_0=ruleQualifiedName();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+              	        if (current==null) {
+              	            current = createModelElementForParent(grammarAccess.getEntityMockObjectArrayValueRule());
+              	        }
+                     		set(
+                     			current, 
+                     			"name",
+                      		lv_name_1_0, 
+                      		"QualifiedName");
+              	        afterParserOrEnumRuleCall();
+              	    
+            }
+
+            }
+
+
+            }
+
+            otherlv_2=(Token)match(input,36,FOLLOW_36_in_ruleEntityMockObjectArrayValue2881); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_2, grammarAccess.getEntityMockObjectArrayValueAccess().getSwitchOnKeyword_2());
+                  
+            }
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1330:1: ( (otherlv_3= RULE_ID ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1331:1: (otherlv_3= RULE_ID )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1331:1: (otherlv_3= RULE_ID )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1332:3: otherlv_3= RULE_ID
+            {
+            if ( state.backtracking==0 ) {
+
+              			if (current==null) {
+              	            current = createModelElement(grammarAccess.getEntityMockObjectArrayValueRule());
+              	        }
+                      
+            }
+            otherlv_3=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleEntityMockObjectArrayValue2901); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+              		newLeafNode(otherlv_3, grammarAccess.getEntityMockObjectArrayValueAccess().getEnumerationEntityMockObjectEnumCrossReference_3_0()); 
+              	
+            }
+
+            }
+
+
+            }
+
+            otherlv_4=(Token)match(input,14,FOLLOW_14_in_ruleEntityMockObjectArrayValue2913); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_4, grammarAccess.getEntityMockObjectArrayValueAccess().getLeftCurlyBracketKeyword_4());
+                  
+            }
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1347:1: ( (lv_items_5_0= ruleEntityMockObjectItemValue ) )*
+            loop27:
+            do {
+                int alt27=2;
+                int LA27_0 = input.LA(1);
+
+                if ( (LA27_0==37) ) {
+                    alt27=1;
+                }
+
+
+                switch (alt27) {
+            	case 1 :
+            	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1348:1: (lv_items_5_0= ruleEntityMockObjectItemValue )
+            	    {
+            	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1348:1: (lv_items_5_0= ruleEntityMockObjectItemValue )
+            	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1349:3: lv_items_5_0= ruleEntityMockObjectItemValue
+            	    {
+            	    if ( state.backtracking==0 ) {
+            	       
+            	      	        newCompositeNode(grammarAccess.getEntityMockObjectArrayValueAccess().getItemsEntityMockObjectItemValueParserRuleCall_5_0()); 
+            	      	    
+            	    }
+            	    pushFollow(FOLLOW_ruleEntityMockObjectItemValue_in_ruleEntityMockObjectArrayValue2934);
+            	    lv_items_5_0=ruleEntityMockObjectItemValue();
+
+            	    state._fsp--;
+            	    if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
+
+            	      	        if (current==null) {
+            	      	            current = createModelElementForParent(grammarAccess.getEntityMockObjectArrayValueRule());
+            	      	        }
+            	             		add(
+            	             			current, 
+            	             			"items",
+            	              		lv_items_5_0, 
+            	              		"EntityMockObjectItemValue");
+            	      	        afterParserOrEnumRuleCall();
+            	      	    
+            	    }
+
+            	    }
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop27;
+                }
+            } while (true);
+
+            otherlv_6=(Token)match(input,17,FOLLOW_17_in_ruleEntityMockObjectArrayValue2947); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_6, grammarAccess.getEntityMockObjectArrayValueAccess().getRightCurlyBracketKeyword_6());
+                  
+            }
+
+            }
+
+
+            }
+
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleEntityMockObjectArrayValue"
+
+
+    // $ANTLR start "entryRuleEntityMockObjectItemValue"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1377:1: entryRuleEntityMockObjectItemValue returns [EObject current=null] : iv_ruleEntityMockObjectItemValue= ruleEntityMockObjectItemValue EOF ;
+    public final EObject entryRuleEntityMockObjectItemValue() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_ruleEntityMockObjectItemValue = null;
+
+
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1378:2: (iv_ruleEntityMockObjectItemValue= ruleEntityMockObjectItemValue EOF )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1379:2: iv_ruleEntityMockObjectItemValue= ruleEntityMockObjectItemValue EOF
+            {
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getEntityMockObjectItemValueRule()); 
+            }
+            pushFollow(FOLLOW_ruleEntityMockObjectItemValue_in_entryRuleEntityMockObjectItemValue2983);
+            iv_ruleEntityMockObjectItemValue=ruleEntityMockObjectItemValue();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleEntityMockObjectItemValue; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleEntityMockObjectItemValue2993); if (state.failed) return current;
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleEntityMockObjectItemValue"
+
+
+    // $ANTLR start "ruleEntityMockObjectItemValue"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1386:1: ruleEntityMockObjectItemValue returns [EObject current=null] : (otherlv_0= 'when' ( (otherlv_1= RULE_ID ) ) otherlv_2= '(' ( ( (lv_values_3_0= RULE_STRING ) ) (otherlv_4= ',' )? )* otherlv_5= ')' ) ;
+    public final EObject ruleEntityMockObjectItemValue() throws RecognitionException {
+        EObject current = null;
+
+        Token otherlv_0=null;
+        Token otherlv_1=null;
+        Token otherlv_2=null;
+        Token lv_values_3_0=null;
+        Token otherlv_4=null;
+        Token otherlv_5=null;
+
+         enterRule(); 
+            
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1389:28: ( (otherlv_0= 'when' ( (otherlv_1= RULE_ID ) ) otherlv_2= '(' ( ( (lv_values_3_0= RULE_STRING ) ) (otherlv_4= ',' )? )* otherlv_5= ')' ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1390:1: (otherlv_0= 'when' ( (otherlv_1= RULE_ID ) ) otherlv_2= '(' ( ( (lv_values_3_0= RULE_STRING ) ) (otherlv_4= ',' )? )* otherlv_5= ')' )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1390:1: (otherlv_0= 'when' ( (otherlv_1= RULE_ID ) ) otherlv_2= '(' ( ( (lv_values_3_0= RULE_STRING ) ) (otherlv_4= ',' )? )* otherlv_5= ')' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1390:3: otherlv_0= 'when' ( (otherlv_1= RULE_ID ) ) otherlv_2= '(' ( ( (lv_values_3_0= RULE_STRING ) ) (otherlv_4= ',' )? )* otherlv_5= ')'
+            {
+            otherlv_0=(Token)match(input,37,FOLLOW_37_in_ruleEntityMockObjectItemValue3030); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_0, grammarAccess.getEntityMockObjectItemValueAccess().getWhenKeyword_0());
+                  
+            }
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1394:1: ( (otherlv_1= RULE_ID ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1395:1: (otherlv_1= RULE_ID )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1395:1: (otherlv_1= RULE_ID )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1396:3: otherlv_1= RULE_ID
+            {
+            if ( state.backtracking==0 ) {
+
+              			if (current==null) {
+              	            current = createModelElement(grammarAccess.getEntityMockObjectItemValueRule());
+              	        }
+                      
+            }
+            otherlv_1=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleEntityMockObjectItemValue3050); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+              		newLeafNode(otherlv_1, grammarAccess.getEntityMockObjectItemValueAccess().getDatarowLEnumLiteralCrossReference_1_0()); 
+              	
+            }
+
+            }
+
+
+            }
+
+            otherlv_2=(Token)match(input,26,FOLLOW_26_in_ruleEntityMockObjectItemValue3062); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_2, grammarAccess.getEntityMockObjectItemValueAccess().getLeftParenthesisKeyword_2());
+                  
+            }
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1411:1: ( ( (lv_values_3_0= RULE_STRING ) ) (otherlv_4= ',' )? )*
+            loop29:
+            do {
+                int alt29=2;
+                int LA29_0 = input.LA(1);
+
+                if ( (LA29_0==RULE_STRING) ) {
+                    alt29=1;
+                }
+
+
+                switch (alt29) {
+            	case 1 :
+            	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1411:2: ( (lv_values_3_0= RULE_STRING ) ) (otherlv_4= ',' )?
+            	    {
+            	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1411:2: ( (lv_values_3_0= RULE_STRING ) )
+            	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1412:1: (lv_values_3_0= RULE_STRING )
+            	    {
+            	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1412:1: (lv_values_3_0= RULE_STRING )
+            	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1413:3: lv_values_3_0= RULE_STRING
+            	    {
+            	    lv_values_3_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleEntityMockObjectItemValue3080); if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
+
+            	      			newLeafNode(lv_values_3_0, grammarAccess.getEntityMockObjectItemValueAccess().getValuesSTRINGTerminalRuleCall_3_0_0()); 
+            	      		
+            	    }
+            	    if ( state.backtracking==0 ) {
+
+            	      	        if (current==null) {
+            	      	            current = createModelElement(grammarAccess.getEntityMockObjectItemValueRule());
+            	      	        }
+            	             		addWithLastConsumed(
+            	             			current, 
+            	             			"values",
+            	              		lv_values_3_0, 
+            	              		"STRING");
+            	      	    
+            	    }
+
+            	    }
+
+
+            	    }
+
+            	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1429:2: (otherlv_4= ',' )?
+            	    int alt28=2;
+            	    int LA28_0 = input.LA(1);
+
+            	    if ( (LA28_0==27) ) {
+            	        alt28=1;
+            	    }
+            	    switch (alt28) {
+            	        case 1 :
+            	            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1429:4: otherlv_4= ','
+            	            {
+            	            otherlv_4=(Token)match(input,27,FOLLOW_27_in_ruleEntityMockObjectItemValue3098); if (state.failed) return current;
+            	            if ( state.backtracking==0 ) {
+
+            	                  	newLeafNode(otherlv_4, grammarAccess.getEntityMockObjectItemValueAccess().getCommaKeyword_3_1());
+            	                  
+            	            }
+
+            	            }
+            	            break;
+
+            	    }
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop29;
+                }
+            } while (true);
+
+            otherlv_5=(Token)match(input,28,FOLLOW_28_in_ruleEntityMockObjectItemValue3114); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_5, grammarAccess.getEntityMockObjectItemValueAccess().getRightParenthesisKeyword_4());
+                  
+            }
+
+            }
+
+
+            }
+
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleEntityMockObjectItemValue"
+
+
+    // $ANTLR start "entryRuleEntityMockObjectEmbed"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1445:1: entryRuleEntityMockObjectEmbed returns [EObject current=null] : iv_ruleEntityMockObjectEmbed= ruleEntityMockObjectEmbed EOF ;
+    public final EObject entryRuleEntityMockObjectEmbed() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_ruleEntityMockObjectEmbed = null;
+
+
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1446:2: (iv_ruleEntityMockObjectEmbed= ruleEntityMockObjectEmbed EOF )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1447:2: iv_ruleEntityMockObjectEmbed= ruleEntityMockObjectEmbed EOF
+            {
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getEntityMockObjectEmbedRule()); 
+            }
+            pushFollow(FOLLOW_ruleEntityMockObjectEmbed_in_entryRuleEntityMockObjectEmbed3150);
+            iv_ruleEntityMockObjectEmbed=ruleEntityMockObjectEmbed();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleEntityMockObjectEmbed; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleEntityMockObjectEmbed3160); if (state.failed) return current;
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleEntityMockObjectEmbed"
+
+
+    // $ANTLR start "ruleEntityMockObjectEmbed"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1454:1: ruleEntityMockObjectEmbed returns [EObject current=null] : ( () otherlv_1= 'embed' ( (lv_name_2_0= ruleQualifiedName ) ) otherlv_3= 'defined as' ( (otherlv_4= RULE_ID ) ) ) ;
+    public final EObject ruleEntityMockObjectEmbed() throws RecognitionException {
+        EObject current = null;
+
+        Token otherlv_1=null;
+        Token otherlv_3=null;
+        Token otherlv_4=null;
+        AntlrDatatypeRuleToken lv_name_2_0 = null;
+
+
+         enterRule(); 
+            
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1457:28: ( ( () otherlv_1= 'embed' ( (lv_name_2_0= ruleQualifiedName ) ) otherlv_3= 'defined as' ( (otherlv_4= RULE_ID ) ) ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1458:1: ( () otherlv_1= 'embed' ( (lv_name_2_0= ruleQualifiedName ) ) otherlv_3= 'defined as' ( (otherlv_4= RULE_ID ) ) )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1458:1: ( () otherlv_1= 'embed' ( (lv_name_2_0= ruleQualifiedName ) ) otherlv_3= 'defined as' ( (otherlv_4= RULE_ID ) ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1458:2: () otherlv_1= 'embed' ( (lv_name_2_0= ruleQualifiedName ) ) otherlv_3= 'defined as' ( (otherlv_4= RULE_ID ) )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1458:2: ()
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1459:5: 
+            {
+            if ( state.backtracking==0 ) {
+
+                      current = forceCreateModelElement(
+                          grammarAccess.getEntityMockObjectEmbedAccess().getEntityMockObjectEmbedAction_0(),
+                          current);
+                  
+            }
+
+            }
+
+            otherlv_1=(Token)match(input,38,FOLLOW_38_in_ruleEntityMockObjectEmbed3206); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_1, grammarAccess.getEntityMockObjectEmbedAccess().getEmbedKeyword_1());
+                  
+            }
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1468:1: ( (lv_name_2_0= ruleQualifiedName ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1469:1: (lv_name_2_0= ruleQualifiedName )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1469:1: (lv_name_2_0= ruleQualifiedName )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1470:3: lv_name_2_0= ruleQualifiedName
+            {
+            if ( state.backtracking==0 ) {
+               
+              	        newCompositeNode(grammarAccess.getEntityMockObjectEmbedAccess().getNameQualifiedNameParserRuleCall_2_0()); 
+              	    
+            }
+            pushFollow(FOLLOW_ruleQualifiedName_in_ruleEntityMockObjectEmbed3227);
+            lv_name_2_0=ruleQualifiedName();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+              	        if (current==null) {
+              	            current = createModelElementForParent(grammarAccess.getEntityMockObjectEmbedRule());
+              	        }
+                     		set(
+                     			current, 
+                     			"name",
+                      		lv_name_2_0, 
+                      		"QualifiedName");
+              	        afterParserOrEnumRuleCall();
+              	    
+            }
+
+            }
+
+
+            }
+
+            otherlv_3=(Token)match(input,39,FOLLOW_39_in_ruleEntityMockObjectEmbed3239); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_3, grammarAccess.getEntityMockObjectEmbedAccess().getDefinedAsKeyword_3());
+                  
+            }
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1490:1: ( (otherlv_4= RULE_ID ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1491:1: (otherlv_4= RULE_ID )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1491:1: (otherlv_4= RULE_ID )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1492:3: otherlv_4= RULE_ID
+            {
+            if ( state.backtracking==0 ) {
+
+              			if (current==null) {
+              	            current = createModelElement(grammarAccess.getEntityMockObjectEmbedRule());
+              	        }
+                      
+            }
+            otherlv_4=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleEntityMockObjectEmbed3259); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+              		newLeafNode(otherlv_4, grammarAccess.getEntityMockObjectEmbedAccess().getObjectEntityMockObjectCrossReference_4_0()); 
+              	
+            }
+
+            }
+
+
+            }
+
+
+            }
+
+
+            }
+
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleEntityMockObjectEmbed"
+
+
+    // $ANTLR start "entryRuleEntityMockObjectFunction"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1511:1: entryRuleEntityMockObjectFunction returns [EObject current=null] : iv_ruleEntityMockObjectFunction= ruleEntityMockObjectFunction EOF ;
+    public final EObject entryRuleEntityMockObjectFunction() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_ruleEntityMockObjectFunction = null;
+
+
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1512:2: (iv_ruleEntityMockObjectFunction= ruleEntityMockObjectFunction EOF )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1513:2: iv_ruleEntityMockObjectFunction= ruleEntityMockObjectFunction EOF
+            {
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getEntityMockObjectFunctionRule()); 
+            }
+            pushFollow(FOLLOW_ruleEntityMockObjectFunction_in_entryRuleEntityMockObjectFunction3295);
+            iv_ruleEntityMockObjectFunction=ruleEntityMockObjectFunction();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleEntityMockObjectFunction; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleEntityMockObjectFunction3305); if (state.failed) return current;
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleEntityMockObjectFunction"
+
+
+    // $ANTLR start "ruleEntityMockObjectFunction"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1520:1: ruleEntityMockObjectFunction returns [EObject current=null] : (otherlv_0= 'var' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= 'calculate as' ( (lv_oftype_3_0= ruleJvmParameterizedTypeReference ) ) otherlv_4= 'based on' otherlv_5= '(' ( ( (lv_params_6_0= ruleEntityMockObjectFunctionParameter ) ) (otherlv_7= ',' ( (lv_params_8_0= ruleEntityMockObjectFunctionParameter ) ) )* )? otherlv_9= ')' ( (lv_body_10_0= ruleXBlockExpression ) ) ) ;
+    public final EObject ruleEntityMockObjectFunction() throws RecognitionException {
+        EObject current = null;
+
+        Token otherlv_0=null;
+        Token otherlv_2=null;
+        Token otherlv_4=null;
+        Token otherlv_5=null;
+        Token otherlv_7=null;
+        Token otherlv_9=null;
+        AntlrDatatypeRuleToken lv_name_1_0 = null;
+
+        EObject lv_oftype_3_0 = null;
+
+        EObject lv_params_6_0 = null;
+
+        EObject lv_params_8_0 = null;
+
+        EObject lv_body_10_0 = null;
+
+
+         enterRule(); 
+            
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1523:28: ( (otherlv_0= 'var' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= 'calculate as' ( (lv_oftype_3_0= ruleJvmParameterizedTypeReference ) ) otherlv_4= 'based on' otherlv_5= '(' ( ( (lv_params_6_0= ruleEntityMockObjectFunctionParameter ) ) (otherlv_7= ',' ( (lv_params_8_0= ruleEntityMockObjectFunctionParameter ) ) )* )? otherlv_9= ')' ( (lv_body_10_0= ruleXBlockExpression ) ) ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1524:1: (otherlv_0= 'var' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= 'calculate as' ( (lv_oftype_3_0= ruleJvmParameterizedTypeReference ) ) otherlv_4= 'based on' otherlv_5= '(' ( ( (lv_params_6_0= ruleEntityMockObjectFunctionParameter ) ) (otherlv_7= ',' ( (lv_params_8_0= ruleEntityMockObjectFunctionParameter ) ) )* )? otherlv_9= ')' ( (lv_body_10_0= ruleXBlockExpression ) ) )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1524:1: (otherlv_0= 'var' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= 'calculate as' ( (lv_oftype_3_0= ruleJvmParameterizedTypeReference ) ) otherlv_4= 'based on' otherlv_5= '(' ( ( (lv_params_6_0= ruleEntityMockObjectFunctionParameter ) ) (otherlv_7= ',' ( (lv_params_8_0= ruleEntityMockObjectFunctionParameter ) ) )* )? otherlv_9= ')' ( (lv_body_10_0= ruleXBlockExpression ) ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1524:3: otherlv_0= 'var' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= 'calculate as' ( (lv_oftype_3_0= ruleJvmParameterizedTypeReference ) ) otherlv_4= 'based on' otherlv_5= '(' ( ( (lv_params_6_0= ruleEntityMockObjectFunctionParameter ) ) (otherlv_7= ',' ( (lv_params_8_0= ruleEntityMockObjectFunctionParameter ) ) )* )? otherlv_9= ')' ( (lv_body_10_0= ruleXBlockExpression ) )
+            {
+            otherlv_0=(Token)match(input,32,FOLLOW_32_in_ruleEntityMockObjectFunction3342); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_0, grammarAccess.getEntityMockObjectFunctionAccess().getVarKeyword_0());
+                  
+            }
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1528:1: ( (lv_name_1_0= ruleQualifiedName ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1529:1: (lv_name_1_0= ruleQualifiedName )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1529:1: (lv_name_1_0= ruleQualifiedName )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1530:3: lv_name_1_0= ruleQualifiedName
+            {
+            if ( state.backtracking==0 ) {
+               
+              	        newCompositeNode(grammarAccess.getEntityMockObjectFunctionAccess().getNameQualifiedNameParserRuleCall_1_0()); 
+              	    
+            }
+            pushFollow(FOLLOW_ruleQualifiedName_in_ruleEntityMockObjectFunction3363);
+            lv_name_1_0=ruleQualifiedName();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+              	        if (current==null) {
+              	            current = createModelElementForParent(grammarAccess.getEntityMockObjectFunctionRule());
+              	        }
+                     		set(
+                     			current, 
+                     			"name",
+                      		lv_name_1_0, 
+                      		"QualifiedName");
+              	        afterParserOrEnumRuleCall();
+              	    
+            }
+
+            }
+
+
+            }
+
+            otherlv_2=(Token)match(input,40,FOLLOW_40_in_ruleEntityMockObjectFunction3375); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_2, grammarAccess.getEntityMockObjectFunctionAccess().getCalculateAsKeyword_2());
+                  
+            }
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1550:1: ( (lv_oftype_3_0= ruleJvmParameterizedTypeReference ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1551:1: (lv_oftype_3_0= ruleJvmParameterizedTypeReference )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1551:1: (lv_oftype_3_0= ruleJvmParameterizedTypeReference )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1552:3: lv_oftype_3_0= ruleJvmParameterizedTypeReference
+            {
+            if ( state.backtracking==0 ) {
+               
+              	        newCompositeNode(grammarAccess.getEntityMockObjectFunctionAccess().getOftypeJvmParameterizedTypeReferenceParserRuleCall_3_0()); 
+              	    
+            }
+            pushFollow(FOLLOW_ruleJvmParameterizedTypeReference_in_ruleEntityMockObjectFunction3396);
+            lv_oftype_3_0=ruleJvmParameterizedTypeReference();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+              	        if (current==null) {
+              	            current = createModelElementForParent(grammarAccess.getEntityMockObjectFunctionRule());
+              	        }
+                     		set(
+                     			current, 
+                     			"oftype",
+                      		lv_oftype_3_0, 
+                      		"JvmParameterizedTypeReference");
+              	        afterParserOrEnumRuleCall();
+              	    
+            }
+
+            }
+
+
+            }
+
+            otherlv_4=(Token)match(input,41,FOLLOW_41_in_ruleEntityMockObjectFunction3408); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_4, grammarAccess.getEntityMockObjectFunctionAccess().getBasedOnKeyword_4());
+                  
+            }
+            otherlv_5=(Token)match(input,26,FOLLOW_26_in_ruleEntityMockObjectFunction3420); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_5, grammarAccess.getEntityMockObjectFunctionAccess().getLeftParenthesisKeyword_5());
+                  
+            }
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1576:1: ( ( (lv_params_6_0= ruleEntityMockObjectFunctionParameter ) ) (otherlv_7= ',' ( (lv_params_8_0= ruleEntityMockObjectFunctionParameter ) ) )* )?
+            int alt31=2;
+            int LA31_0 = input.LA(1);
+
+            if ( (LA31_0==RULE_ID||LA31_0==26||LA31_0==113) ) {
+                alt31=1;
+            }
+            switch (alt31) {
+                case 1 :
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1576:2: ( (lv_params_6_0= ruleEntityMockObjectFunctionParameter ) ) (otherlv_7= ',' ( (lv_params_8_0= ruleEntityMockObjectFunctionParameter ) ) )*
+                    {
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1576:2: ( (lv_params_6_0= ruleEntityMockObjectFunctionParameter ) )
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1577:1: (lv_params_6_0= ruleEntityMockObjectFunctionParameter )
+                    {
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1577:1: (lv_params_6_0= ruleEntityMockObjectFunctionParameter )
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1578:3: lv_params_6_0= ruleEntityMockObjectFunctionParameter
+                    {
+                    if ( state.backtracking==0 ) {
+                       
+                      	        newCompositeNode(grammarAccess.getEntityMockObjectFunctionAccess().getParamsEntityMockObjectFunctionParameterParserRuleCall_6_0_0()); 
+                      	    
+                    }
+                    pushFollow(FOLLOW_ruleEntityMockObjectFunctionParameter_in_ruleEntityMockObjectFunction3442);
+                    lv_params_6_0=ruleEntityMockObjectFunctionParameter();
+
+                    state._fsp--;
+                    if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                      	        if (current==null) {
+                      	            current = createModelElementForParent(grammarAccess.getEntityMockObjectFunctionRule());
+                      	        }
+                             		add(
+                             			current, 
+                             			"params",
+                              		lv_params_6_0, 
+                              		"EntityMockObjectFunctionParameter");
+                      	        afterParserOrEnumRuleCall();
+                      	    
+                    }
+
+                    }
+
+
+                    }
+
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1594:2: (otherlv_7= ',' ( (lv_params_8_0= ruleEntityMockObjectFunctionParameter ) ) )*
+                    loop30:
+                    do {
+                        int alt30=2;
+                        int LA30_0 = input.LA(1);
+
+                        if ( (LA30_0==27) ) {
+                            alt30=1;
+                        }
+
+
+                        switch (alt30) {
+                    	case 1 :
+                    	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1594:4: otherlv_7= ',' ( (lv_params_8_0= ruleEntityMockObjectFunctionParameter ) )
+                    	    {
+                    	    otherlv_7=(Token)match(input,27,FOLLOW_27_in_ruleEntityMockObjectFunction3455); if (state.failed) return current;
+                    	    if ( state.backtracking==0 ) {
+
+                    	          	newLeafNode(otherlv_7, grammarAccess.getEntityMockObjectFunctionAccess().getCommaKeyword_6_1_0());
+                    	          
+                    	    }
+                    	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1598:1: ( (lv_params_8_0= ruleEntityMockObjectFunctionParameter ) )
+                    	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1599:1: (lv_params_8_0= ruleEntityMockObjectFunctionParameter )
+                    	    {
+                    	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1599:1: (lv_params_8_0= ruleEntityMockObjectFunctionParameter )
+                    	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1600:3: lv_params_8_0= ruleEntityMockObjectFunctionParameter
+                    	    {
+                    	    if ( state.backtracking==0 ) {
+                    	       
+                    	      	        newCompositeNode(grammarAccess.getEntityMockObjectFunctionAccess().getParamsEntityMockObjectFunctionParameterParserRuleCall_6_1_1_0()); 
+                    	      	    
+                    	    }
+                    	    pushFollow(FOLLOW_ruleEntityMockObjectFunctionParameter_in_ruleEntityMockObjectFunction3476);
+                    	    lv_params_8_0=ruleEntityMockObjectFunctionParameter();
+
+                    	    state._fsp--;
+                    	    if (state.failed) return current;
+                    	    if ( state.backtracking==0 ) {
+
+                    	      	        if (current==null) {
+                    	      	            current = createModelElementForParent(grammarAccess.getEntityMockObjectFunctionRule());
+                    	      	        }
+                    	             		add(
+                    	             			current, 
+                    	             			"params",
+                    	              		lv_params_8_0, 
+                    	              		"EntityMockObjectFunctionParameter");
+                    	      	        afterParserOrEnumRuleCall();
+                    	      	    
+                    	    }
+
+                    	    }
+
+
+                    	    }
+
+
+                    	    }
+                    	    break;
+
+                    	default :
+                    	    break loop30;
+                        }
+                    } while (true);
+
+
+                    }
+                    break;
+
+            }
+
+            otherlv_9=(Token)match(input,28,FOLLOW_28_in_ruleEntityMockObjectFunction3492); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_9, grammarAccess.getEntityMockObjectFunctionAccess().getRightParenthesisKeyword_7());
+                  
+            }
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1620:1: ( (lv_body_10_0= ruleXBlockExpression ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1621:1: (lv_body_10_0= ruleXBlockExpression )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1621:1: (lv_body_10_0= ruleXBlockExpression )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1622:3: lv_body_10_0= ruleXBlockExpression
+            {
+            if ( state.backtracking==0 ) {
+               
+              	        newCompositeNode(grammarAccess.getEntityMockObjectFunctionAccess().getBodyXBlockExpressionParserRuleCall_8_0()); 
+              	    
+            }
+            pushFollow(FOLLOW_ruleXBlockExpression_in_ruleEntityMockObjectFunction3513);
+            lv_body_10_0=ruleXBlockExpression();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+              	        if (current==null) {
+              	            current = createModelElementForParent(grammarAccess.getEntityMockObjectFunctionRule());
+              	        }
+                     		set(
+                     			current, 
+                     			"body",
+                      		lv_body_10_0, 
+                      		"XBlockExpression");
+              	        afterParserOrEnumRuleCall();
+              	    
+            }
+
+            }
+
+
+            }
+
+
+            }
+
+
+            }
+
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleEntityMockObjectFunction"
+
+
+    // $ANTLR start "entryRuleEntityMockObjectFunctionParameter"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1646:1: entryRuleEntityMockObjectFunctionParameter returns [EObject current=null] : iv_ruleEntityMockObjectFunctionParameter= ruleEntityMockObjectFunctionParameter EOF ;
+    public final EObject entryRuleEntityMockObjectFunctionParameter() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_ruleEntityMockObjectFunctionParameter = null;
+
+
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1647:2: (iv_ruleEntityMockObjectFunctionParameter= ruleEntityMockObjectFunctionParameter EOF )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1648:2: iv_ruleEntityMockObjectFunctionParameter= ruleEntityMockObjectFunctionParameter EOF
+            {
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getEntityMockObjectFunctionParameterRule()); 
+            }
+            pushFollow(FOLLOW_ruleEntityMockObjectFunctionParameter_in_entryRuleEntityMockObjectFunctionParameter3549);
+            iv_ruleEntityMockObjectFunctionParameter=ruleEntityMockObjectFunctionParameter();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleEntityMockObjectFunctionParameter; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleEntityMockObjectFunctionParameter3559); if (state.failed) return current;
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleEntityMockObjectFunctionParameter"
+
+
+    // $ANTLR start "ruleEntityMockObjectFunctionParameter"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1655:1: ruleEntityMockObjectFunctionParameter returns [EObject current=null] : ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) ( (otherlv_1= RULE_ID ) ) ) ;
+    public final EObject ruleEntityMockObjectFunctionParameter() throws RecognitionException {
+        EObject current = null;
+
+        Token otherlv_1=null;
+        EObject lv_parameterType_0_0 = null;
+
+
+         enterRule(); 
+            
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1658:28: ( ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) ( (otherlv_1= RULE_ID ) ) ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1659:1: ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) ( (otherlv_1= RULE_ID ) ) )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1659:1: ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) ( (otherlv_1= RULE_ID ) ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1659:2: ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) ( (otherlv_1= RULE_ID ) )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1659:2: ( (lv_parameterType_0_0= ruleJvmTypeReference ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1660:1: (lv_parameterType_0_0= ruleJvmTypeReference )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1660:1: (lv_parameterType_0_0= ruleJvmTypeReference )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1661:3: lv_parameterType_0_0= ruleJvmTypeReference
+            {
+            if ( state.backtracking==0 ) {
+               
+              	        newCompositeNode(grammarAccess.getEntityMockObjectFunctionParameterAccess().getParameterTypeJvmTypeReferenceParserRuleCall_0_0()); 
+              	    
+            }
+            pushFollow(FOLLOW_ruleJvmTypeReference_in_ruleEntityMockObjectFunctionParameter3605);
+            lv_parameterType_0_0=ruleJvmTypeReference();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+              	        if (current==null) {
+              	            current = createModelElementForParent(grammarAccess.getEntityMockObjectFunctionParameterRule());
+              	        }
+                     		set(
+                     			current, 
+                     			"parameterType",
+                      		lv_parameterType_0_0, 
+                      		"JvmTypeReference");
+              	        afterParserOrEnumRuleCall();
+              	    
+            }
+
+            }
+
+
+            }
+
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1677:2: ( (otherlv_1= RULE_ID ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1678:1: (otherlv_1= RULE_ID )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1678:1: (otherlv_1= RULE_ID )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1679:3: otherlv_1= RULE_ID
+            {
+            if ( state.backtracking==0 ) {
+
+              			if (current==null) {
+              	            current = createModelElement(grammarAccess.getEntityMockObjectFunctionParameterRule());
+              	        }
+                      
+            }
+            otherlv_1=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleEntityMockObjectFunctionParameter3625); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+              		newLeafNode(otherlv_1, grammarAccess.getEntityMockObjectFunctionParameterAccess().getNameIEntityMockObjectUsableCrossReference_1_0()); 
+              	
+            }
+
+            }
+
+
+            }
+
+
+            }
+
+
+            }
+
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleEntityMockObjectFunctionParameter"
+
+
+    // $ANTLR start "entryRuleEntityMockObjectFill"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1698:1: entryRuleEntityMockObjectFill returns [EObject current=null] : iv_ruleEntityMockObjectFill= ruleEntityMockObjectFill EOF ;
+    public final EObject entryRuleEntityMockObjectFill() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_ruleEntityMockObjectFill = null;
+
+
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1699:2: (iv_ruleEntityMockObjectFill= ruleEntityMockObjectFill EOF )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1700:2: iv_ruleEntityMockObjectFill= ruleEntityMockObjectFill EOF
+            {
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getEntityMockObjectFillRule()); 
+            }
+            pushFollow(FOLLOW_ruleEntityMockObjectFill_in_entryRuleEntityMockObjectFill3661);
+            iv_ruleEntityMockObjectFill=ruleEntityMockObjectFill();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleEntityMockObjectFill; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleEntityMockObjectFill3671); if (state.failed) return current;
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleEntityMockObjectFill"
+
+
+    // $ANTLR start "ruleEntityMockObjectFill"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1707:1: ruleEntityMockObjectFill returns [EObject current=null] : (otherlv_0= 'var' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= 'randomize' ( (lv_fillerType_3_0= rulePropertyFillerType ) ) ) ;
+    public final EObject ruleEntityMockObjectFill() throws RecognitionException {
+        EObject current = null;
+
+        Token otherlv_0=null;
+        Token otherlv_2=null;
+        AntlrDatatypeRuleToken lv_name_1_0 = null;
+
+        EObject lv_fillerType_3_0 = null;
+
+
+         enterRule(); 
+            
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1710:28: ( (otherlv_0= 'var' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= 'randomize' ( (lv_fillerType_3_0= rulePropertyFillerType ) ) ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1711:1: (otherlv_0= 'var' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= 'randomize' ( (lv_fillerType_3_0= rulePropertyFillerType ) ) )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1711:1: (otherlv_0= 'var' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= 'randomize' ( (lv_fillerType_3_0= rulePropertyFillerType ) ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1711:3: otherlv_0= 'var' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= 'randomize' ( (lv_fillerType_3_0= rulePropertyFillerType ) )
+            {
+            otherlv_0=(Token)match(input,32,FOLLOW_32_in_ruleEntityMockObjectFill3708); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_0, grammarAccess.getEntityMockObjectFillAccess().getVarKeyword_0());
+                  
+            }
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1715:1: ( (lv_name_1_0= ruleQualifiedName ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1716:1: (lv_name_1_0= ruleQualifiedName )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1716:1: (lv_name_1_0= ruleQualifiedName )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1717:3: lv_name_1_0= ruleQualifiedName
+            {
+            if ( state.backtracking==0 ) {
+               
+              	        newCompositeNode(grammarAccess.getEntityMockObjectFillAccess().getNameQualifiedNameParserRuleCall_1_0()); 
+              	    
+            }
+            pushFollow(FOLLOW_ruleQualifiedName_in_ruleEntityMockObjectFill3729);
+            lv_name_1_0=ruleQualifiedName();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+              	        if (current==null) {
+              	            current = createModelElementForParent(grammarAccess.getEntityMockObjectFillRule());
+              	        }
+                     		set(
+                     			current, 
+                     			"name",
+                      		lv_name_1_0, 
+                      		"QualifiedName");
+              	        afterParserOrEnumRuleCall();
+              	    
+            }
+
+            }
+
+
+            }
+
+            otherlv_2=(Token)match(input,42,FOLLOW_42_in_ruleEntityMockObjectFill3741); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_2, grammarAccess.getEntityMockObjectFillAccess().getRandomizeKeyword_2());
+                  
+            }
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1737:1: ( (lv_fillerType_3_0= rulePropertyFillerType ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1738:1: (lv_fillerType_3_0= rulePropertyFillerType )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1738:1: (lv_fillerType_3_0= rulePropertyFillerType )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1739:3: lv_fillerType_3_0= rulePropertyFillerType
+            {
+            if ( state.backtracking==0 ) {
+               
+              	        newCompositeNode(grammarAccess.getEntityMockObjectFillAccess().getFillerTypePropertyFillerTypeParserRuleCall_3_0()); 
+              	    
+            }
+            pushFollow(FOLLOW_rulePropertyFillerType_in_ruleEntityMockObjectFill3762);
+            lv_fillerType_3_0=rulePropertyFillerType();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+              	        if (current==null) {
+              	            current = createModelElementForParent(grammarAccess.getEntityMockObjectFillRule());
+              	        }
+                     		set(
+                     			current, 
+                     			"fillerType",
+                      		lv_fillerType_3_0, 
+                      		"PropertyFillerType");
+              	        afterParserOrEnumRuleCall();
+              	    
+            }
+
+            }
+
+
+            }
+
+
+            }
+
+
+            }
+
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleEntityMockObjectFill"
+
+
+    // $ANTLR start "entryRulePropertyFillerType"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1763:1: entryRulePropertyFillerType returns [EObject current=null] : iv_rulePropertyFillerType= rulePropertyFillerType EOF ;
+    public final EObject entryRulePropertyFillerType() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_rulePropertyFillerType = null;
+
+
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1764:2: (iv_rulePropertyFillerType= rulePropertyFillerType EOF )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1765:2: iv_rulePropertyFillerType= rulePropertyFillerType EOF
+            {
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getPropertyFillerTypeRule()); 
+            }
+            pushFollow(FOLLOW_rulePropertyFillerType_in_entryRulePropertyFillerType3798);
+            iv_rulePropertyFillerType=rulePropertyFillerType();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_rulePropertyFillerType; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRulePropertyFillerType3808); if (state.failed) return current;
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRulePropertyFillerType"
+
+
+    // $ANTLR start "rulePropertyFillerType"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1772:1: rulePropertyFillerType returns [EObject current=null] : (this_PropertyFillerDateFuture_0= rulePropertyFillerDateFuture | this_PropertyFillerDatePast_1= rulePropertyFillerDatePast | this_PropertyFillerDateRange_2= rulePropertyFillerDateRange | this_PropertyFillerBoolean_3= rulePropertyFillerBoolean | this_PropertyFillerSignedDoubleRange_4= rulePropertyFillerSignedDoubleRange | this_PropertyFillerSignedDoubleRandom_5= rulePropertyFillerSignedDoubleRandom | this_PropertyFillerSignedIntegerRange_6= rulePropertyFillerSignedIntegerRange | this_PropertyFillerSignedIntegerRandom_7= rulePropertyFillerSignedIntegerRandom | this_PropertyFillerTextRandom_8= rulePropertyFillerTextRandom | this_PropertyFillerTextParagraphs_9= rulePropertyFillerTextParagraphs | this_PropertyFillerTextSentences_10= rulePropertyFillerTextSentences | this_PropertyFillerTextWords_11= rulePropertyFillerTextWords | this_PropertyFillerUnsignedDoubleRange_12= rulePropertyFillerUnsignedDoubleRange | this_PropertyFillerUnsignedDoubleRandom_13= rulePropertyFillerUnsignedDoubleRandom | this_PropertyFillerUnsignedIntegerRange_14= rulePropertyFillerUnsignedIntegerRange | this_PropertyFillerUnsignedIntegerRandom_15= rulePropertyFillerUnsignedIntegerRandom ) ;
+    public final EObject rulePropertyFillerType() throws RecognitionException {
+        EObject current = null;
+
+        EObject this_PropertyFillerDateFuture_0 = null;
+
+        EObject this_PropertyFillerDatePast_1 = null;
+
+        EObject this_PropertyFillerDateRange_2 = null;
+
+        EObject this_PropertyFillerBoolean_3 = null;
+
+        EObject this_PropertyFillerSignedDoubleRange_4 = null;
+
+        EObject this_PropertyFillerSignedDoubleRandom_5 = null;
+
+        EObject this_PropertyFillerSignedIntegerRange_6 = null;
+
+        EObject this_PropertyFillerSignedIntegerRandom_7 = null;
+
+        EObject this_PropertyFillerTextRandom_8 = null;
+
+        EObject this_PropertyFillerTextParagraphs_9 = null;
+
+        EObject this_PropertyFillerTextSentences_10 = null;
+
+        EObject this_PropertyFillerTextWords_11 = null;
+
+        EObject this_PropertyFillerUnsignedDoubleRange_12 = null;
+
+        EObject this_PropertyFillerUnsignedDoubleRandom_13 = null;
+
+        EObject this_PropertyFillerUnsignedIntegerRange_14 = null;
+
+        EObject this_PropertyFillerUnsignedIntegerRandom_15 = null;
+
+
+         enterRule(); 
+            
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1775:28: ( (this_PropertyFillerDateFuture_0= rulePropertyFillerDateFuture | this_PropertyFillerDatePast_1= rulePropertyFillerDatePast | this_PropertyFillerDateRange_2= rulePropertyFillerDateRange | this_PropertyFillerBoolean_3= rulePropertyFillerBoolean | this_PropertyFillerSignedDoubleRange_4= rulePropertyFillerSignedDoubleRange | this_PropertyFillerSignedDoubleRandom_5= rulePropertyFillerSignedDoubleRandom | this_PropertyFillerSignedIntegerRange_6= rulePropertyFillerSignedIntegerRange | this_PropertyFillerSignedIntegerRandom_7= rulePropertyFillerSignedIntegerRandom | this_PropertyFillerTextRandom_8= rulePropertyFillerTextRandom | this_PropertyFillerTextParagraphs_9= rulePropertyFillerTextParagraphs | this_PropertyFillerTextSentences_10= rulePropertyFillerTextSentences | this_PropertyFillerTextWords_11= rulePropertyFillerTextWords | this_PropertyFillerUnsignedDoubleRange_12= rulePropertyFillerUnsignedDoubleRange | this_PropertyFillerUnsignedDoubleRandom_13= rulePropertyFillerUnsignedDoubleRandom | this_PropertyFillerUnsignedIntegerRange_14= rulePropertyFillerUnsignedIntegerRange | this_PropertyFillerUnsignedIntegerRandom_15= rulePropertyFillerUnsignedIntegerRandom ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1776:1: (this_PropertyFillerDateFuture_0= rulePropertyFillerDateFuture | this_PropertyFillerDatePast_1= rulePropertyFillerDatePast | this_PropertyFillerDateRange_2= rulePropertyFillerDateRange | this_PropertyFillerBoolean_3= rulePropertyFillerBoolean | this_PropertyFillerSignedDoubleRange_4= rulePropertyFillerSignedDoubleRange | this_PropertyFillerSignedDoubleRandom_5= rulePropertyFillerSignedDoubleRandom | this_PropertyFillerSignedIntegerRange_6= rulePropertyFillerSignedIntegerRange | this_PropertyFillerSignedIntegerRandom_7= rulePropertyFillerSignedIntegerRandom | this_PropertyFillerTextRandom_8= rulePropertyFillerTextRandom | this_PropertyFillerTextParagraphs_9= rulePropertyFillerTextParagraphs | this_PropertyFillerTextSentences_10= rulePropertyFillerTextSentences | this_PropertyFillerTextWords_11= rulePropertyFillerTextWords | this_PropertyFillerUnsignedDoubleRange_12= rulePropertyFillerUnsignedDoubleRange | this_PropertyFillerUnsignedDoubleRandom_13= rulePropertyFillerUnsignedDoubleRandom | this_PropertyFillerUnsignedIntegerRange_14= rulePropertyFillerUnsignedIntegerRange | this_PropertyFillerUnsignedIntegerRandom_15= rulePropertyFillerUnsignedIntegerRandom )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1776:1: (this_PropertyFillerDateFuture_0= rulePropertyFillerDateFuture | this_PropertyFillerDatePast_1= rulePropertyFillerDatePast | this_PropertyFillerDateRange_2= rulePropertyFillerDateRange | this_PropertyFillerBoolean_3= rulePropertyFillerBoolean | this_PropertyFillerSignedDoubleRange_4= rulePropertyFillerSignedDoubleRange | this_PropertyFillerSignedDoubleRandom_5= rulePropertyFillerSignedDoubleRandom | this_PropertyFillerSignedIntegerRange_6= rulePropertyFillerSignedIntegerRange | this_PropertyFillerSignedIntegerRandom_7= rulePropertyFillerSignedIntegerRandom | this_PropertyFillerTextRandom_8= rulePropertyFillerTextRandom | this_PropertyFillerTextParagraphs_9= rulePropertyFillerTextParagraphs | this_PropertyFillerTextSentences_10= rulePropertyFillerTextSentences | this_PropertyFillerTextWords_11= rulePropertyFillerTextWords | this_PropertyFillerUnsignedDoubleRange_12= rulePropertyFillerUnsignedDoubleRange | this_PropertyFillerUnsignedDoubleRandom_13= rulePropertyFillerUnsignedDoubleRandom | this_PropertyFillerUnsignedIntegerRange_14= rulePropertyFillerUnsignedIntegerRange | this_PropertyFillerUnsignedIntegerRandom_15= rulePropertyFillerUnsignedIntegerRandom )
+            int alt32=16;
+            switch ( input.LA(1) ) {
+            case 43:
+                {
+                alt32=1;
+                }
+                break;
+            case 45:
+                {
+                alt32=2;
+                }
+                break;
+            case 47:
+                {
+                alt32=3;
+                }
+                break;
+            case 46:
+                {
+                alt32=4;
+                }
+                break;
+            case 49:
+                {
+                alt32=5;
+                }
+                break;
+            case 52:
+                {
+                alt32=6;
+                }
+                break;
+            case 53:
+                {
+                alt32=7;
+                }
+                break;
+            case 54:
+                {
+                alt32=8;
+                }
+                break;
+            case 55:
+                {
+                alt32=9;
+                }
+                break;
+            case 56:
+                {
+                alt32=10;
+                }
+                break;
+            case 57:
+                {
+                alt32=11;
+                }
+                break;
+            case 58:
+                {
+                alt32=12;
+                }
+                break;
+            case 59:
+                {
+                alt32=13;
+                }
+                break;
+            case 60:
+                {
+                alt32=14;
+                }
+                break;
+            case 61:
+                {
+                alt32=15;
+                }
+                break;
+            case 62:
+                {
+                alt32=16;
+                }
+                break;
+            default:
+                if (state.backtracking>0) {state.failed=true; return current;}
+                NoViableAltException nvae =
+                    new NoViableAltException("", 32, 0, input);
+
+                throw nvae;
+            }
+
+            switch (alt32) {
+                case 1 :
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1777:5: this_PropertyFillerDateFuture_0= rulePropertyFillerDateFuture
+                    {
+                    if ( state.backtracking==0 ) {
+                       
+                              newCompositeNode(grammarAccess.getPropertyFillerTypeAccess().getPropertyFillerDateFutureParserRuleCall_0()); 
+                          
+                    }
+                    pushFollow(FOLLOW_rulePropertyFillerDateFuture_in_rulePropertyFillerType3855);
+                    this_PropertyFillerDateFuture_0=rulePropertyFillerDateFuture();
+
+                    state._fsp--;
+                    if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+                       
+                              current = this_PropertyFillerDateFuture_0; 
+                              afterParserOrEnumRuleCall();
+                          
+                    }
+
+                    }
+                    break;
+                case 2 :
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1787:5: this_PropertyFillerDatePast_1= rulePropertyFillerDatePast
+                    {
+                    if ( state.backtracking==0 ) {
+                       
+                              newCompositeNode(grammarAccess.getPropertyFillerTypeAccess().getPropertyFillerDatePastParserRuleCall_1()); 
+                          
+                    }
+                    pushFollow(FOLLOW_rulePropertyFillerDatePast_in_rulePropertyFillerType3882);
+                    this_PropertyFillerDatePast_1=rulePropertyFillerDatePast();
+
+                    state._fsp--;
+                    if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+                       
+                              current = this_PropertyFillerDatePast_1; 
+                              afterParserOrEnumRuleCall();
+                          
+                    }
+
+                    }
+                    break;
+                case 3 :
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1797:5: this_PropertyFillerDateRange_2= rulePropertyFillerDateRange
+                    {
+                    if ( state.backtracking==0 ) {
+                       
+                              newCompositeNode(grammarAccess.getPropertyFillerTypeAccess().getPropertyFillerDateRangeParserRuleCall_2()); 
+                          
+                    }
+                    pushFollow(FOLLOW_rulePropertyFillerDateRange_in_rulePropertyFillerType3909);
+                    this_PropertyFillerDateRange_2=rulePropertyFillerDateRange();
+
+                    state._fsp--;
+                    if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+                       
+                              current = this_PropertyFillerDateRange_2; 
+                              afterParserOrEnumRuleCall();
+                          
+                    }
+
+                    }
+                    break;
+                case 4 :
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1807:5: this_PropertyFillerBoolean_3= rulePropertyFillerBoolean
+                    {
+                    if ( state.backtracking==0 ) {
+                       
+                              newCompositeNode(grammarAccess.getPropertyFillerTypeAccess().getPropertyFillerBooleanParserRuleCall_3()); 
+                          
+                    }
+                    pushFollow(FOLLOW_rulePropertyFillerBoolean_in_rulePropertyFillerType3936);
+                    this_PropertyFillerBoolean_3=rulePropertyFillerBoolean();
+
+                    state._fsp--;
+                    if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+                       
+                              current = this_PropertyFillerBoolean_3; 
+                              afterParserOrEnumRuleCall();
+                          
+                    }
+
+                    }
+                    break;
+                case 5 :
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1817:5: this_PropertyFillerSignedDoubleRange_4= rulePropertyFillerSignedDoubleRange
+                    {
+                    if ( state.backtracking==0 ) {
+                       
+                              newCompositeNode(grammarAccess.getPropertyFillerTypeAccess().getPropertyFillerSignedDoubleRangeParserRuleCall_4()); 
+                          
+                    }
+                    pushFollow(FOLLOW_rulePropertyFillerSignedDoubleRange_in_rulePropertyFillerType3963);
+                    this_PropertyFillerSignedDoubleRange_4=rulePropertyFillerSignedDoubleRange();
+
+                    state._fsp--;
+                    if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+                       
+                              current = this_PropertyFillerSignedDoubleRange_4; 
+                              afterParserOrEnumRuleCall();
+                          
+                    }
+
+                    }
+                    break;
+                case 6 :
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1827:5: this_PropertyFillerSignedDoubleRandom_5= rulePropertyFillerSignedDoubleRandom
+                    {
+                    if ( state.backtracking==0 ) {
+                       
+                              newCompositeNode(grammarAccess.getPropertyFillerTypeAccess().getPropertyFillerSignedDoubleRandomParserRuleCall_5()); 
+                          
+                    }
+                    pushFollow(FOLLOW_rulePropertyFillerSignedDoubleRandom_in_rulePropertyFillerType3990);
+                    this_PropertyFillerSignedDoubleRandom_5=rulePropertyFillerSignedDoubleRandom();
+
+                    state._fsp--;
+                    if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+                       
+                              current = this_PropertyFillerSignedDoubleRandom_5; 
+                              afterParserOrEnumRuleCall();
+                          
+                    }
+
+                    }
+                    break;
+                case 7 :
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1837:5: this_PropertyFillerSignedIntegerRange_6= rulePropertyFillerSignedIntegerRange
+                    {
+                    if ( state.backtracking==0 ) {
+                       
+                              newCompositeNode(grammarAccess.getPropertyFillerTypeAccess().getPropertyFillerSignedIntegerRangeParserRuleCall_6()); 
+                          
+                    }
+                    pushFollow(FOLLOW_rulePropertyFillerSignedIntegerRange_in_rulePropertyFillerType4017);
+                    this_PropertyFillerSignedIntegerRange_6=rulePropertyFillerSignedIntegerRange();
+
+                    state._fsp--;
+                    if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+                       
+                              current = this_PropertyFillerSignedIntegerRange_6; 
+                              afterParserOrEnumRuleCall();
+                          
+                    }
+
+                    }
+                    break;
+                case 8 :
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1847:5: this_PropertyFillerSignedIntegerRandom_7= rulePropertyFillerSignedIntegerRandom
+                    {
+                    if ( state.backtracking==0 ) {
+                       
+                              newCompositeNode(grammarAccess.getPropertyFillerTypeAccess().getPropertyFillerSignedIntegerRandomParserRuleCall_7()); 
+                          
+                    }
+                    pushFollow(FOLLOW_rulePropertyFillerSignedIntegerRandom_in_rulePropertyFillerType4044);
+                    this_PropertyFillerSignedIntegerRandom_7=rulePropertyFillerSignedIntegerRandom();
+
+                    state._fsp--;
+                    if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+                       
+                              current = this_PropertyFillerSignedIntegerRandom_7; 
+                              afterParserOrEnumRuleCall();
+                          
+                    }
+
+                    }
+                    break;
+                case 9 :
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1857:5: this_PropertyFillerTextRandom_8= rulePropertyFillerTextRandom
+                    {
+                    if ( state.backtracking==0 ) {
+                       
+                              newCompositeNode(grammarAccess.getPropertyFillerTypeAccess().getPropertyFillerTextRandomParserRuleCall_8()); 
+                          
+                    }
+                    pushFollow(FOLLOW_rulePropertyFillerTextRandom_in_rulePropertyFillerType4071);
+                    this_PropertyFillerTextRandom_8=rulePropertyFillerTextRandom();
+
+                    state._fsp--;
+                    if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+                       
+                              current = this_PropertyFillerTextRandom_8; 
+                              afterParserOrEnumRuleCall();
+                          
+                    }
+
+                    }
+                    break;
+                case 10 :
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1867:5: this_PropertyFillerTextParagraphs_9= rulePropertyFillerTextParagraphs
+                    {
+                    if ( state.backtracking==0 ) {
+                       
+                              newCompositeNode(grammarAccess.getPropertyFillerTypeAccess().getPropertyFillerTextParagraphsParserRuleCall_9()); 
+                          
+                    }
+                    pushFollow(FOLLOW_rulePropertyFillerTextParagraphs_in_rulePropertyFillerType4098);
+                    this_PropertyFillerTextParagraphs_9=rulePropertyFillerTextParagraphs();
+
+                    state._fsp--;
+                    if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+                       
+                              current = this_PropertyFillerTextParagraphs_9; 
+                              afterParserOrEnumRuleCall();
+                          
+                    }
+
+                    }
+                    break;
+                case 11 :
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1877:5: this_PropertyFillerTextSentences_10= rulePropertyFillerTextSentences
+                    {
+                    if ( state.backtracking==0 ) {
+                       
+                              newCompositeNode(grammarAccess.getPropertyFillerTypeAccess().getPropertyFillerTextSentencesParserRuleCall_10()); 
+                          
+                    }
+                    pushFollow(FOLLOW_rulePropertyFillerTextSentences_in_rulePropertyFillerType4125);
+                    this_PropertyFillerTextSentences_10=rulePropertyFillerTextSentences();
+
+                    state._fsp--;
+                    if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+                       
+                              current = this_PropertyFillerTextSentences_10; 
+                              afterParserOrEnumRuleCall();
+                          
+                    }
+
+                    }
+                    break;
+                case 12 :
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1887:5: this_PropertyFillerTextWords_11= rulePropertyFillerTextWords
+                    {
+                    if ( state.backtracking==0 ) {
+                       
+                              newCompositeNode(grammarAccess.getPropertyFillerTypeAccess().getPropertyFillerTextWordsParserRuleCall_11()); 
+                          
+                    }
+                    pushFollow(FOLLOW_rulePropertyFillerTextWords_in_rulePropertyFillerType4152);
+                    this_PropertyFillerTextWords_11=rulePropertyFillerTextWords();
+
+                    state._fsp--;
+                    if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+                       
+                              current = this_PropertyFillerTextWords_11; 
+                              afterParserOrEnumRuleCall();
+                          
+                    }
+
+                    }
+                    break;
+                case 13 :
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1897:5: this_PropertyFillerUnsignedDoubleRange_12= rulePropertyFillerUnsignedDoubleRange
+                    {
+                    if ( state.backtracking==0 ) {
+                       
+                              newCompositeNode(grammarAccess.getPropertyFillerTypeAccess().getPropertyFillerUnsignedDoubleRangeParserRuleCall_12()); 
+                          
+                    }
+                    pushFollow(FOLLOW_rulePropertyFillerUnsignedDoubleRange_in_rulePropertyFillerType4179);
+                    this_PropertyFillerUnsignedDoubleRange_12=rulePropertyFillerUnsignedDoubleRange();
+
+                    state._fsp--;
+                    if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+                       
+                              current = this_PropertyFillerUnsignedDoubleRange_12; 
+                              afterParserOrEnumRuleCall();
+                          
+                    }
+
+                    }
+                    break;
+                case 14 :
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1907:5: this_PropertyFillerUnsignedDoubleRandom_13= rulePropertyFillerUnsignedDoubleRandom
+                    {
+                    if ( state.backtracking==0 ) {
+                       
+                              newCompositeNode(grammarAccess.getPropertyFillerTypeAccess().getPropertyFillerUnsignedDoubleRandomParserRuleCall_13()); 
+                          
+                    }
+                    pushFollow(FOLLOW_rulePropertyFillerUnsignedDoubleRandom_in_rulePropertyFillerType4206);
+                    this_PropertyFillerUnsignedDoubleRandom_13=rulePropertyFillerUnsignedDoubleRandom();
+
+                    state._fsp--;
+                    if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+                       
+                              current = this_PropertyFillerUnsignedDoubleRandom_13; 
+                              afterParserOrEnumRuleCall();
+                          
+                    }
+
+                    }
+                    break;
+                case 15 :
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1917:5: this_PropertyFillerUnsignedIntegerRange_14= rulePropertyFillerUnsignedIntegerRange
+                    {
+                    if ( state.backtracking==0 ) {
+                       
+                              newCompositeNode(grammarAccess.getPropertyFillerTypeAccess().getPropertyFillerUnsignedIntegerRangeParserRuleCall_14()); 
+                          
+                    }
+                    pushFollow(FOLLOW_rulePropertyFillerUnsignedIntegerRange_in_rulePropertyFillerType4233);
+                    this_PropertyFillerUnsignedIntegerRange_14=rulePropertyFillerUnsignedIntegerRange();
+
+                    state._fsp--;
+                    if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+                       
+                              current = this_PropertyFillerUnsignedIntegerRange_14; 
+                              afterParserOrEnumRuleCall();
+                          
+                    }
+
+                    }
+                    break;
+                case 16 :
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1927:5: this_PropertyFillerUnsignedIntegerRandom_15= rulePropertyFillerUnsignedIntegerRandom
+                    {
+                    if ( state.backtracking==0 ) {
+                       
+                              newCompositeNode(grammarAccess.getPropertyFillerTypeAccess().getPropertyFillerUnsignedIntegerRandomParserRuleCall_15()); 
+                          
+                    }
+                    pushFollow(FOLLOW_rulePropertyFillerUnsignedIntegerRandom_in_rulePropertyFillerType4260);
+                    this_PropertyFillerUnsignedIntegerRandom_15=rulePropertyFillerUnsignedIntegerRandom();
+
+                    state._fsp--;
+                    if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+                       
+                              current = this_PropertyFillerUnsignedIntegerRandom_15; 
+                              afterParserOrEnumRuleCall();
+                          
+                    }
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "rulePropertyFillerType"
+
+
+    // $ANTLR start "entryRulePropertyFillerDateFuture"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1943:1: entryRulePropertyFillerDateFuture returns [EObject current=null] : iv_rulePropertyFillerDateFuture= rulePropertyFillerDateFuture EOF ;
+    public final EObject entryRulePropertyFillerDateFuture() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_rulePropertyFillerDateFuture = null;
+
+
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1944:2: (iv_rulePropertyFillerDateFuture= rulePropertyFillerDateFuture EOF )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1945:2: iv_rulePropertyFillerDateFuture= rulePropertyFillerDateFuture EOF
+            {
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getPropertyFillerDateFutureRule()); 
+            }
+            pushFollow(FOLLOW_rulePropertyFillerDateFuture_in_entryRulePropertyFillerDateFuture4295);
+            iv_rulePropertyFillerDateFuture=rulePropertyFillerDateFuture();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_rulePropertyFillerDateFuture; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRulePropertyFillerDateFuture4305); if (state.failed) return current;
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRulePropertyFillerDateFuture"
+
+
+    // $ANTLR start "rulePropertyFillerDateFuture"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1952:1: rulePropertyFillerDateFuture returns [EObject current=null] : (otherlv_0= 'future date' ( (lv_dateFutureYears_1_0= RULE_INT ) ) otherlv_2= 'years' ) ;
+    public final EObject rulePropertyFillerDateFuture() throws RecognitionException {
+        EObject current = null;
+
+        Token otherlv_0=null;
+        Token lv_dateFutureYears_1_0=null;
+        Token otherlv_2=null;
+
+         enterRule(); 
+            
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1955:28: ( (otherlv_0= 'future date' ( (lv_dateFutureYears_1_0= RULE_INT ) ) otherlv_2= 'years' ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1956:1: (otherlv_0= 'future date' ( (lv_dateFutureYears_1_0= RULE_INT ) ) otherlv_2= 'years' )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1956:1: (otherlv_0= 'future date' ( (lv_dateFutureYears_1_0= RULE_INT ) ) otherlv_2= 'years' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1956:3: otherlv_0= 'future date' ( (lv_dateFutureYears_1_0= RULE_INT ) ) otherlv_2= 'years'
+            {
+            otherlv_0=(Token)match(input,43,FOLLOW_43_in_rulePropertyFillerDateFuture4342); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_0, grammarAccess.getPropertyFillerDateFutureAccess().getFutureDateKeyword_0());
+                  
+            }
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1960:1: ( (lv_dateFutureYears_1_0= RULE_INT ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1961:1: (lv_dateFutureYears_1_0= RULE_INT )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1961:1: (lv_dateFutureYears_1_0= RULE_INT )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1962:3: lv_dateFutureYears_1_0= RULE_INT
+            {
+            lv_dateFutureYears_1_0=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_rulePropertyFillerDateFuture4359); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+              			newLeafNode(lv_dateFutureYears_1_0, grammarAccess.getPropertyFillerDateFutureAccess().getDateFutureYearsINTTerminalRuleCall_1_0()); 
+              		
+            }
+            if ( state.backtracking==0 ) {
+
+              	        if (current==null) {
+              	            current = createModelElement(grammarAccess.getPropertyFillerDateFutureRule());
+              	        }
+                     		setWithLastConsumed(
+                     			current, 
+                     			"dateFutureYears",
+                      		lv_dateFutureYears_1_0, 
+                      		"INT");
+              	    
+            }
+
+            }
+
+
+            }
+
+            otherlv_2=(Token)match(input,44,FOLLOW_44_in_rulePropertyFillerDateFuture4376); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_2, grammarAccess.getPropertyFillerDateFutureAccess().getYearsKeyword_2());
+                  
+            }
+
+            }
+
+
+            }
+
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "rulePropertyFillerDateFuture"
+
+
+    // $ANTLR start "entryRulePropertyFillerDatePast"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1990:1: entryRulePropertyFillerDatePast returns [EObject current=null] : iv_rulePropertyFillerDatePast= rulePropertyFillerDatePast EOF ;
+    public final EObject entryRulePropertyFillerDatePast() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_rulePropertyFillerDatePast = null;
+
+
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1991:2: (iv_rulePropertyFillerDatePast= rulePropertyFillerDatePast EOF )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1992:2: iv_rulePropertyFillerDatePast= rulePropertyFillerDatePast EOF
+            {
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getPropertyFillerDatePastRule()); 
+            }
+            pushFollow(FOLLOW_rulePropertyFillerDatePast_in_entryRulePropertyFillerDatePast4412);
+            iv_rulePropertyFillerDatePast=rulePropertyFillerDatePast();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_rulePropertyFillerDatePast; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRulePropertyFillerDatePast4422); if (state.failed) return current;
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRulePropertyFillerDatePast"
+
+
+    // $ANTLR start "rulePropertyFillerDatePast"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:1999:1: rulePropertyFillerDatePast returns [EObject current=null] : (otherlv_0= 'past date' ( (lv_datePastYears_1_0= RULE_INT ) ) otherlv_2= 'years' ) ;
+    public final EObject rulePropertyFillerDatePast() throws RecognitionException {
+        EObject current = null;
+
+        Token otherlv_0=null;
+        Token lv_datePastYears_1_0=null;
+        Token otherlv_2=null;
+
+         enterRule(); 
+            
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2002:28: ( (otherlv_0= 'past date' ( (lv_datePastYears_1_0= RULE_INT ) ) otherlv_2= 'years' ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2003:1: (otherlv_0= 'past date' ( (lv_datePastYears_1_0= RULE_INT ) ) otherlv_2= 'years' )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2003:1: (otherlv_0= 'past date' ( (lv_datePastYears_1_0= RULE_INT ) ) otherlv_2= 'years' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2003:3: otherlv_0= 'past date' ( (lv_datePastYears_1_0= RULE_INT ) ) otherlv_2= 'years'
+            {
+            otherlv_0=(Token)match(input,45,FOLLOW_45_in_rulePropertyFillerDatePast4459); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_0, grammarAccess.getPropertyFillerDatePastAccess().getPastDateKeyword_0());
+                  
+            }
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2007:1: ( (lv_datePastYears_1_0= RULE_INT ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2008:1: (lv_datePastYears_1_0= RULE_INT )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2008:1: (lv_datePastYears_1_0= RULE_INT )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2009:3: lv_datePastYears_1_0= RULE_INT
+            {
+            lv_datePastYears_1_0=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_rulePropertyFillerDatePast4476); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+              			newLeafNode(lv_datePastYears_1_0, grammarAccess.getPropertyFillerDatePastAccess().getDatePastYearsINTTerminalRuleCall_1_0()); 
+              		
+            }
+            if ( state.backtracking==0 ) {
+
+              	        if (current==null) {
+              	            current = createModelElement(grammarAccess.getPropertyFillerDatePastRule());
+              	        }
+                     		setWithLastConsumed(
+                     			current, 
+                     			"datePastYears",
+                      		lv_datePastYears_1_0, 
+                      		"INT");
+              	    
+            }
+
+            }
+
+
+            }
+
+            otherlv_2=(Token)match(input,44,FOLLOW_44_in_rulePropertyFillerDatePast4493); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_2, grammarAccess.getPropertyFillerDatePastAccess().getYearsKeyword_2());
+                  
+            }
+
+            }
+
+
+            }
+
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "rulePropertyFillerDatePast"
+
+
+    // $ANTLR start "entryRulePropertyFillerBoolean"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2037:1: entryRulePropertyFillerBoolean returns [EObject current=null] : iv_rulePropertyFillerBoolean= rulePropertyFillerBoolean EOF ;
+    public final EObject entryRulePropertyFillerBoolean() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_rulePropertyFillerBoolean = null;
+
+
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2038:2: (iv_rulePropertyFillerBoolean= rulePropertyFillerBoolean EOF )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2039:2: iv_rulePropertyFillerBoolean= rulePropertyFillerBoolean EOF
+            {
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getPropertyFillerBooleanRule()); 
+            }
+            pushFollow(FOLLOW_rulePropertyFillerBoolean_in_entryRulePropertyFillerBoolean4529);
+            iv_rulePropertyFillerBoolean=rulePropertyFillerBoolean();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_rulePropertyFillerBoolean; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRulePropertyFillerBoolean4539); if (state.failed) return current;
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRulePropertyFillerBoolean"
+
+
+    // $ANTLR start "rulePropertyFillerBoolean"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2046:1: rulePropertyFillerBoolean returns [EObject current=null] : ( () otherlv_1= 'boolean' ) ;
+    public final EObject rulePropertyFillerBoolean() throws RecognitionException {
+        EObject current = null;
+
+        Token otherlv_1=null;
+
+         enterRule(); 
+            
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2049:28: ( ( () otherlv_1= 'boolean' ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2050:1: ( () otherlv_1= 'boolean' )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2050:1: ( () otherlv_1= 'boolean' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2050:2: () otherlv_1= 'boolean'
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2050:2: ()
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2051:5: 
+            {
+            if ( state.backtracking==0 ) {
+
+                      current = forceCreateModelElement(
+                          grammarAccess.getPropertyFillerBooleanAccess().getPropertyFillerBooleanAction_0(),
+                          current);
+                  
+            }
+
+            }
+
+            otherlv_1=(Token)match(input,46,FOLLOW_46_in_rulePropertyFillerBoolean4585); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_1, grammarAccess.getPropertyFillerBooleanAccess().getBooleanKeyword_1());
+                  
+            }
+
+            }
+
+
+            }
+
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "rulePropertyFillerBoolean"
+
+
+    // $ANTLR start "entryRulePropertyFillerDateRange"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2068:1: entryRulePropertyFillerDateRange returns [EObject current=null] : iv_rulePropertyFillerDateRange= rulePropertyFillerDateRange EOF ;
+    public final EObject entryRulePropertyFillerDateRange() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_rulePropertyFillerDateRange = null;
+
+
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2069:2: (iv_rulePropertyFillerDateRange= rulePropertyFillerDateRange EOF )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2070:2: iv_rulePropertyFillerDateRange= rulePropertyFillerDateRange EOF
+            {
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getPropertyFillerDateRangeRule()); 
+            }
+            pushFollow(FOLLOW_rulePropertyFillerDateRange_in_entryRulePropertyFillerDateRange4621);
+            iv_rulePropertyFillerDateRange=rulePropertyFillerDateRange();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_rulePropertyFillerDateRange; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRulePropertyFillerDateRange4631); if (state.failed) return current;
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRulePropertyFillerDateRange"
+
+
+    // $ANTLR start "rulePropertyFillerDateRange"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2077:1: rulePropertyFillerDateRange returns [EObject current=null] : (otherlv_0= 'date in range' ( (lv_dateBeginYears_1_0= ruleSINT ) ) otherlv_2= 'up to and including' ( (lv_dateEndYears_3_0= ruleSINT ) ) otherlv_4= 'years' ) ;
+    public final EObject rulePropertyFillerDateRange() throws RecognitionException {
+        EObject current = null;
+
+        Token otherlv_0=null;
+        Token otherlv_2=null;
+        Token otherlv_4=null;
+        AntlrDatatypeRuleToken lv_dateBeginYears_1_0 = null;
+
+        AntlrDatatypeRuleToken lv_dateEndYears_3_0 = null;
+
+
+         enterRule(); 
+            
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2080:28: ( (otherlv_0= 'date in range' ( (lv_dateBeginYears_1_0= ruleSINT ) ) otherlv_2= 'up to and including' ( (lv_dateEndYears_3_0= ruleSINT ) ) otherlv_4= 'years' ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2081:1: (otherlv_0= 'date in range' ( (lv_dateBeginYears_1_0= ruleSINT ) ) otherlv_2= 'up to and including' ( (lv_dateEndYears_3_0= ruleSINT ) ) otherlv_4= 'years' )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2081:1: (otherlv_0= 'date in range' ( (lv_dateBeginYears_1_0= ruleSINT ) ) otherlv_2= 'up to and including' ( (lv_dateEndYears_3_0= ruleSINT ) ) otherlv_4= 'years' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2081:3: otherlv_0= 'date in range' ( (lv_dateBeginYears_1_0= ruleSINT ) ) otherlv_2= 'up to and including' ( (lv_dateEndYears_3_0= ruleSINT ) ) otherlv_4= 'years'
+            {
+            otherlv_0=(Token)match(input,47,FOLLOW_47_in_rulePropertyFillerDateRange4668); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_0, grammarAccess.getPropertyFillerDateRangeAccess().getDateInRangeKeyword_0());
+                  
+            }
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2085:1: ( (lv_dateBeginYears_1_0= ruleSINT ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2086:1: (lv_dateBeginYears_1_0= ruleSINT )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2086:1: (lv_dateBeginYears_1_0= ruleSINT )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2087:3: lv_dateBeginYears_1_0= ruleSINT
+            {
+            if ( state.backtracking==0 ) {
+               
+              	        newCompositeNode(grammarAccess.getPropertyFillerDateRangeAccess().getDateBeginYearsSINTParserRuleCall_1_0()); 
+              	    
+            }
+            pushFollow(FOLLOW_ruleSINT_in_rulePropertyFillerDateRange4689);
+            lv_dateBeginYears_1_0=ruleSINT();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+              	        if (current==null) {
+              	            current = createModelElementForParent(grammarAccess.getPropertyFillerDateRangeRule());
+              	        }
+                     		set(
+                     			current, 
+                     			"dateBeginYears",
+                      		lv_dateBeginYears_1_0, 
+                      		"SINT");
+              	        afterParserOrEnumRuleCall();
+              	    
+            }
+
+            }
+
+
+            }
+
+            otherlv_2=(Token)match(input,48,FOLLOW_48_in_rulePropertyFillerDateRange4701); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_2, grammarAccess.getPropertyFillerDateRangeAccess().getUpToAndIncludingKeyword_2());
+                  
+            }
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2107:1: ( (lv_dateEndYears_3_0= ruleSINT ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2108:1: (lv_dateEndYears_3_0= ruleSINT )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2108:1: (lv_dateEndYears_3_0= ruleSINT )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2109:3: lv_dateEndYears_3_0= ruleSINT
+            {
+            if ( state.backtracking==0 ) {
+               
+              	        newCompositeNode(grammarAccess.getPropertyFillerDateRangeAccess().getDateEndYearsSINTParserRuleCall_3_0()); 
+              	    
+            }
+            pushFollow(FOLLOW_ruleSINT_in_rulePropertyFillerDateRange4722);
+            lv_dateEndYears_3_0=ruleSINT();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+              	        if (current==null) {
+              	            current = createModelElementForParent(grammarAccess.getPropertyFillerDateRangeRule());
+              	        }
+                     		set(
+                     			current, 
+                     			"dateEndYears",
+                      		lv_dateEndYears_3_0, 
+                      		"SINT");
+              	        afterParserOrEnumRuleCall();
+              	    
+            }
+
+            }
+
+
+            }
+
+            otherlv_4=(Token)match(input,44,FOLLOW_44_in_rulePropertyFillerDateRange4734); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_4, grammarAccess.getPropertyFillerDateRangeAccess().getYearsKeyword_4());
+                  
+            }
+
+            }
+
+
+            }
+
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "rulePropertyFillerDateRange"
+
+
+    // $ANTLR start "entryRulePropertyFillerSignedDoubleRange"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2137:1: entryRulePropertyFillerSignedDoubleRange returns [EObject current=null] : iv_rulePropertyFillerSignedDoubleRange= rulePropertyFillerSignedDoubleRange EOF ;
+    public final EObject entryRulePropertyFillerSignedDoubleRange() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_rulePropertyFillerSignedDoubleRange = null;
+
+
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2138:2: (iv_rulePropertyFillerSignedDoubleRange= rulePropertyFillerSignedDoubleRange EOF )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2139:2: iv_rulePropertyFillerSignedDoubleRange= rulePropertyFillerSignedDoubleRange EOF
+            {
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getPropertyFillerSignedDoubleRangeRule()); 
+            }
+            pushFollow(FOLLOW_rulePropertyFillerSignedDoubleRange_in_entryRulePropertyFillerSignedDoubleRange4770);
+            iv_rulePropertyFillerSignedDoubleRange=rulePropertyFillerSignedDoubleRange();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_rulePropertyFillerSignedDoubleRange; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRulePropertyFillerSignedDoubleRange4780); if (state.failed) return current;
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRulePropertyFillerSignedDoubleRange"
+
+
+    // $ANTLR start "rulePropertyFillerSignedDoubleRange"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2146:1: rulePropertyFillerSignedDoubleRange returns [EObject current=null] : (otherlv_0= 'signed double in range' ( ( ( (lv_beginRange_1_0= ruleSignedNumber ) ) | ( (otherlv_2= RULE_ID ) ) )? otherlv_3= 'up to and including' ( ( (lv_endRange_4_0= ruleSignedNumber ) ) | ( (otherlv_5= RULE_ID ) ) ) )? otherlv_6= 'with' ( (lv_decimals_7_0= RULE_INT ) ) otherlv_8= 'decimals' (otherlv_9= 'round to' ( (lv_rounded_10_0= ruleUnsignedNumber ) ) )? ) ;
+    public final EObject rulePropertyFillerSignedDoubleRange() throws RecognitionException {
+        EObject current = null;
+
+        Token otherlv_0=null;
+        Token otherlv_2=null;
+        Token otherlv_3=null;
+        Token otherlv_5=null;
+        Token otherlv_6=null;
+        Token lv_decimals_7_0=null;
+        Token otherlv_8=null;
+        Token otherlv_9=null;
+        AntlrDatatypeRuleToken lv_beginRange_1_0 = null;
+
+        AntlrDatatypeRuleToken lv_endRange_4_0 = null;
+
+        AntlrDatatypeRuleToken lv_rounded_10_0 = null;
+
+
+         enterRule(); 
+            
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2149:28: ( (otherlv_0= 'signed double in range' ( ( ( (lv_beginRange_1_0= ruleSignedNumber ) ) | ( (otherlv_2= RULE_ID ) ) )? otherlv_3= 'up to and including' ( ( (lv_endRange_4_0= ruleSignedNumber ) ) | ( (otherlv_5= RULE_ID ) ) ) )? otherlv_6= 'with' ( (lv_decimals_7_0= RULE_INT ) ) otherlv_8= 'decimals' (otherlv_9= 'round to' ( (lv_rounded_10_0= ruleUnsignedNumber ) ) )? ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2150:1: (otherlv_0= 'signed double in range' ( ( ( (lv_beginRange_1_0= ruleSignedNumber ) ) | ( (otherlv_2= RULE_ID ) ) )? otherlv_3= 'up to and including' ( ( (lv_endRange_4_0= ruleSignedNumber ) ) | ( (otherlv_5= RULE_ID ) ) ) )? otherlv_6= 'with' ( (lv_decimals_7_0= RULE_INT ) ) otherlv_8= 'decimals' (otherlv_9= 'round to' ( (lv_rounded_10_0= ruleUnsignedNumber ) ) )? )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2150:1: (otherlv_0= 'signed double in range' ( ( ( (lv_beginRange_1_0= ruleSignedNumber ) ) | ( (otherlv_2= RULE_ID ) ) )? otherlv_3= 'up to and including' ( ( (lv_endRange_4_0= ruleSignedNumber ) ) | ( (otherlv_5= RULE_ID ) ) ) )? otherlv_6= 'with' ( (lv_decimals_7_0= RULE_INT ) ) otherlv_8= 'decimals' (otherlv_9= 'round to' ( (lv_rounded_10_0= ruleUnsignedNumber ) ) )? )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2150:3: otherlv_0= 'signed double in range' ( ( ( (lv_beginRange_1_0= ruleSignedNumber ) ) | ( (otherlv_2= RULE_ID ) ) )? otherlv_3= 'up to and including' ( ( (lv_endRange_4_0= ruleSignedNumber ) ) | ( (otherlv_5= RULE_ID ) ) ) )? otherlv_6= 'with' ( (lv_decimals_7_0= RULE_INT ) ) otherlv_8= 'decimals' (otherlv_9= 'round to' ( (lv_rounded_10_0= ruleUnsignedNumber ) ) )?
+            {
+            otherlv_0=(Token)match(input,49,FOLLOW_49_in_rulePropertyFillerSignedDoubleRange4817); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_0, grammarAccess.getPropertyFillerSignedDoubleRangeAccess().getSignedDoubleInRangeKeyword_0());
+                  
+            }
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2154:1: ( ( ( (lv_beginRange_1_0= ruleSignedNumber ) ) | ( (otherlv_2= RULE_ID ) ) )? otherlv_3= 'up to and including' ( ( (lv_endRange_4_0= ruleSignedNumber ) ) | ( (otherlv_5= RULE_ID ) ) ) )?
+            int alt35=2;
+            int LA35_0 = input.LA(1);
+
+            if ( ((LA35_0>=RULE_INT && LA35_0<=RULE_ID)||LA35_0==48||LA35_0==80) ) {
+                alt35=1;
+            }
+            switch (alt35) {
+                case 1 :
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2154:2: ( ( (lv_beginRange_1_0= ruleSignedNumber ) ) | ( (otherlv_2= RULE_ID ) ) )? otherlv_3= 'up to and including' ( ( (lv_endRange_4_0= ruleSignedNumber ) ) | ( (otherlv_5= RULE_ID ) ) )
+                    {
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2154:2: ( ( (lv_beginRange_1_0= ruleSignedNumber ) ) | ( (otherlv_2= RULE_ID ) ) )?
+                    int alt33=3;
+                    int LA33_0 = input.LA(1);
+
+                    if ( (LA33_0==RULE_INT||LA33_0==80) ) {
+                        alt33=1;
+                    }
+                    else if ( (LA33_0==RULE_ID) ) {
+                        alt33=2;
+                    }
+                    switch (alt33) {
+                        case 1 :
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2154:3: ( (lv_beginRange_1_0= ruleSignedNumber ) )
+                            {
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2154:3: ( (lv_beginRange_1_0= ruleSignedNumber ) )
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2155:1: (lv_beginRange_1_0= ruleSignedNumber )
+                            {
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2155:1: (lv_beginRange_1_0= ruleSignedNumber )
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2156:3: lv_beginRange_1_0= ruleSignedNumber
+                            {
+                            if ( state.backtracking==0 ) {
+                               
+                              	        newCompositeNode(grammarAccess.getPropertyFillerSignedDoubleRangeAccess().getBeginRangeSignedNumberParserRuleCall_1_0_0_0()); 
+                              	    
+                            }
+                            pushFollow(FOLLOW_ruleSignedNumber_in_rulePropertyFillerSignedDoubleRange4840);
+                            lv_beginRange_1_0=ruleSignedNumber();
+
+                            state._fsp--;
+                            if (state.failed) return current;
+                            if ( state.backtracking==0 ) {
+
+                              	        if (current==null) {
+                              	            current = createModelElementForParent(grammarAccess.getPropertyFillerSignedDoubleRangeRule());
+                              	        }
+                                     		set(
+                                     			current, 
+                                     			"beginRange",
+                                      		lv_beginRange_1_0, 
+                                      		"SignedNumber");
+                              	        afterParserOrEnumRuleCall();
+                              	    
+                            }
+
+                            }
+
+
+                            }
+
+
+                            }
+                            break;
+                        case 2 :
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2173:6: ( (otherlv_2= RULE_ID ) )
+                            {
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2173:6: ( (otherlv_2= RULE_ID ) )
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2174:1: (otherlv_2= RULE_ID )
+                            {
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2174:1: (otherlv_2= RULE_ID )
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2175:3: otherlv_2= RULE_ID
+                            {
+                            if ( state.backtracking==0 ) {
+
+                              			if (current==null) {
+                              	            current = createModelElement(grammarAccess.getPropertyFillerSignedDoubleRangeRule());
+                              	        }
+                                      
+                            }
+                            otherlv_2=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_rulePropertyFillerSignedDoubleRange4866); if (state.failed) return current;
+                            if ( state.backtracking==0 ) {
+
+                              		newLeafNode(otherlv_2, grammarAccess.getPropertyFillerSignedDoubleRangeAccess().getBeginRangeRefLEntityAttributeCrossReference_1_0_1_0()); 
+                              	
+                            }
+
+                            }
+
+
+                            }
+
+
+                            }
+                            break;
+
+                    }
+
+                    otherlv_3=(Token)match(input,48,FOLLOW_48_in_rulePropertyFillerSignedDoubleRange4880); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                          	newLeafNode(otherlv_3, grammarAccess.getPropertyFillerSignedDoubleRangeAccess().getUpToAndIncludingKeyword_1_1());
+                          
+                    }
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2190:1: ( ( (lv_endRange_4_0= ruleSignedNumber ) ) | ( (otherlv_5= RULE_ID ) ) )
+                    int alt34=2;
+                    int LA34_0 = input.LA(1);
+
+                    if ( (LA34_0==RULE_INT||LA34_0==80) ) {
+                        alt34=1;
+                    }
+                    else if ( (LA34_0==RULE_ID) ) {
+                        alt34=2;
+                    }
+                    else {
+                        if (state.backtracking>0) {state.failed=true; return current;}
+                        NoViableAltException nvae =
+                            new NoViableAltException("", 34, 0, input);
+
+                        throw nvae;
+                    }
+                    switch (alt34) {
+                        case 1 :
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2190:2: ( (lv_endRange_4_0= ruleSignedNumber ) )
+                            {
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2190:2: ( (lv_endRange_4_0= ruleSignedNumber ) )
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2191:1: (lv_endRange_4_0= ruleSignedNumber )
+                            {
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2191:1: (lv_endRange_4_0= ruleSignedNumber )
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2192:3: lv_endRange_4_0= ruleSignedNumber
+                            {
+                            if ( state.backtracking==0 ) {
+                               
+                              	        newCompositeNode(grammarAccess.getPropertyFillerSignedDoubleRangeAccess().getEndRangeSignedNumberParserRuleCall_1_2_0_0()); 
+                              	    
+                            }
+                            pushFollow(FOLLOW_ruleSignedNumber_in_rulePropertyFillerSignedDoubleRange4902);
+                            lv_endRange_4_0=ruleSignedNumber();
+
+                            state._fsp--;
+                            if (state.failed) return current;
+                            if ( state.backtracking==0 ) {
+
+                              	        if (current==null) {
+                              	            current = createModelElementForParent(grammarAccess.getPropertyFillerSignedDoubleRangeRule());
+                              	        }
+                                     		set(
+                                     			current, 
+                                     			"endRange",
+                                      		lv_endRange_4_0, 
+                                      		"SignedNumber");
+                              	        afterParserOrEnumRuleCall();
+                              	    
+                            }
+
+                            }
+
+
+                            }
+
+
+                            }
+                            break;
+                        case 2 :
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2209:6: ( (otherlv_5= RULE_ID ) )
+                            {
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2209:6: ( (otherlv_5= RULE_ID ) )
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2210:1: (otherlv_5= RULE_ID )
+                            {
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2210:1: (otherlv_5= RULE_ID )
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2211:3: otherlv_5= RULE_ID
+                            {
+                            if ( state.backtracking==0 ) {
+
+                              			if (current==null) {
+                              	            current = createModelElement(grammarAccess.getPropertyFillerSignedDoubleRangeRule());
+                              	        }
+                                      
+                            }
+                            otherlv_5=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_rulePropertyFillerSignedDoubleRange4928); if (state.failed) return current;
+                            if ( state.backtracking==0 ) {
+
+                              		newLeafNode(otherlv_5, grammarAccess.getPropertyFillerSignedDoubleRangeAccess().getEndRangeRefLEntityAttributeCrossReference_1_2_1_0()); 
+                              	
+                            }
+
+                            }
+
+
+                            }
+
+
+                            }
+                            break;
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+
+            otherlv_6=(Token)match(input,35,FOLLOW_35_in_rulePropertyFillerSignedDoubleRange4943); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_6, grammarAccess.getPropertyFillerSignedDoubleRangeAccess().getWithKeyword_2());
+                  
+            }
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2226:1: ( (lv_decimals_7_0= RULE_INT ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2227:1: (lv_decimals_7_0= RULE_INT )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2227:1: (lv_decimals_7_0= RULE_INT )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2228:3: lv_decimals_7_0= RULE_INT
+            {
+            lv_decimals_7_0=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_rulePropertyFillerSignedDoubleRange4960); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+              			newLeafNode(lv_decimals_7_0, grammarAccess.getPropertyFillerSignedDoubleRangeAccess().getDecimalsINTTerminalRuleCall_3_0()); 
+              		
+            }
+            if ( state.backtracking==0 ) {
+
+              	        if (current==null) {
+              	            current = createModelElement(grammarAccess.getPropertyFillerSignedDoubleRangeRule());
+              	        }
+                     		setWithLastConsumed(
+                     			current, 
+                     			"decimals",
+                      		lv_decimals_7_0, 
+                      		"INT");
+              	    
+            }
+
+            }
+
+
+            }
+
+            otherlv_8=(Token)match(input,50,FOLLOW_50_in_rulePropertyFillerSignedDoubleRange4977); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_8, grammarAccess.getPropertyFillerSignedDoubleRangeAccess().getDecimalsKeyword_4());
+                  
+            }
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2248:1: (otherlv_9= 'round to' ( (lv_rounded_10_0= ruleUnsignedNumber ) ) )?
+            int alt36=2;
+            int LA36_0 = input.LA(1);
+
+            if ( (LA36_0==51) ) {
+                alt36=1;
+            }
+            switch (alt36) {
+                case 1 :
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2248:3: otherlv_9= 'round to' ( (lv_rounded_10_0= ruleUnsignedNumber ) )
+                    {
+                    otherlv_9=(Token)match(input,51,FOLLOW_51_in_rulePropertyFillerSignedDoubleRange4990); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                          	newLeafNode(otherlv_9, grammarAccess.getPropertyFillerSignedDoubleRangeAccess().getRoundToKeyword_5_0());
+                          
+                    }
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2252:1: ( (lv_rounded_10_0= ruleUnsignedNumber ) )
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2253:1: (lv_rounded_10_0= ruleUnsignedNumber )
+                    {
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2253:1: (lv_rounded_10_0= ruleUnsignedNumber )
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2254:3: lv_rounded_10_0= ruleUnsignedNumber
+                    {
+                    if ( state.backtracking==0 ) {
+                       
+                      	        newCompositeNode(grammarAccess.getPropertyFillerSignedDoubleRangeAccess().getRoundedUnsignedNumberParserRuleCall_5_1_0()); 
+                      	    
+                    }
+                    pushFollow(FOLLOW_ruleUnsignedNumber_in_rulePropertyFillerSignedDoubleRange5011);
+                    lv_rounded_10_0=ruleUnsignedNumber();
+
+                    state._fsp--;
+                    if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                      	        if (current==null) {
+                      	            current = createModelElementForParent(grammarAccess.getPropertyFillerSignedDoubleRangeRule());
+                      	        }
+                             		set(
+                             			current, 
+                             			"rounded",
+                              		lv_rounded_10_0, 
+                              		"UnsignedNumber");
+                      	        afterParserOrEnumRuleCall();
+                      	    
+                    }
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+
+            }
+
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "rulePropertyFillerSignedDoubleRange"
+
+
+    // $ANTLR start "entryRulePropertyFillerSignedDoubleRandom"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2278:1: entryRulePropertyFillerSignedDoubleRandom returns [EObject current=null] : iv_rulePropertyFillerSignedDoubleRandom= rulePropertyFillerSignedDoubleRandom EOF ;
+    public final EObject entryRulePropertyFillerSignedDoubleRandom() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_rulePropertyFillerSignedDoubleRandom = null;
+
+
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2279:2: (iv_rulePropertyFillerSignedDoubleRandom= rulePropertyFillerSignedDoubleRandom EOF )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2280:2: iv_rulePropertyFillerSignedDoubleRandom= rulePropertyFillerSignedDoubleRandom EOF
+            {
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getPropertyFillerSignedDoubleRandomRule()); 
+            }
+            pushFollow(FOLLOW_rulePropertyFillerSignedDoubleRandom_in_entryRulePropertyFillerSignedDoubleRandom5049);
+            iv_rulePropertyFillerSignedDoubleRandom=rulePropertyFillerSignedDoubleRandom();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_rulePropertyFillerSignedDoubleRandom; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRulePropertyFillerSignedDoubleRandom5059); if (state.failed) return current;
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRulePropertyFillerSignedDoubleRandom"
+
+
+    // $ANTLR start "rulePropertyFillerSignedDoubleRandom"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2287:1: rulePropertyFillerSignedDoubleRandom returns [EObject current=null] : (otherlv_0= 'signed double from' otherlv_1= '(' ( (lv_items_2_0= ruleSignedNumber ) )+ otherlv_3= ')' ) ;
+    public final EObject rulePropertyFillerSignedDoubleRandom() throws RecognitionException {
+        EObject current = null;
+
+        Token otherlv_0=null;
+        Token otherlv_1=null;
+        Token otherlv_3=null;
+        AntlrDatatypeRuleToken lv_items_2_0 = null;
+
+
+         enterRule(); 
+            
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2290:28: ( (otherlv_0= 'signed double from' otherlv_1= '(' ( (lv_items_2_0= ruleSignedNumber ) )+ otherlv_3= ')' ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2291:1: (otherlv_0= 'signed double from' otherlv_1= '(' ( (lv_items_2_0= ruleSignedNumber ) )+ otherlv_3= ')' )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2291:1: (otherlv_0= 'signed double from' otherlv_1= '(' ( (lv_items_2_0= ruleSignedNumber ) )+ otherlv_3= ')' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2291:3: otherlv_0= 'signed double from' otherlv_1= '(' ( (lv_items_2_0= ruleSignedNumber ) )+ otherlv_3= ')'
+            {
+            otherlv_0=(Token)match(input,52,FOLLOW_52_in_rulePropertyFillerSignedDoubleRandom5096); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_0, grammarAccess.getPropertyFillerSignedDoubleRandomAccess().getSignedDoubleFromKeyword_0());
+                  
+            }
+            otherlv_1=(Token)match(input,26,FOLLOW_26_in_rulePropertyFillerSignedDoubleRandom5108); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_1, grammarAccess.getPropertyFillerSignedDoubleRandomAccess().getLeftParenthesisKeyword_1());
+                  
+            }
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2299:1: ( (lv_items_2_0= ruleSignedNumber ) )+
+            int cnt37=0;
+            loop37:
+            do {
+                int alt37=2;
+                int LA37_0 = input.LA(1);
+
+                if ( (LA37_0==RULE_INT||LA37_0==80) ) {
+                    alt37=1;
+                }
+
+
+                switch (alt37) {
+            	case 1 :
+            	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2300:1: (lv_items_2_0= ruleSignedNumber )
+            	    {
+            	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2300:1: (lv_items_2_0= ruleSignedNumber )
+            	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2301:3: lv_items_2_0= ruleSignedNumber
+            	    {
+            	    if ( state.backtracking==0 ) {
+            	       
+            	      	        newCompositeNode(grammarAccess.getPropertyFillerSignedDoubleRandomAccess().getItemsSignedNumberParserRuleCall_2_0()); 
+            	      	    
+            	    }
+            	    pushFollow(FOLLOW_ruleSignedNumber_in_rulePropertyFillerSignedDoubleRandom5129);
+            	    lv_items_2_0=ruleSignedNumber();
+
+            	    state._fsp--;
+            	    if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
+
+            	      	        if (current==null) {
+            	      	            current = createModelElementForParent(grammarAccess.getPropertyFillerSignedDoubleRandomRule());
+            	      	        }
+            	             		add(
+            	             			current, 
+            	             			"items",
+            	              		lv_items_2_0, 
+            	              		"SignedNumber");
+            	      	        afterParserOrEnumRuleCall();
+            	      	    
+            	    }
+
+            	    }
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    if ( cnt37 >= 1 ) break loop37;
+            	    if (state.backtracking>0) {state.failed=true; return current;}
+                        EarlyExitException eee =
+                            new EarlyExitException(37, input);
+                        throw eee;
+                }
+                cnt37++;
+            } while (true);
+
+            otherlv_3=(Token)match(input,28,FOLLOW_28_in_rulePropertyFillerSignedDoubleRandom5142); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_3, grammarAccess.getPropertyFillerSignedDoubleRandomAccess().getRightParenthesisKeyword_3());
+                  
+            }
+
+            }
+
+
+            }
+
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "rulePropertyFillerSignedDoubleRandom"
+
+
+    // $ANTLR start "entryRulePropertyFillerSignedIntegerRange"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2329:1: entryRulePropertyFillerSignedIntegerRange returns [EObject current=null] : iv_rulePropertyFillerSignedIntegerRange= rulePropertyFillerSignedIntegerRange EOF ;
+    public final EObject entryRulePropertyFillerSignedIntegerRange() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_rulePropertyFillerSignedIntegerRange = null;
+
+
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2330:2: (iv_rulePropertyFillerSignedIntegerRange= rulePropertyFillerSignedIntegerRange EOF )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2331:2: iv_rulePropertyFillerSignedIntegerRange= rulePropertyFillerSignedIntegerRange EOF
+            {
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getPropertyFillerSignedIntegerRangeRule()); 
+            }
+            pushFollow(FOLLOW_rulePropertyFillerSignedIntegerRange_in_entryRulePropertyFillerSignedIntegerRange5178);
+            iv_rulePropertyFillerSignedIntegerRange=rulePropertyFillerSignedIntegerRange();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_rulePropertyFillerSignedIntegerRange; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRulePropertyFillerSignedIntegerRange5188); if (state.failed) return current;
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRulePropertyFillerSignedIntegerRange"
+
+
+    // $ANTLR start "rulePropertyFillerSignedIntegerRange"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2338:1: rulePropertyFillerSignedIntegerRange returns [EObject current=null] : ( () otherlv_1= 'signed integer in range' ( ( ( (lv_beginRange_2_0= ruleSINT ) ) | ( (otherlv_3= RULE_ID ) ) )? otherlv_4= 'up to and including' ( ( (lv_endRange_5_0= ruleSINT ) ) | ( (otherlv_6= RULE_ID ) ) ) )? (otherlv_7= 'round to' ( (lv_rounded_8_0= RULE_INT ) ) )? ) ;
+    public final EObject rulePropertyFillerSignedIntegerRange() throws RecognitionException {
+        EObject current = null;
+
+        Token otherlv_1=null;
+        Token otherlv_3=null;
+        Token otherlv_4=null;
+        Token otherlv_6=null;
+        Token otherlv_7=null;
+        Token lv_rounded_8_0=null;
+        AntlrDatatypeRuleToken lv_beginRange_2_0 = null;
+
+        AntlrDatatypeRuleToken lv_endRange_5_0 = null;
+
+
+         enterRule(); 
+            
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2341:28: ( ( () otherlv_1= 'signed integer in range' ( ( ( (lv_beginRange_2_0= ruleSINT ) ) | ( (otherlv_3= RULE_ID ) ) )? otherlv_4= 'up to and including' ( ( (lv_endRange_5_0= ruleSINT ) ) | ( (otherlv_6= RULE_ID ) ) ) )? (otherlv_7= 'round to' ( (lv_rounded_8_0= RULE_INT ) ) )? ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2342:1: ( () otherlv_1= 'signed integer in range' ( ( ( (lv_beginRange_2_0= ruleSINT ) ) | ( (otherlv_3= RULE_ID ) ) )? otherlv_4= 'up to and including' ( ( (lv_endRange_5_0= ruleSINT ) ) | ( (otherlv_6= RULE_ID ) ) ) )? (otherlv_7= 'round to' ( (lv_rounded_8_0= RULE_INT ) ) )? )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2342:1: ( () otherlv_1= 'signed integer in range' ( ( ( (lv_beginRange_2_0= ruleSINT ) ) | ( (otherlv_3= RULE_ID ) ) )? otherlv_4= 'up to and including' ( ( (lv_endRange_5_0= ruleSINT ) ) | ( (otherlv_6= RULE_ID ) ) ) )? (otherlv_7= 'round to' ( (lv_rounded_8_0= RULE_INT ) ) )? )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2342:2: () otherlv_1= 'signed integer in range' ( ( ( (lv_beginRange_2_0= ruleSINT ) ) | ( (otherlv_3= RULE_ID ) ) )? otherlv_4= 'up to and including' ( ( (lv_endRange_5_0= ruleSINT ) ) | ( (otherlv_6= RULE_ID ) ) ) )? (otherlv_7= 'round to' ( (lv_rounded_8_0= RULE_INT ) ) )?
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2342:2: ()
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2343:5: 
+            {
+            if ( state.backtracking==0 ) {
+
+                      current = forceCreateModelElement(
+                          grammarAccess.getPropertyFillerSignedIntegerRangeAccess().getPropertyFillerSignedIntegerRangeAction_0(),
+                          current);
+                  
+            }
+
+            }
+
+            otherlv_1=(Token)match(input,53,FOLLOW_53_in_rulePropertyFillerSignedIntegerRange5234); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_1, grammarAccess.getPropertyFillerSignedIntegerRangeAccess().getSignedIntegerInRangeKeyword_1());
+                  
+            }
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2352:1: ( ( ( (lv_beginRange_2_0= ruleSINT ) ) | ( (otherlv_3= RULE_ID ) ) )? otherlv_4= 'up to and including' ( ( (lv_endRange_5_0= ruleSINT ) ) | ( (otherlv_6= RULE_ID ) ) ) )?
+            int alt40=2;
+            int LA40_0 = input.LA(1);
+
+            if ( ((LA40_0>=RULE_INT && LA40_0<=RULE_ID)||LA40_0==48||LA40_0==80) ) {
+                alt40=1;
+            }
+            switch (alt40) {
+                case 1 :
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2352:2: ( ( (lv_beginRange_2_0= ruleSINT ) ) | ( (otherlv_3= RULE_ID ) ) )? otherlv_4= 'up to and including' ( ( (lv_endRange_5_0= ruleSINT ) ) | ( (otherlv_6= RULE_ID ) ) )
+                    {
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2352:2: ( ( (lv_beginRange_2_0= ruleSINT ) ) | ( (otherlv_3= RULE_ID ) ) )?
+                    int alt38=3;
+                    int LA38_0 = input.LA(1);
+
+                    if ( (LA38_0==RULE_INT||LA38_0==80) ) {
+                        alt38=1;
+                    }
+                    else if ( (LA38_0==RULE_ID) ) {
+                        alt38=2;
+                    }
+                    switch (alt38) {
+                        case 1 :
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2352:3: ( (lv_beginRange_2_0= ruleSINT ) )
+                            {
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2352:3: ( (lv_beginRange_2_0= ruleSINT ) )
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2353:1: (lv_beginRange_2_0= ruleSINT )
+                            {
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2353:1: (lv_beginRange_2_0= ruleSINT )
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2354:3: lv_beginRange_2_0= ruleSINT
+                            {
+                            if ( state.backtracking==0 ) {
+                               
+                              	        newCompositeNode(grammarAccess.getPropertyFillerSignedIntegerRangeAccess().getBeginRangeSINTParserRuleCall_2_0_0_0()); 
+                              	    
+                            }
+                            pushFollow(FOLLOW_ruleSINT_in_rulePropertyFillerSignedIntegerRange5257);
+                            lv_beginRange_2_0=ruleSINT();
+
+                            state._fsp--;
+                            if (state.failed) return current;
+                            if ( state.backtracking==0 ) {
+
+                              	        if (current==null) {
+                              	            current = createModelElementForParent(grammarAccess.getPropertyFillerSignedIntegerRangeRule());
+                              	        }
+                                     		set(
+                                     			current, 
+                                     			"beginRange",
+                                      		lv_beginRange_2_0, 
+                                      		"SINT");
+                              	        afterParserOrEnumRuleCall();
+                              	    
+                            }
+
+                            }
+
+
+                            }
+
+
+                            }
+                            break;
+                        case 2 :
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2371:6: ( (otherlv_3= RULE_ID ) )
+                            {
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2371:6: ( (otherlv_3= RULE_ID ) )
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2372:1: (otherlv_3= RULE_ID )
+                            {
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2372:1: (otherlv_3= RULE_ID )
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2373:3: otherlv_3= RULE_ID
+                            {
+                            if ( state.backtracking==0 ) {
+
+                              			if (current==null) {
+                              	            current = createModelElement(grammarAccess.getPropertyFillerSignedIntegerRangeRule());
+                              	        }
+                                      
+                            }
+                            otherlv_3=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_rulePropertyFillerSignedIntegerRange5283); if (state.failed) return current;
+                            if ( state.backtracking==0 ) {
+
+                              		newLeafNode(otherlv_3, grammarAccess.getPropertyFillerSignedIntegerRangeAccess().getBeginRangeRefLEntityAttributeCrossReference_2_0_1_0()); 
+                              	
+                            }
+
+                            }
+
+
+                            }
+
+
+                            }
+                            break;
+
+                    }
+
+                    otherlv_4=(Token)match(input,48,FOLLOW_48_in_rulePropertyFillerSignedIntegerRange5297); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                          	newLeafNode(otherlv_4, grammarAccess.getPropertyFillerSignedIntegerRangeAccess().getUpToAndIncludingKeyword_2_1());
+                          
+                    }
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2388:1: ( ( (lv_endRange_5_0= ruleSINT ) ) | ( (otherlv_6= RULE_ID ) ) )
+                    int alt39=2;
+                    int LA39_0 = input.LA(1);
+
+                    if ( (LA39_0==RULE_INT||LA39_0==80) ) {
+                        alt39=1;
+                    }
+                    else if ( (LA39_0==RULE_ID) ) {
+                        alt39=2;
+                    }
+                    else {
+                        if (state.backtracking>0) {state.failed=true; return current;}
+                        NoViableAltException nvae =
+                            new NoViableAltException("", 39, 0, input);
+
+                        throw nvae;
+                    }
+                    switch (alt39) {
+                        case 1 :
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2388:2: ( (lv_endRange_5_0= ruleSINT ) )
+                            {
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2388:2: ( (lv_endRange_5_0= ruleSINT ) )
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2389:1: (lv_endRange_5_0= ruleSINT )
+                            {
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2389:1: (lv_endRange_5_0= ruleSINT )
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2390:3: lv_endRange_5_0= ruleSINT
+                            {
+                            if ( state.backtracking==0 ) {
+                               
+                              	        newCompositeNode(grammarAccess.getPropertyFillerSignedIntegerRangeAccess().getEndRangeSINTParserRuleCall_2_2_0_0()); 
+                              	    
+                            }
+                            pushFollow(FOLLOW_ruleSINT_in_rulePropertyFillerSignedIntegerRange5319);
+                            lv_endRange_5_0=ruleSINT();
+
+                            state._fsp--;
+                            if (state.failed) return current;
+                            if ( state.backtracking==0 ) {
+
+                              	        if (current==null) {
+                              	            current = createModelElementForParent(grammarAccess.getPropertyFillerSignedIntegerRangeRule());
+                              	        }
+                                     		set(
+                                     			current, 
+                                     			"endRange",
+                                      		lv_endRange_5_0, 
+                                      		"SINT");
+                              	        afterParserOrEnumRuleCall();
+                              	    
+                            }
+
+                            }
+
+
+                            }
+
+
+                            }
+                            break;
+                        case 2 :
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2407:6: ( (otherlv_6= RULE_ID ) )
+                            {
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2407:6: ( (otherlv_6= RULE_ID ) )
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2408:1: (otherlv_6= RULE_ID )
+                            {
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2408:1: (otherlv_6= RULE_ID )
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2409:3: otherlv_6= RULE_ID
+                            {
+                            if ( state.backtracking==0 ) {
+
+                              			if (current==null) {
+                              	            current = createModelElement(grammarAccess.getPropertyFillerSignedIntegerRangeRule());
+                              	        }
+                                      
+                            }
+                            otherlv_6=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_rulePropertyFillerSignedIntegerRange5345); if (state.failed) return current;
+                            if ( state.backtracking==0 ) {
+
+                              		newLeafNode(otherlv_6, grammarAccess.getPropertyFillerSignedIntegerRangeAccess().getEndRangeRefLEntityAttributeCrossReference_2_2_1_0()); 
+                              	
+                            }
+
+                            }
+
+
+                            }
+
+
+                            }
+                            break;
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2420:5: (otherlv_7= 'round to' ( (lv_rounded_8_0= RULE_INT ) ) )?
+            int alt41=2;
+            int LA41_0 = input.LA(1);
+
+            if ( (LA41_0==51) ) {
+                alt41=1;
+            }
+            switch (alt41) {
+                case 1 :
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2420:7: otherlv_7= 'round to' ( (lv_rounded_8_0= RULE_INT ) )
+                    {
+                    otherlv_7=(Token)match(input,51,FOLLOW_51_in_rulePropertyFillerSignedIntegerRange5361); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                          	newLeafNode(otherlv_7, grammarAccess.getPropertyFillerSignedIntegerRangeAccess().getRoundToKeyword_3_0());
+                          
+                    }
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2424:1: ( (lv_rounded_8_0= RULE_INT ) )
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2425:1: (lv_rounded_8_0= RULE_INT )
+                    {
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2425:1: (lv_rounded_8_0= RULE_INT )
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2426:3: lv_rounded_8_0= RULE_INT
+                    {
+                    lv_rounded_8_0=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_rulePropertyFillerSignedIntegerRange5378); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                      			newLeafNode(lv_rounded_8_0, grammarAccess.getPropertyFillerSignedIntegerRangeAccess().getRoundedINTTerminalRuleCall_3_1_0()); 
+                      		
+                    }
+                    if ( state.backtracking==0 ) {
+
+                      	        if (current==null) {
+                      	            current = createModelElement(grammarAccess.getPropertyFillerSignedIntegerRangeRule());
+                      	        }
+                             		setWithLastConsumed(
+                             			current, 
+                             			"rounded",
+                              		lv_rounded_8_0, 
+                              		"INT");
+                      	    
+                    }
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+
+            }
+
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "rulePropertyFillerSignedIntegerRange"
+
+
+    // $ANTLR start "entryRulePropertyFillerSignedIntegerRandom"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2450:1: entryRulePropertyFillerSignedIntegerRandom returns [EObject current=null] : iv_rulePropertyFillerSignedIntegerRandom= rulePropertyFillerSignedIntegerRandom EOF ;
+    public final EObject entryRulePropertyFillerSignedIntegerRandom() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_rulePropertyFillerSignedIntegerRandom = null;
+
+
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2451:2: (iv_rulePropertyFillerSignedIntegerRandom= rulePropertyFillerSignedIntegerRandom EOF )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2452:2: iv_rulePropertyFillerSignedIntegerRandom= rulePropertyFillerSignedIntegerRandom EOF
+            {
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getPropertyFillerSignedIntegerRandomRule()); 
+            }
+            pushFollow(FOLLOW_rulePropertyFillerSignedIntegerRandom_in_entryRulePropertyFillerSignedIntegerRandom5421);
+            iv_rulePropertyFillerSignedIntegerRandom=rulePropertyFillerSignedIntegerRandom();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_rulePropertyFillerSignedIntegerRandom; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRulePropertyFillerSignedIntegerRandom5431); if (state.failed) return current;
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRulePropertyFillerSignedIntegerRandom"
+
+
+    // $ANTLR start "rulePropertyFillerSignedIntegerRandom"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2459:1: rulePropertyFillerSignedIntegerRandom returns [EObject current=null] : (otherlv_0= 'signed integer from' otherlv_1= '(' ( (lv_items_2_0= ruleSINT ) )+ otherlv_3= ')' ) ;
+    public final EObject rulePropertyFillerSignedIntegerRandom() throws RecognitionException {
+        EObject current = null;
+
+        Token otherlv_0=null;
+        Token otherlv_1=null;
+        Token otherlv_3=null;
+        AntlrDatatypeRuleToken lv_items_2_0 = null;
+
+
+         enterRule(); 
+            
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2462:28: ( (otherlv_0= 'signed integer from' otherlv_1= '(' ( (lv_items_2_0= ruleSINT ) )+ otherlv_3= ')' ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2463:1: (otherlv_0= 'signed integer from' otherlv_1= '(' ( (lv_items_2_0= ruleSINT ) )+ otherlv_3= ')' )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2463:1: (otherlv_0= 'signed integer from' otherlv_1= '(' ( (lv_items_2_0= ruleSINT ) )+ otherlv_3= ')' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2463:3: otherlv_0= 'signed integer from' otherlv_1= '(' ( (lv_items_2_0= ruleSINT ) )+ otherlv_3= ')'
+            {
+            otherlv_0=(Token)match(input,54,FOLLOW_54_in_rulePropertyFillerSignedIntegerRandom5468); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_0, grammarAccess.getPropertyFillerSignedIntegerRandomAccess().getSignedIntegerFromKeyword_0());
+                  
+            }
+            otherlv_1=(Token)match(input,26,FOLLOW_26_in_rulePropertyFillerSignedIntegerRandom5480); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_1, grammarAccess.getPropertyFillerSignedIntegerRandomAccess().getLeftParenthesisKeyword_1());
+                  
+            }
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2471:1: ( (lv_items_2_0= ruleSINT ) )+
+            int cnt42=0;
+            loop42:
+            do {
+                int alt42=2;
+                int LA42_0 = input.LA(1);
+
+                if ( (LA42_0==RULE_INT||LA42_0==80) ) {
+                    alt42=1;
+                }
+
+
+                switch (alt42) {
+            	case 1 :
+            	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2472:1: (lv_items_2_0= ruleSINT )
+            	    {
+            	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2472:1: (lv_items_2_0= ruleSINT )
+            	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2473:3: lv_items_2_0= ruleSINT
+            	    {
+            	    if ( state.backtracking==0 ) {
+            	       
+            	      	        newCompositeNode(grammarAccess.getPropertyFillerSignedIntegerRandomAccess().getItemsSINTParserRuleCall_2_0()); 
+            	      	    
+            	    }
+            	    pushFollow(FOLLOW_ruleSINT_in_rulePropertyFillerSignedIntegerRandom5501);
+            	    lv_items_2_0=ruleSINT();
+
+            	    state._fsp--;
+            	    if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
+
+            	      	        if (current==null) {
+            	      	            current = createModelElementForParent(grammarAccess.getPropertyFillerSignedIntegerRandomRule());
+            	      	        }
+            	             		add(
+            	             			current, 
+            	             			"items",
+            	              		lv_items_2_0, 
+            	              		"SINT");
+            	      	        afterParserOrEnumRuleCall();
+            	      	    
+            	    }
+
+            	    }
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    if ( cnt42 >= 1 ) break loop42;
+            	    if (state.backtracking>0) {state.failed=true; return current;}
+                        EarlyExitException eee =
+                            new EarlyExitException(42, input);
+                        throw eee;
+                }
+                cnt42++;
+            } while (true);
+
+            otherlv_3=(Token)match(input,28,FOLLOW_28_in_rulePropertyFillerSignedIntegerRandom5514); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_3, grammarAccess.getPropertyFillerSignedIntegerRandomAccess().getRightParenthesisKeyword_3());
+                  
+            }
+
+            }
+
+
+            }
+
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "rulePropertyFillerSignedIntegerRandom"
+
+
+    // $ANTLR start "entryRulePropertyFillerTextRandom"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2501:1: entryRulePropertyFillerTextRandom returns [EObject current=null] : iv_rulePropertyFillerTextRandom= rulePropertyFillerTextRandom EOF ;
+    public final EObject entryRulePropertyFillerTextRandom() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_rulePropertyFillerTextRandom = null;
+
+
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2502:2: (iv_rulePropertyFillerTextRandom= rulePropertyFillerTextRandom EOF )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2503:2: iv_rulePropertyFillerTextRandom= rulePropertyFillerTextRandom EOF
+            {
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getPropertyFillerTextRandomRule()); 
+            }
+            pushFollow(FOLLOW_rulePropertyFillerTextRandom_in_entryRulePropertyFillerTextRandom5550);
+            iv_rulePropertyFillerTextRandom=rulePropertyFillerTextRandom();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_rulePropertyFillerTextRandom; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRulePropertyFillerTextRandom5560); if (state.failed) return current;
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRulePropertyFillerTextRandom"
+
+
+    // $ANTLR start "rulePropertyFillerTextRandom"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2510:1: rulePropertyFillerTextRandom returns [EObject current=null] : (otherlv_0= 'text from' otherlv_1= '(' ( (lv_items_2_0= RULE_STRING ) )+ otherlv_3= ')' ) ;
+    public final EObject rulePropertyFillerTextRandom() throws RecognitionException {
+        EObject current = null;
+
+        Token otherlv_0=null;
+        Token otherlv_1=null;
+        Token lv_items_2_0=null;
+        Token otherlv_3=null;
+
+         enterRule(); 
+            
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2513:28: ( (otherlv_0= 'text from' otherlv_1= '(' ( (lv_items_2_0= RULE_STRING ) )+ otherlv_3= ')' ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2514:1: (otherlv_0= 'text from' otherlv_1= '(' ( (lv_items_2_0= RULE_STRING ) )+ otherlv_3= ')' )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2514:1: (otherlv_0= 'text from' otherlv_1= '(' ( (lv_items_2_0= RULE_STRING ) )+ otherlv_3= ')' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2514:3: otherlv_0= 'text from' otherlv_1= '(' ( (lv_items_2_0= RULE_STRING ) )+ otherlv_3= ')'
+            {
+            otherlv_0=(Token)match(input,55,FOLLOW_55_in_rulePropertyFillerTextRandom5597); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_0, grammarAccess.getPropertyFillerTextRandomAccess().getTextFromKeyword_0());
+                  
+            }
+            otherlv_1=(Token)match(input,26,FOLLOW_26_in_rulePropertyFillerTextRandom5609); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_1, grammarAccess.getPropertyFillerTextRandomAccess().getLeftParenthesisKeyword_1());
+                  
+            }
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2522:1: ( (lv_items_2_0= RULE_STRING ) )+
+            int cnt43=0;
+            loop43:
+            do {
+                int alt43=2;
+                int LA43_0 = input.LA(1);
+
+                if ( (LA43_0==RULE_STRING) ) {
+                    alt43=1;
+                }
+
+
+                switch (alt43) {
+            	case 1 :
+            	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2523:1: (lv_items_2_0= RULE_STRING )
+            	    {
+            	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2523:1: (lv_items_2_0= RULE_STRING )
+            	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2524:3: lv_items_2_0= RULE_STRING
+            	    {
+            	    lv_items_2_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rulePropertyFillerTextRandom5626); if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
+
+            	      			newLeafNode(lv_items_2_0, grammarAccess.getPropertyFillerTextRandomAccess().getItemsSTRINGTerminalRuleCall_2_0()); 
+            	      		
+            	    }
+            	    if ( state.backtracking==0 ) {
+
+            	      	        if (current==null) {
+            	      	            current = createModelElement(grammarAccess.getPropertyFillerTextRandomRule());
+            	      	        }
+            	             		addWithLastConsumed(
+            	             			current, 
+            	             			"items",
+            	              		lv_items_2_0, 
+            	              		"STRING");
+            	      	    
+            	    }
+
+            	    }
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    if ( cnt43 >= 1 ) break loop43;
+            	    if (state.backtracking>0) {state.failed=true; return current;}
+                        EarlyExitException eee =
+                            new EarlyExitException(43, input);
+                        throw eee;
+                }
+                cnt43++;
+            } while (true);
+
+            otherlv_3=(Token)match(input,28,FOLLOW_28_in_rulePropertyFillerTextRandom5644); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_3, grammarAccess.getPropertyFillerTextRandomAccess().getRightParenthesisKeyword_3());
+                  
+            }
+
+            }
+
+
+            }
+
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "rulePropertyFillerTextRandom"
+
+
+    // $ANTLR start "entryRulePropertyFillerTextParagraphs"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2552:1: entryRulePropertyFillerTextParagraphs returns [EObject current=null] : iv_rulePropertyFillerTextParagraphs= rulePropertyFillerTextParagraphs EOF ;
+    public final EObject entryRulePropertyFillerTextParagraphs() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_rulePropertyFillerTextParagraphs = null;
+
+
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2553:2: (iv_rulePropertyFillerTextParagraphs= rulePropertyFillerTextParagraphs EOF )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2554:2: iv_rulePropertyFillerTextParagraphs= rulePropertyFillerTextParagraphs EOF
+            {
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getPropertyFillerTextParagraphsRule()); 
+            }
+            pushFollow(FOLLOW_rulePropertyFillerTextParagraphs_in_entryRulePropertyFillerTextParagraphs5680);
+            iv_rulePropertyFillerTextParagraphs=rulePropertyFillerTextParagraphs();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_rulePropertyFillerTextParagraphs; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRulePropertyFillerTextParagraphs5690); if (state.failed) return current;
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRulePropertyFillerTextParagraphs"
+
+
+    // $ANTLR start "rulePropertyFillerTextParagraphs"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2561:1: rulePropertyFillerTextParagraphs returns [EObject current=null] : ( () otherlv_1= 'paragraps' ( (lv_count_2_0= RULE_INT ) )? ) ;
+    public final EObject rulePropertyFillerTextParagraphs() throws RecognitionException {
+        EObject current = null;
+
+        Token otherlv_1=null;
+        Token lv_count_2_0=null;
+
+         enterRule(); 
+            
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2564:28: ( ( () otherlv_1= 'paragraps' ( (lv_count_2_0= RULE_INT ) )? ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2565:1: ( () otherlv_1= 'paragraps' ( (lv_count_2_0= RULE_INT ) )? )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2565:1: ( () otherlv_1= 'paragraps' ( (lv_count_2_0= RULE_INT ) )? )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2565:2: () otherlv_1= 'paragraps' ( (lv_count_2_0= RULE_INT ) )?
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2565:2: ()
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2566:5: 
+            {
+            if ( state.backtracking==0 ) {
+
+                      current = forceCreateModelElement(
+                          grammarAccess.getPropertyFillerTextParagraphsAccess().getPropertyFillerTextParagraphsAction_0(),
+                          current);
+                  
+            }
+
+            }
+
+            otherlv_1=(Token)match(input,56,FOLLOW_56_in_rulePropertyFillerTextParagraphs5736); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_1, grammarAccess.getPropertyFillerTextParagraphsAccess().getParagrapsKeyword_1());
+                  
+            }
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2575:1: ( (lv_count_2_0= RULE_INT ) )?
+            int alt44=2;
+            int LA44_0 = input.LA(1);
+
+            if ( (LA44_0==RULE_INT) ) {
+                alt44=1;
+            }
+            switch (alt44) {
+                case 1 :
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2576:1: (lv_count_2_0= RULE_INT )
+                    {
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2576:1: (lv_count_2_0= RULE_INT )
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2577:3: lv_count_2_0= RULE_INT
+                    {
+                    lv_count_2_0=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_rulePropertyFillerTextParagraphs5753); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                      			newLeafNode(lv_count_2_0, grammarAccess.getPropertyFillerTextParagraphsAccess().getCountINTTerminalRuleCall_2_0()); 
+                      		
+                    }
+                    if ( state.backtracking==0 ) {
+
+                      	        if (current==null) {
+                      	            current = createModelElement(grammarAccess.getPropertyFillerTextParagraphsRule());
+                      	        }
+                             		setWithLastConsumed(
+                             			current, 
+                             			"count",
+                              		lv_count_2_0, 
+                              		"INT");
+                      	    
+                    }
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+
+            }
+
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "rulePropertyFillerTextParagraphs"
+
+
+    // $ANTLR start "entryRulePropertyFillerTextSentences"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2601:1: entryRulePropertyFillerTextSentences returns [EObject current=null] : iv_rulePropertyFillerTextSentences= rulePropertyFillerTextSentences EOF ;
+    public final EObject entryRulePropertyFillerTextSentences() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_rulePropertyFillerTextSentences = null;
+
+
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2602:2: (iv_rulePropertyFillerTextSentences= rulePropertyFillerTextSentences EOF )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2603:2: iv_rulePropertyFillerTextSentences= rulePropertyFillerTextSentences EOF
+            {
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getPropertyFillerTextSentencesRule()); 
+            }
+            pushFollow(FOLLOW_rulePropertyFillerTextSentences_in_entryRulePropertyFillerTextSentences5795);
+            iv_rulePropertyFillerTextSentences=rulePropertyFillerTextSentences();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_rulePropertyFillerTextSentences; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRulePropertyFillerTextSentences5805); if (state.failed) return current;
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRulePropertyFillerTextSentences"
+
+
+    // $ANTLR start "rulePropertyFillerTextSentences"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2610:1: rulePropertyFillerTextSentences returns [EObject current=null] : ( () otherlv_1= 'sentences' ( (lv_count_2_0= RULE_INT ) )? ) ;
+    public final EObject rulePropertyFillerTextSentences() throws RecognitionException {
+        EObject current = null;
+
+        Token otherlv_1=null;
+        Token lv_count_2_0=null;
+
+         enterRule(); 
+            
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2613:28: ( ( () otherlv_1= 'sentences' ( (lv_count_2_0= RULE_INT ) )? ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2614:1: ( () otherlv_1= 'sentences' ( (lv_count_2_0= RULE_INT ) )? )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2614:1: ( () otherlv_1= 'sentences' ( (lv_count_2_0= RULE_INT ) )? )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2614:2: () otherlv_1= 'sentences' ( (lv_count_2_0= RULE_INT ) )?
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2614:2: ()
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2615:5: 
+            {
+            if ( state.backtracking==0 ) {
+
+                      current = forceCreateModelElement(
+                          grammarAccess.getPropertyFillerTextSentencesAccess().getPropertyFillerTextSentencesAction_0(),
+                          current);
+                  
+            }
+
+            }
+
+            otherlv_1=(Token)match(input,57,FOLLOW_57_in_rulePropertyFillerTextSentences5851); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_1, grammarAccess.getPropertyFillerTextSentencesAccess().getSentencesKeyword_1());
+                  
+            }
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2624:1: ( (lv_count_2_0= RULE_INT ) )?
+            int alt45=2;
+            int LA45_0 = input.LA(1);
+
+            if ( (LA45_0==RULE_INT) ) {
+                alt45=1;
+            }
+            switch (alt45) {
+                case 1 :
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2625:1: (lv_count_2_0= RULE_INT )
+                    {
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2625:1: (lv_count_2_0= RULE_INT )
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2626:3: lv_count_2_0= RULE_INT
+                    {
+                    lv_count_2_0=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_rulePropertyFillerTextSentences5868); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                      			newLeafNode(lv_count_2_0, grammarAccess.getPropertyFillerTextSentencesAccess().getCountINTTerminalRuleCall_2_0()); 
+                      		
+                    }
+                    if ( state.backtracking==0 ) {
+
+                      	        if (current==null) {
+                      	            current = createModelElement(grammarAccess.getPropertyFillerTextSentencesRule());
+                      	        }
+                             		setWithLastConsumed(
+                             			current, 
+                             			"count",
+                              		lv_count_2_0, 
+                              		"INT");
+                      	    
+                    }
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+
+            }
+
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "rulePropertyFillerTextSentences"
+
+
+    // $ANTLR start "entryRulePropertyFillerTextWords"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2650:1: entryRulePropertyFillerTextWords returns [EObject current=null] : iv_rulePropertyFillerTextWords= rulePropertyFillerTextWords EOF ;
+    public final EObject entryRulePropertyFillerTextWords() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_rulePropertyFillerTextWords = null;
+
+
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2651:2: (iv_rulePropertyFillerTextWords= rulePropertyFillerTextWords EOF )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2652:2: iv_rulePropertyFillerTextWords= rulePropertyFillerTextWords EOF
+            {
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getPropertyFillerTextWordsRule()); 
+            }
+            pushFollow(FOLLOW_rulePropertyFillerTextWords_in_entryRulePropertyFillerTextWords5910);
+            iv_rulePropertyFillerTextWords=rulePropertyFillerTextWords();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_rulePropertyFillerTextWords; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRulePropertyFillerTextWords5920); if (state.failed) return current;
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRulePropertyFillerTextWords"
+
+
+    // $ANTLR start "rulePropertyFillerTextWords"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2659:1: rulePropertyFillerTextWords returns [EObject current=null] : ( () otherlv_1= 'words' ( (lv_count_2_0= RULE_INT ) )? ) ;
+    public final EObject rulePropertyFillerTextWords() throws RecognitionException {
+        EObject current = null;
+
+        Token otherlv_1=null;
+        Token lv_count_2_0=null;
+
+         enterRule(); 
+            
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2662:28: ( ( () otherlv_1= 'words' ( (lv_count_2_0= RULE_INT ) )? ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2663:1: ( () otherlv_1= 'words' ( (lv_count_2_0= RULE_INT ) )? )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2663:1: ( () otherlv_1= 'words' ( (lv_count_2_0= RULE_INT ) )? )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2663:2: () otherlv_1= 'words' ( (lv_count_2_0= RULE_INT ) )?
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2663:2: ()
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2664:5: 
+            {
+            if ( state.backtracking==0 ) {
+
+                      current = forceCreateModelElement(
+                          grammarAccess.getPropertyFillerTextWordsAccess().getPropertyFillerTextWordsAction_0(),
+                          current);
+                  
+            }
+
+            }
+
+            otherlv_1=(Token)match(input,58,FOLLOW_58_in_rulePropertyFillerTextWords5966); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_1, grammarAccess.getPropertyFillerTextWordsAccess().getWordsKeyword_1());
+                  
+            }
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2673:1: ( (lv_count_2_0= RULE_INT ) )?
+            int alt46=2;
+            int LA46_0 = input.LA(1);
+
+            if ( (LA46_0==RULE_INT) ) {
+                alt46=1;
+            }
+            switch (alt46) {
+                case 1 :
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2674:1: (lv_count_2_0= RULE_INT )
+                    {
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2674:1: (lv_count_2_0= RULE_INT )
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2675:3: lv_count_2_0= RULE_INT
+                    {
+                    lv_count_2_0=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_rulePropertyFillerTextWords5983); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                      			newLeafNode(lv_count_2_0, grammarAccess.getPropertyFillerTextWordsAccess().getCountINTTerminalRuleCall_2_0()); 
+                      		
+                    }
+                    if ( state.backtracking==0 ) {
+
+                      	        if (current==null) {
+                      	            current = createModelElement(grammarAccess.getPropertyFillerTextWordsRule());
+                      	        }
+                             		setWithLastConsumed(
+                             			current, 
+                             			"count",
+                              		lv_count_2_0, 
+                              		"INT");
+                      	    
+                    }
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+
+            }
+
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "rulePropertyFillerTextWords"
+
+
+    // $ANTLR start "entryRulePropertyFillerUnsignedDoubleRange"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2699:1: entryRulePropertyFillerUnsignedDoubleRange returns [EObject current=null] : iv_rulePropertyFillerUnsignedDoubleRange= rulePropertyFillerUnsignedDoubleRange EOF ;
+    public final EObject entryRulePropertyFillerUnsignedDoubleRange() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_rulePropertyFillerUnsignedDoubleRange = null;
+
+
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2700:2: (iv_rulePropertyFillerUnsignedDoubleRange= rulePropertyFillerUnsignedDoubleRange EOF )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2701:2: iv_rulePropertyFillerUnsignedDoubleRange= rulePropertyFillerUnsignedDoubleRange EOF
+            {
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getPropertyFillerUnsignedDoubleRangeRule()); 
+            }
+            pushFollow(FOLLOW_rulePropertyFillerUnsignedDoubleRange_in_entryRulePropertyFillerUnsignedDoubleRange6025);
+            iv_rulePropertyFillerUnsignedDoubleRange=rulePropertyFillerUnsignedDoubleRange();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_rulePropertyFillerUnsignedDoubleRange; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRulePropertyFillerUnsignedDoubleRange6035); if (state.failed) return current;
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRulePropertyFillerUnsignedDoubleRange"
+
+
+    // $ANTLR start "rulePropertyFillerUnsignedDoubleRange"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2708:1: rulePropertyFillerUnsignedDoubleRange returns [EObject current=null] : (otherlv_0= 'unsigned double in range' ( ( ( (lv_beginRange_1_0= ruleUnsignedNumber ) ) | ( (otherlv_2= RULE_ID ) ) )? otherlv_3= 'up to and including' ( ( (lv_endRange_4_0= ruleUnsignedNumber ) ) | ( (otherlv_5= RULE_ID ) ) ) )? otherlv_6= 'with' ( (lv_decimals_7_0= RULE_INT ) ) otherlv_8= 'decimals' (otherlv_9= 'round to' ( (lv_rounded_10_0= ruleUnsignedNumber ) ) )? ) ;
+    public final EObject rulePropertyFillerUnsignedDoubleRange() throws RecognitionException {
+        EObject current = null;
+
+        Token otherlv_0=null;
+        Token otherlv_2=null;
+        Token otherlv_3=null;
+        Token otherlv_5=null;
+        Token otherlv_6=null;
+        Token lv_decimals_7_0=null;
+        Token otherlv_8=null;
+        Token otherlv_9=null;
+        AntlrDatatypeRuleToken lv_beginRange_1_0 = null;
+
+        AntlrDatatypeRuleToken lv_endRange_4_0 = null;
+
+        AntlrDatatypeRuleToken lv_rounded_10_0 = null;
+
+
+         enterRule(); 
+            
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2711:28: ( (otherlv_0= 'unsigned double in range' ( ( ( (lv_beginRange_1_0= ruleUnsignedNumber ) ) | ( (otherlv_2= RULE_ID ) ) )? otherlv_3= 'up to and including' ( ( (lv_endRange_4_0= ruleUnsignedNumber ) ) | ( (otherlv_5= RULE_ID ) ) ) )? otherlv_6= 'with' ( (lv_decimals_7_0= RULE_INT ) ) otherlv_8= 'decimals' (otherlv_9= 'round to' ( (lv_rounded_10_0= ruleUnsignedNumber ) ) )? ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2712:1: (otherlv_0= 'unsigned double in range' ( ( ( (lv_beginRange_1_0= ruleUnsignedNumber ) ) | ( (otherlv_2= RULE_ID ) ) )? otherlv_3= 'up to and including' ( ( (lv_endRange_4_0= ruleUnsignedNumber ) ) | ( (otherlv_5= RULE_ID ) ) ) )? otherlv_6= 'with' ( (lv_decimals_7_0= RULE_INT ) ) otherlv_8= 'decimals' (otherlv_9= 'round to' ( (lv_rounded_10_0= ruleUnsignedNumber ) ) )? )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2712:1: (otherlv_0= 'unsigned double in range' ( ( ( (lv_beginRange_1_0= ruleUnsignedNumber ) ) | ( (otherlv_2= RULE_ID ) ) )? otherlv_3= 'up to and including' ( ( (lv_endRange_4_0= ruleUnsignedNumber ) ) | ( (otherlv_5= RULE_ID ) ) ) )? otherlv_6= 'with' ( (lv_decimals_7_0= RULE_INT ) ) otherlv_8= 'decimals' (otherlv_9= 'round to' ( (lv_rounded_10_0= ruleUnsignedNumber ) ) )? )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2712:3: otherlv_0= 'unsigned double in range' ( ( ( (lv_beginRange_1_0= ruleUnsignedNumber ) ) | ( (otherlv_2= RULE_ID ) ) )? otherlv_3= 'up to and including' ( ( (lv_endRange_4_0= ruleUnsignedNumber ) ) | ( (otherlv_5= RULE_ID ) ) ) )? otherlv_6= 'with' ( (lv_decimals_7_0= RULE_INT ) ) otherlv_8= 'decimals' (otherlv_9= 'round to' ( (lv_rounded_10_0= ruleUnsignedNumber ) ) )?
+            {
+            otherlv_0=(Token)match(input,59,FOLLOW_59_in_rulePropertyFillerUnsignedDoubleRange6072); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_0, grammarAccess.getPropertyFillerUnsignedDoubleRangeAccess().getUnsignedDoubleInRangeKeyword_0());
+                  
+            }
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2716:1: ( ( ( (lv_beginRange_1_0= ruleUnsignedNumber ) ) | ( (otherlv_2= RULE_ID ) ) )? otherlv_3= 'up to and including' ( ( (lv_endRange_4_0= ruleUnsignedNumber ) ) | ( (otherlv_5= RULE_ID ) ) ) )?
+            int alt49=2;
+            int LA49_0 = input.LA(1);
+
+            if ( ((LA49_0>=RULE_INT && LA49_0<=RULE_ID)||LA49_0==48) ) {
+                alt49=1;
+            }
+            switch (alt49) {
+                case 1 :
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2716:2: ( ( (lv_beginRange_1_0= ruleUnsignedNumber ) ) | ( (otherlv_2= RULE_ID ) ) )? otherlv_3= 'up to and including' ( ( (lv_endRange_4_0= ruleUnsignedNumber ) ) | ( (otherlv_5= RULE_ID ) ) )
+                    {
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2716:2: ( ( (lv_beginRange_1_0= ruleUnsignedNumber ) ) | ( (otherlv_2= RULE_ID ) ) )?
+                    int alt47=3;
+                    int LA47_0 = input.LA(1);
+
+                    if ( (LA47_0==RULE_INT) ) {
+                        alt47=1;
+                    }
+                    else if ( (LA47_0==RULE_ID) ) {
+                        alt47=2;
+                    }
+                    switch (alt47) {
+                        case 1 :
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2716:3: ( (lv_beginRange_1_0= ruleUnsignedNumber ) )
+                            {
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2716:3: ( (lv_beginRange_1_0= ruleUnsignedNumber ) )
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2717:1: (lv_beginRange_1_0= ruleUnsignedNumber )
+                            {
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2717:1: (lv_beginRange_1_0= ruleUnsignedNumber )
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2718:3: lv_beginRange_1_0= ruleUnsignedNumber
+                            {
+                            if ( state.backtracking==0 ) {
+                               
+                              	        newCompositeNode(grammarAccess.getPropertyFillerUnsignedDoubleRangeAccess().getBeginRangeUnsignedNumberParserRuleCall_1_0_0_0()); 
+                              	    
+                            }
+                            pushFollow(FOLLOW_ruleUnsignedNumber_in_rulePropertyFillerUnsignedDoubleRange6095);
+                            lv_beginRange_1_0=ruleUnsignedNumber();
+
+                            state._fsp--;
+                            if (state.failed) return current;
+                            if ( state.backtracking==0 ) {
+
+                              	        if (current==null) {
+                              	            current = createModelElementForParent(grammarAccess.getPropertyFillerUnsignedDoubleRangeRule());
+                              	        }
+                                     		set(
+                                     			current, 
+                                     			"beginRange",
+                                      		lv_beginRange_1_0, 
+                                      		"UnsignedNumber");
+                              	        afterParserOrEnumRuleCall();
+                              	    
+                            }
+
+                            }
+
+
+                            }
+
+
+                            }
+                            break;
+                        case 2 :
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2735:6: ( (otherlv_2= RULE_ID ) )
+                            {
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2735:6: ( (otherlv_2= RULE_ID ) )
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2736:1: (otherlv_2= RULE_ID )
+                            {
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2736:1: (otherlv_2= RULE_ID )
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2737:3: otherlv_2= RULE_ID
+                            {
+                            if ( state.backtracking==0 ) {
+
+                              			if (current==null) {
+                              	            current = createModelElement(grammarAccess.getPropertyFillerUnsignedDoubleRangeRule());
+                              	        }
+                                      
+                            }
+                            otherlv_2=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_rulePropertyFillerUnsignedDoubleRange6121); if (state.failed) return current;
+                            if ( state.backtracking==0 ) {
+
+                              		newLeafNode(otherlv_2, grammarAccess.getPropertyFillerUnsignedDoubleRangeAccess().getBeginRangeRefLEntityAttributeCrossReference_1_0_1_0()); 
+                              	
+                            }
+
+                            }
+
+
+                            }
+
+
+                            }
+                            break;
+
+                    }
+
+                    otherlv_3=(Token)match(input,48,FOLLOW_48_in_rulePropertyFillerUnsignedDoubleRange6135); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                          	newLeafNode(otherlv_3, grammarAccess.getPropertyFillerUnsignedDoubleRangeAccess().getUpToAndIncludingKeyword_1_1());
+                          
+                    }
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2752:1: ( ( (lv_endRange_4_0= ruleUnsignedNumber ) ) | ( (otherlv_5= RULE_ID ) ) )
+                    int alt48=2;
+                    int LA48_0 = input.LA(1);
+
+                    if ( (LA48_0==RULE_INT) ) {
+                        alt48=1;
+                    }
+                    else if ( (LA48_0==RULE_ID) ) {
+                        alt48=2;
+                    }
+                    else {
+                        if (state.backtracking>0) {state.failed=true; return current;}
+                        NoViableAltException nvae =
+                            new NoViableAltException("", 48, 0, input);
+
+                        throw nvae;
+                    }
+                    switch (alt48) {
+                        case 1 :
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2752:2: ( (lv_endRange_4_0= ruleUnsignedNumber ) )
+                            {
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2752:2: ( (lv_endRange_4_0= ruleUnsignedNumber ) )
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2753:1: (lv_endRange_4_0= ruleUnsignedNumber )
+                            {
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2753:1: (lv_endRange_4_0= ruleUnsignedNumber )
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2754:3: lv_endRange_4_0= ruleUnsignedNumber
+                            {
+                            if ( state.backtracking==0 ) {
+                               
+                              	        newCompositeNode(grammarAccess.getPropertyFillerUnsignedDoubleRangeAccess().getEndRangeUnsignedNumberParserRuleCall_1_2_0_0()); 
+                              	    
+                            }
+                            pushFollow(FOLLOW_ruleUnsignedNumber_in_rulePropertyFillerUnsignedDoubleRange6157);
+                            lv_endRange_4_0=ruleUnsignedNumber();
+
+                            state._fsp--;
+                            if (state.failed) return current;
+                            if ( state.backtracking==0 ) {
+
+                              	        if (current==null) {
+                              	            current = createModelElementForParent(grammarAccess.getPropertyFillerUnsignedDoubleRangeRule());
+                              	        }
+                                     		set(
+                                     			current, 
+                                     			"endRange",
+                                      		lv_endRange_4_0, 
+                                      		"UnsignedNumber");
+                              	        afterParserOrEnumRuleCall();
+                              	    
+                            }
+
+                            }
+
+
+                            }
+
+
+                            }
+                            break;
+                        case 2 :
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2771:6: ( (otherlv_5= RULE_ID ) )
+                            {
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2771:6: ( (otherlv_5= RULE_ID ) )
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2772:1: (otherlv_5= RULE_ID )
+                            {
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2772:1: (otherlv_5= RULE_ID )
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2773:3: otherlv_5= RULE_ID
+                            {
+                            if ( state.backtracking==0 ) {
+
+                              			if (current==null) {
+                              	            current = createModelElement(grammarAccess.getPropertyFillerUnsignedDoubleRangeRule());
+                              	        }
+                                      
+                            }
+                            otherlv_5=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_rulePropertyFillerUnsignedDoubleRange6183); if (state.failed) return current;
+                            if ( state.backtracking==0 ) {
+
+                              		newLeafNode(otherlv_5, grammarAccess.getPropertyFillerUnsignedDoubleRangeAccess().getEndRangeRefLEntityAttributeCrossReference_1_2_1_0()); 
+                              	
+                            }
+
+                            }
+
+
+                            }
+
+
+                            }
+                            break;
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+
+            otherlv_6=(Token)match(input,35,FOLLOW_35_in_rulePropertyFillerUnsignedDoubleRange6198); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_6, grammarAccess.getPropertyFillerUnsignedDoubleRangeAccess().getWithKeyword_2());
+                  
+            }
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2788:1: ( (lv_decimals_7_0= RULE_INT ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2789:1: (lv_decimals_7_0= RULE_INT )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2789:1: (lv_decimals_7_0= RULE_INT )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2790:3: lv_decimals_7_0= RULE_INT
+            {
+            lv_decimals_7_0=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_rulePropertyFillerUnsignedDoubleRange6215); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+              			newLeafNode(lv_decimals_7_0, grammarAccess.getPropertyFillerUnsignedDoubleRangeAccess().getDecimalsINTTerminalRuleCall_3_0()); 
+              		
+            }
+            if ( state.backtracking==0 ) {
+
+              	        if (current==null) {
+              	            current = createModelElement(grammarAccess.getPropertyFillerUnsignedDoubleRangeRule());
+              	        }
+                     		setWithLastConsumed(
+                     			current, 
+                     			"decimals",
+                      		lv_decimals_7_0, 
+                      		"INT");
+              	    
+            }
+
+            }
+
+
+            }
+
+            otherlv_8=(Token)match(input,50,FOLLOW_50_in_rulePropertyFillerUnsignedDoubleRange6232); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_8, grammarAccess.getPropertyFillerUnsignedDoubleRangeAccess().getDecimalsKeyword_4());
+                  
+            }
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2810:1: (otherlv_9= 'round to' ( (lv_rounded_10_0= ruleUnsignedNumber ) ) )?
+            int alt50=2;
+            int LA50_0 = input.LA(1);
+
+            if ( (LA50_0==51) ) {
+                alt50=1;
+            }
+            switch (alt50) {
+                case 1 :
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2810:3: otherlv_9= 'round to' ( (lv_rounded_10_0= ruleUnsignedNumber ) )
+                    {
+                    otherlv_9=(Token)match(input,51,FOLLOW_51_in_rulePropertyFillerUnsignedDoubleRange6245); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                          	newLeafNode(otherlv_9, grammarAccess.getPropertyFillerUnsignedDoubleRangeAccess().getRoundToKeyword_5_0());
+                          
+                    }
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2814:1: ( (lv_rounded_10_0= ruleUnsignedNumber ) )
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2815:1: (lv_rounded_10_0= ruleUnsignedNumber )
+                    {
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2815:1: (lv_rounded_10_0= ruleUnsignedNumber )
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2816:3: lv_rounded_10_0= ruleUnsignedNumber
+                    {
+                    if ( state.backtracking==0 ) {
+                       
+                      	        newCompositeNode(grammarAccess.getPropertyFillerUnsignedDoubleRangeAccess().getRoundedUnsignedNumberParserRuleCall_5_1_0()); 
+                      	    
+                    }
+                    pushFollow(FOLLOW_ruleUnsignedNumber_in_rulePropertyFillerUnsignedDoubleRange6266);
+                    lv_rounded_10_0=ruleUnsignedNumber();
+
+                    state._fsp--;
+                    if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                      	        if (current==null) {
+                      	            current = createModelElementForParent(grammarAccess.getPropertyFillerUnsignedDoubleRangeRule());
+                      	        }
+                             		set(
+                             			current, 
+                             			"rounded",
+                              		lv_rounded_10_0, 
+                              		"UnsignedNumber");
+                      	        afterParserOrEnumRuleCall();
+                      	    
+                    }
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+
+            }
+
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "rulePropertyFillerUnsignedDoubleRange"
+
+
+    // $ANTLR start "entryRulePropertyFillerUnsignedDoubleRandom"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2840:1: entryRulePropertyFillerUnsignedDoubleRandom returns [EObject current=null] : iv_rulePropertyFillerUnsignedDoubleRandom= rulePropertyFillerUnsignedDoubleRandom EOF ;
+    public final EObject entryRulePropertyFillerUnsignedDoubleRandom() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_rulePropertyFillerUnsignedDoubleRandom = null;
+
+
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2841:2: (iv_rulePropertyFillerUnsignedDoubleRandom= rulePropertyFillerUnsignedDoubleRandom EOF )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2842:2: iv_rulePropertyFillerUnsignedDoubleRandom= rulePropertyFillerUnsignedDoubleRandom EOF
+            {
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getPropertyFillerUnsignedDoubleRandomRule()); 
+            }
+            pushFollow(FOLLOW_rulePropertyFillerUnsignedDoubleRandom_in_entryRulePropertyFillerUnsignedDoubleRandom6304);
+            iv_rulePropertyFillerUnsignedDoubleRandom=rulePropertyFillerUnsignedDoubleRandom();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_rulePropertyFillerUnsignedDoubleRandom; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRulePropertyFillerUnsignedDoubleRandom6314); if (state.failed) return current;
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRulePropertyFillerUnsignedDoubleRandom"
+
+
+    // $ANTLR start "rulePropertyFillerUnsignedDoubleRandom"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2849:1: rulePropertyFillerUnsignedDoubleRandom returns [EObject current=null] : (otherlv_0= 'unsigned double from' otherlv_1= '(' ( (lv_items_2_0= ruleUnsignedNumber ) )+ otherlv_3= ')' ) ;
+    public final EObject rulePropertyFillerUnsignedDoubleRandom() throws RecognitionException {
+        EObject current = null;
+
+        Token otherlv_0=null;
+        Token otherlv_1=null;
+        Token otherlv_3=null;
+        AntlrDatatypeRuleToken lv_items_2_0 = null;
+
+
+         enterRule(); 
+            
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2852:28: ( (otherlv_0= 'unsigned double from' otherlv_1= '(' ( (lv_items_2_0= ruleUnsignedNumber ) )+ otherlv_3= ')' ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2853:1: (otherlv_0= 'unsigned double from' otherlv_1= '(' ( (lv_items_2_0= ruleUnsignedNumber ) )+ otherlv_3= ')' )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2853:1: (otherlv_0= 'unsigned double from' otherlv_1= '(' ( (lv_items_2_0= ruleUnsignedNumber ) )+ otherlv_3= ')' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2853:3: otherlv_0= 'unsigned double from' otherlv_1= '(' ( (lv_items_2_0= ruleUnsignedNumber ) )+ otherlv_3= ')'
+            {
+            otherlv_0=(Token)match(input,60,FOLLOW_60_in_rulePropertyFillerUnsignedDoubleRandom6351); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_0, grammarAccess.getPropertyFillerUnsignedDoubleRandomAccess().getUnsignedDoubleFromKeyword_0());
+                  
+            }
+            otherlv_1=(Token)match(input,26,FOLLOW_26_in_rulePropertyFillerUnsignedDoubleRandom6363); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_1, grammarAccess.getPropertyFillerUnsignedDoubleRandomAccess().getLeftParenthesisKeyword_1());
+                  
+            }
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2861:1: ( (lv_items_2_0= ruleUnsignedNumber ) )+
+            int cnt51=0;
+            loop51:
+            do {
+                int alt51=2;
+                int LA51_0 = input.LA(1);
+
+                if ( (LA51_0==RULE_INT) ) {
+                    alt51=1;
+                }
+
+
+                switch (alt51) {
+            	case 1 :
+            	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2862:1: (lv_items_2_0= ruleUnsignedNumber )
+            	    {
+            	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2862:1: (lv_items_2_0= ruleUnsignedNumber )
+            	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2863:3: lv_items_2_0= ruleUnsignedNumber
+            	    {
+            	    if ( state.backtracking==0 ) {
+            	       
+            	      	        newCompositeNode(grammarAccess.getPropertyFillerUnsignedDoubleRandomAccess().getItemsUnsignedNumberParserRuleCall_2_0()); 
+            	      	    
+            	    }
+            	    pushFollow(FOLLOW_ruleUnsignedNumber_in_rulePropertyFillerUnsignedDoubleRandom6384);
+            	    lv_items_2_0=ruleUnsignedNumber();
+
+            	    state._fsp--;
+            	    if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
+
+            	      	        if (current==null) {
+            	      	            current = createModelElementForParent(grammarAccess.getPropertyFillerUnsignedDoubleRandomRule());
+            	      	        }
+            	             		add(
+            	             			current, 
+            	             			"items",
+            	              		lv_items_2_0, 
+            	              		"UnsignedNumber");
+            	      	        afterParserOrEnumRuleCall();
+            	      	    
+            	    }
+
+            	    }
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    if ( cnt51 >= 1 ) break loop51;
+            	    if (state.backtracking>0) {state.failed=true; return current;}
+                        EarlyExitException eee =
+                            new EarlyExitException(51, input);
+                        throw eee;
+                }
+                cnt51++;
+            } while (true);
+
+            otherlv_3=(Token)match(input,28,FOLLOW_28_in_rulePropertyFillerUnsignedDoubleRandom6397); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_3, grammarAccess.getPropertyFillerUnsignedDoubleRandomAccess().getRightParenthesisKeyword_3());
+                  
+            }
+
+            }
+
+
+            }
+
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "rulePropertyFillerUnsignedDoubleRandom"
+
+
+    // $ANTLR start "entryRulePropertyFillerUnsignedIntegerRange"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2891:1: entryRulePropertyFillerUnsignedIntegerRange returns [EObject current=null] : iv_rulePropertyFillerUnsignedIntegerRange= rulePropertyFillerUnsignedIntegerRange EOF ;
+    public final EObject entryRulePropertyFillerUnsignedIntegerRange() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_rulePropertyFillerUnsignedIntegerRange = null;
+
+
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2892:2: (iv_rulePropertyFillerUnsignedIntegerRange= rulePropertyFillerUnsignedIntegerRange EOF )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2893:2: iv_rulePropertyFillerUnsignedIntegerRange= rulePropertyFillerUnsignedIntegerRange EOF
+            {
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getPropertyFillerUnsignedIntegerRangeRule()); 
+            }
+            pushFollow(FOLLOW_rulePropertyFillerUnsignedIntegerRange_in_entryRulePropertyFillerUnsignedIntegerRange6433);
+            iv_rulePropertyFillerUnsignedIntegerRange=rulePropertyFillerUnsignedIntegerRange();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_rulePropertyFillerUnsignedIntegerRange; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRulePropertyFillerUnsignedIntegerRange6443); if (state.failed) return current;
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRulePropertyFillerUnsignedIntegerRange"
+
+
+    // $ANTLR start "rulePropertyFillerUnsignedIntegerRange"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2900:1: rulePropertyFillerUnsignedIntegerRange returns [EObject current=null] : ( () otherlv_1= 'unsigned integer in range' ( ( ( (lv_beginRange_2_0= RULE_INT ) ) | ( (otherlv_3= RULE_ID ) ) )? otherlv_4= 'up to and including' ( ( (lv_endRange_5_0= RULE_INT ) ) | ( (otherlv_6= RULE_ID ) ) ) )? (otherlv_7= 'round to' ( (lv_rounded_8_0= RULE_INT ) ) )? ) ;
+    public final EObject rulePropertyFillerUnsignedIntegerRange() throws RecognitionException {
+        EObject current = null;
+
+        Token otherlv_1=null;
+        Token lv_beginRange_2_0=null;
+        Token otherlv_3=null;
+        Token otherlv_4=null;
+        Token lv_endRange_5_0=null;
+        Token otherlv_6=null;
+        Token otherlv_7=null;
+        Token lv_rounded_8_0=null;
+
+         enterRule(); 
+            
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2903:28: ( ( () otherlv_1= 'unsigned integer in range' ( ( ( (lv_beginRange_2_0= RULE_INT ) ) | ( (otherlv_3= RULE_ID ) ) )? otherlv_4= 'up to and including' ( ( (lv_endRange_5_0= RULE_INT ) ) | ( (otherlv_6= RULE_ID ) ) ) )? (otherlv_7= 'round to' ( (lv_rounded_8_0= RULE_INT ) ) )? ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2904:1: ( () otherlv_1= 'unsigned integer in range' ( ( ( (lv_beginRange_2_0= RULE_INT ) ) | ( (otherlv_3= RULE_ID ) ) )? otherlv_4= 'up to and including' ( ( (lv_endRange_5_0= RULE_INT ) ) | ( (otherlv_6= RULE_ID ) ) ) )? (otherlv_7= 'round to' ( (lv_rounded_8_0= RULE_INT ) ) )? )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2904:1: ( () otherlv_1= 'unsigned integer in range' ( ( ( (lv_beginRange_2_0= RULE_INT ) ) | ( (otherlv_3= RULE_ID ) ) )? otherlv_4= 'up to and including' ( ( (lv_endRange_5_0= RULE_INT ) ) | ( (otherlv_6= RULE_ID ) ) ) )? (otherlv_7= 'round to' ( (lv_rounded_8_0= RULE_INT ) ) )? )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2904:2: () otherlv_1= 'unsigned integer in range' ( ( ( (lv_beginRange_2_0= RULE_INT ) ) | ( (otherlv_3= RULE_ID ) ) )? otherlv_4= 'up to and including' ( ( (lv_endRange_5_0= RULE_INT ) ) | ( (otherlv_6= RULE_ID ) ) ) )? (otherlv_7= 'round to' ( (lv_rounded_8_0= RULE_INT ) ) )?
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2904:2: ()
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2905:5: 
+            {
+            if ( state.backtracking==0 ) {
+
+                      current = forceCreateModelElement(
+                          grammarAccess.getPropertyFillerUnsignedIntegerRangeAccess().getPropertyFillerUnsignedIntegerRangeAction_0(),
+                          current);
+                  
+            }
+
+            }
+
+            otherlv_1=(Token)match(input,61,FOLLOW_61_in_rulePropertyFillerUnsignedIntegerRange6489); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_1, grammarAccess.getPropertyFillerUnsignedIntegerRangeAccess().getUnsignedIntegerInRangeKeyword_1());
+                  
+            }
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2914:1: ( ( ( (lv_beginRange_2_0= RULE_INT ) ) | ( (otherlv_3= RULE_ID ) ) )? otherlv_4= 'up to and including' ( ( (lv_endRange_5_0= RULE_INT ) ) | ( (otherlv_6= RULE_ID ) ) ) )?
+            int alt54=2;
+            int LA54_0 = input.LA(1);
+
+            if ( ((LA54_0>=RULE_INT && LA54_0<=RULE_ID)||LA54_0==48) ) {
+                alt54=1;
+            }
+            switch (alt54) {
+                case 1 :
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2914:2: ( ( (lv_beginRange_2_0= RULE_INT ) ) | ( (otherlv_3= RULE_ID ) ) )? otherlv_4= 'up to and including' ( ( (lv_endRange_5_0= RULE_INT ) ) | ( (otherlv_6= RULE_ID ) ) )
+                    {
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2914:2: ( ( (lv_beginRange_2_0= RULE_INT ) ) | ( (otherlv_3= RULE_ID ) ) )?
+                    int alt52=3;
+                    int LA52_0 = input.LA(1);
+
+                    if ( (LA52_0==RULE_INT) ) {
+                        alt52=1;
+                    }
+                    else if ( (LA52_0==RULE_ID) ) {
+                        alt52=2;
+                    }
+                    switch (alt52) {
+                        case 1 :
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2914:3: ( (lv_beginRange_2_0= RULE_INT ) )
+                            {
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2914:3: ( (lv_beginRange_2_0= RULE_INT ) )
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2915:1: (lv_beginRange_2_0= RULE_INT )
+                            {
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2915:1: (lv_beginRange_2_0= RULE_INT )
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2916:3: lv_beginRange_2_0= RULE_INT
+                            {
+                            lv_beginRange_2_0=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_rulePropertyFillerUnsignedIntegerRange6508); if (state.failed) return current;
+                            if ( state.backtracking==0 ) {
+
+                              			newLeafNode(lv_beginRange_2_0, grammarAccess.getPropertyFillerUnsignedIntegerRangeAccess().getBeginRangeINTTerminalRuleCall_2_0_0_0()); 
+                              		
+                            }
+                            if ( state.backtracking==0 ) {
+
+                              	        if (current==null) {
+                              	            current = createModelElement(grammarAccess.getPropertyFillerUnsignedIntegerRangeRule());
+                              	        }
+                                     		setWithLastConsumed(
+                                     			current, 
+                                     			"beginRange",
+                                      		lv_beginRange_2_0, 
+                                      		"INT");
+                              	    
+                            }
+
+                            }
+
+
+                            }
+
+
+                            }
+                            break;
+                        case 2 :
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2933:6: ( (otherlv_3= RULE_ID ) )
+                            {
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2933:6: ( (otherlv_3= RULE_ID ) )
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2934:1: (otherlv_3= RULE_ID )
+                            {
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2934:1: (otherlv_3= RULE_ID )
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2935:3: otherlv_3= RULE_ID
+                            {
+                            if ( state.backtracking==0 ) {
+
+                              			if (current==null) {
+                              	            current = createModelElement(grammarAccess.getPropertyFillerUnsignedIntegerRangeRule());
+                              	        }
+                                      
+                            }
+                            otherlv_3=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_rulePropertyFillerUnsignedIntegerRange6539); if (state.failed) return current;
+                            if ( state.backtracking==0 ) {
+
+                              		newLeafNode(otherlv_3, grammarAccess.getPropertyFillerUnsignedIntegerRangeAccess().getBeginRangeRefLEntityAttributeCrossReference_2_0_1_0()); 
+                              	
+                            }
+
+                            }
+
+
+                            }
+
+
+                            }
+                            break;
+
+                    }
+
+                    otherlv_4=(Token)match(input,48,FOLLOW_48_in_rulePropertyFillerUnsignedIntegerRange6553); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                          	newLeafNode(otherlv_4, grammarAccess.getPropertyFillerUnsignedIntegerRangeAccess().getUpToAndIncludingKeyword_2_1());
+                          
+                    }
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2950:1: ( ( (lv_endRange_5_0= RULE_INT ) ) | ( (otherlv_6= RULE_ID ) ) )
+                    int alt53=2;
+                    int LA53_0 = input.LA(1);
+
+                    if ( (LA53_0==RULE_INT) ) {
+                        alt53=1;
+                    }
+                    else if ( (LA53_0==RULE_ID) ) {
+                        alt53=2;
+                    }
+                    else {
+                        if (state.backtracking>0) {state.failed=true; return current;}
+                        NoViableAltException nvae =
+                            new NoViableAltException("", 53, 0, input);
+
+                        throw nvae;
+                    }
+                    switch (alt53) {
+                        case 1 :
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2950:2: ( (lv_endRange_5_0= RULE_INT ) )
+                            {
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2950:2: ( (lv_endRange_5_0= RULE_INT ) )
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2951:1: (lv_endRange_5_0= RULE_INT )
+                            {
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2951:1: (lv_endRange_5_0= RULE_INT )
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2952:3: lv_endRange_5_0= RULE_INT
+                            {
+                            lv_endRange_5_0=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_rulePropertyFillerUnsignedIntegerRange6571); if (state.failed) return current;
+                            if ( state.backtracking==0 ) {
+
+                              			newLeafNode(lv_endRange_5_0, grammarAccess.getPropertyFillerUnsignedIntegerRangeAccess().getEndRangeINTTerminalRuleCall_2_2_0_0()); 
+                              		
+                            }
+                            if ( state.backtracking==0 ) {
+
+                              	        if (current==null) {
+                              	            current = createModelElement(grammarAccess.getPropertyFillerUnsignedIntegerRangeRule());
+                              	        }
+                                     		setWithLastConsumed(
+                                     			current, 
+                                     			"endRange",
+                                      		lv_endRange_5_0, 
+                                      		"INT");
+                              	    
+                            }
+
+                            }
+
+
+                            }
+
+
+                            }
+                            break;
+                        case 2 :
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2969:6: ( (otherlv_6= RULE_ID ) )
+                            {
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2969:6: ( (otherlv_6= RULE_ID ) )
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2970:1: (otherlv_6= RULE_ID )
+                            {
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2970:1: (otherlv_6= RULE_ID )
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2971:3: otherlv_6= RULE_ID
+                            {
+                            if ( state.backtracking==0 ) {
+
+                              			if (current==null) {
+                              	            current = createModelElement(grammarAccess.getPropertyFillerUnsignedIntegerRangeRule());
+                              	        }
+                                      
+                            }
+                            otherlv_6=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_rulePropertyFillerUnsignedIntegerRange6602); if (state.failed) return current;
+                            if ( state.backtracking==0 ) {
+
+                              		newLeafNode(otherlv_6, grammarAccess.getPropertyFillerUnsignedIntegerRangeAccess().getEndRangeRefLEntityAttributeCrossReference_2_2_1_0()); 
+                              	
+                            }
+
+                            }
+
+
+                            }
+
+
+                            }
+                            break;
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2982:5: (otherlv_7= 'round to' ( (lv_rounded_8_0= RULE_INT ) ) )?
+            int alt55=2;
+            int LA55_0 = input.LA(1);
+
+            if ( (LA55_0==51) ) {
+                alt55=1;
+            }
+            switch (alt55) {
+                case 1 :
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2982:7: otherlv_7= 'round to' ( (lv_rounded_8_0= RULE_INT ) )
+                    {
+                    otherlv_7=(Token)match(input,51,FOLLOW_51_in_rulePropertyFillerUnsignedIntegerRange6618); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                          	newLeafNode(otherlv_7, grammarAccess.getPropertyFillerUnsignedIntegerRangeAccess().getRoundToKeyword_3_0());
+                          
+                    }
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2986:1: ( (lv_rounded_8_0= RULE_INT ) )
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2987:1: (lv_rounded_8_0= RULE_INT )
+                    {
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2987:1: (lv_rounded_8_0= RULE_INT )
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:2988:3: lv_rounded_8_0= RULE_INT
+                    {
+                    lv_rounded_8_0=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_rulePropertyFillerUnsignedIntegerRange6635); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                      			newLeafNode(lv_rounded_8_0, grammarAccess.getPropertyFillerUnsignedIntegerRangeAccess().getRoundedINTTerminalRuleCall_3_1_0()); 
+                      		
+                    }
+                    if ( state.backtracking==0 ) {
+
+                      	        if (current==null) {
+                      	            current = createModelElement(grammarAccess.getPropertyFillerUnsignedIntegerRangeRule());
+                      	        }
+                             		setWithLastConsumed(
+                             			current, 
+                             			"rounded",
+                              		lv_rounded_8_0, 
+                              		"INT");
+                      	    
+                    }
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+
+            }
+
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "rulePropertyFillerUnsignedIntegerRange"
+
+
+    // $ANTLR start "entryRulePropertyFillerUnsignedIntegerRandom"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3012:1: entryRulePropertyFillerUnsignedIntegerRandom returns [EObject current=null] : iv_rulePropertyFillerUnsignedIntegerRandom= rulePropertyFillerUnsignedIntegerRandom EOF ;
+    public final EObject entryRulePropertyFillerUnsignedIntegerRandom() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_rulePropertyFillerUnsignedIntegerRandom = null;
+
+
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3013:2: (iv_rulePropertyFillerUnsignedIntegerRandom= rulePropertyFillerUnsignedIntegerRandom EOF )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3014:2: iv_rulePropertyFillerUnsignedIntegerRandom= rulePropertyFillerUnsignedIntegerRandom EOF
+            {
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getPropertyFillerUnsignedIntegerRandomRule()); 
+            }
+            pushFollow(FOLLOW_rulePropertyFillerUnsignedIntegerRandom_in_entryRulePropertyFillerUnsignedIntegerRandom6678);
+            iv_rulePropertyFillerUnsignedIntegerRandom=rulePropertyFillerUnsignedIntegerRandom();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_rulePropertyFillerUnsignedIntegerRandom; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRulePropertyFillerUnsignedIntegerRandom6688); if (state.failed) return current;
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRulePropertyFillerUnsignedIntegerRandom"
+
+
+    // $ANTLR start "rulePropertyFillerUnsignedIntegerRandom"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3021:1: rulePropertyFillerUnsignedIntegerRandom returns [EObject current=null] : (otherlv_0= 'unsigned integer from' otherlv_1= '(' ( (lv_items_2_0= RULE_INT ) )+ otherlv_3= ')' ) ;
+    public final EObject rulePropertyFillerUnsignedIntegerRandom() throws RecognitionException {
+        EObject current = null;
+
+        Token otherlv_0=null;
+        Token otherlv_1=null;
+        Token lv_items_2_0=null;
+        Token otherlv_3=null;
+
+         enterRule(); 
+            
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3024:28: ( (otherlv_0= 'unsigned integer from' otherlv_1= '(' ( (lv_items_2_0= RULE_INT ) )+ otherlv_3= ')' ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3025:1: (otherlv_0= 'unsigned integer from' otherlv_1= '(' ( (lv_items_2_0= RULE_INT ) )+ otherlv_3= ')' )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3025:1: (otherlv_0= 'unsigned integer from' otherlv_1= '(' ( (lv_items_2_0= RULE_INT ) )+ otherlv_3= ')' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3025:3: otherlv_0= 'unsigned integer from' otherlv_1= '(' ( (lv_items_2_0= RULE_INT ) )+ otherlv_3= ')'
+            {
+            otherlv_0=(Token)match(input,62,FOLLOW_62_in_rulePropertyFillerUnsignedIntegerRandom6725); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_0, grammarAccess.getPropertyFillerUnsignedIntegerRandomAccess().getUnsignedIntegerFromKeyword_0());
+                  
+            }
+            otherlv_1=(Token)match(input,26,FOLLOW_26_in_rulePropertyFillerUnsignedIntegerRandom6737); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_1, grammarAccess.getPropertyFillerUnsignedIntegerRandomAccess().getLeftParenthesisKeyword_1());
+                  
+            }
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3033:1: ( (lv_items_2_0= RULE_INT ) )+
+            int cnt56=0;
+            loop56:
+            do {
+                int alt56=2;
+                int LA56_0 = input.LA(1);
+
+                if ( (LA56_0==RULE_INT) ) {
+                    alt56=1;
+                }
+
+
+                switch (alt56) {
+            	case 1 :
+            	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3034:1: (lv_items_2_0= RULE_INT )
+            	    {
+            	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3034:1: (lv_items_2_0= RULE_INT )
+            	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3035:3: lv_items_2_0= RULE_INT
+            	    {
+            	    lv_items_2_0=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_rulePropertyFillerUnsignedIntegerRandom6754); if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
+
+            	      			newLeafNode(lv_items_2_0, grammarAccess.getPropertyFillerUnsignedIntegerRandomAccess().getItemsINTTerminalRuleCall_2_0()); 
+            	      		
+            	    }
+            	    if ( state.backtracking==0 ) {
+
+            	      	        if (current==null) {
+            	      	            current = createModelElement(grammarAccess.getPropertyFillerUnsignedIntegerRandomRule());
+            	      	        }
+            	             		addWithLastConsumed(
+            	             			current, 
+            	             			"items",
+            	              		lv_items_2_0, 
+            	              		"INT");
+            	      	    
+            	    }
+
+            	    }
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    if ( cnt56 >= 1 ) break loop56;
+            	    if (state.backtracking>0) {state.failed=true; return current;}
+                        EarlyExitException eee =
+                            new EarlyExitException(56, input);
+                        throw eee;
+                }
+                cnt56++;
+            } while (true);
+
+            otherlv_3=(Token)match(input,28,FOLLOW_28_in_rulePropertyFillerUnsignedIntegerRandom6772); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_3, grammarAccess.getPropertyFillerUnsignedIntegerRandomAccess().getRightParenthesisKeyword_3());
+                  
+            }
+
+            }
+
+
+            }
+
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "rulePropertyFillerUnsignedIntegerRandom"
+
+
+    // $ANTLR start "entryRuleEntityMockDataType"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3063:1: entryRuleEntityMockDataType returns [EObject current=null] : iv_ruleEntityMockDataType= ruleEntityMockDataType EOF ;
+    public final EObject entryRuleEntityMockDataType() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_ruleEntityMockDataType = null;
+
+
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3064:2: (iv_ruleEntityMockDataType= ruleEntityMockDataType EOF )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3065:2: iv_ruleEntityMockDataType= ruleEntityMockDataType EOF
+            {
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getEntityMockDataTypeRule()); 
+            }
+            pushFollow(FOLLOW_ruleEntityMockDataType_in_entryRuleEntityMockDataType6808);
+            iv_ruleEntityMockDataType=ruleEntityMockDataType();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleEntityMockDataType; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleEntityMockDataType6818); if (state.failed) return current;
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleEntityMockDataType"
+
+
+    // $ANTLR start "ruleEntityMockDataType"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3072:1: ruleEntityMockDataType returns [EObject current=null] : (otherlv_0= 'datatype' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '{' otherlv_3= '}' ) ;
+    public final EObject ruleEntityMockDataType() throws RecognitionException {
+        EObject current = null;
+
+        Token otherlv_0=null;
+        Token otherlv_2=null;
+        Token otherlv_3=null;
+        AntlrDatatypeRuleToken lv_name_1_0 = null;
+
+
+         enterRule(); 
+            
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3075:28: ( (otherlv_0= 'datatype' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '{' otherlv_3= '}' ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3076:1: (otherlv_0= 'datatype' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '{' otherlv_3= '}' )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3076:1: (otherlv_0= 'datatype' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '{' otherlv_3= '}' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3076:3: otherlv_0= 'datatype' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '{' otherlv_3= '}'
+            {
+            otherlv_0=(Token)match(input,63,FOLLOW_63_in_ruleEntityMockDataType6855); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_0, grammarAccess.getEntityMockDataTypeAccess().getDatatypeKeyword_0());
+                  
+            }
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3080:1: ( (lv_name_1_0= ruleQualifiedName ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3081:1: (lv_name_1_0= ruleQualifiedName )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3081:1: (lv_name_1_0= ruleQualifiedName )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3082:3: lv_name_1_0= ruleQualifiedName
+            {
+            if ( state.backtracking==0 ) {
+               
+              	        newCompositeNode(grammarAccess.getEntityMockDataTypeAccess().getNameQualifiedNameParserRuleCall_1_0()); 
+              	    
+            }
+            pushFollow(FOLLOW_ruleQualifiedName_in_ruleEntityMockDataType6876);
+            lv_name_1_0=ruleQualifiedName();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+              	        if (current==null) {
+              	            current = createModelElementForParent(grammarAccess.getEntityMockDataTypeRule());
+              	        }
+                     		set(
+                     			current, 
+                     			"name",
+                      		lv_name_1_0, 
+                      		"QualifiedName");
+              	        afterParserOrEnumRuleCall();
+              	    
+            }
+
+            }
+
+
+            }
+
+            otherlv_2=(Token)match(input,14,FOLLOW_14_in_ruleEntityMockDataType6888); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_2, grammarAccess.getEntityMockDataTypeAccess().getLeftCurlyBracketKeyword_2());
+                  
+            }
+            otherlv_3=(Token)match(input,17,FOLLOW_17_in_ruleEntityMockDataType6900); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_3, grammarAccess.getEntityMockDataTypeAccess().getRightCurlyBracketKeyword_3());
+                  
+            }
+
+            }
+
+
+            }
+
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleEntityMockDataType"
+
+
+    // $ANTLR start "entryRuleEntityMockEntities"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3114:1: entryRuleEntityMockEntities returns [EObject current=null] : iv_ruleEntityMockEntities= ruleEntityMockEntities EOF ;
+    public final EObject entryRuleEntityMockEntities() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_ruleEntityMockEntities = null;
+
+
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3115:2: (iv_ruleEntityMockEntities= ruleEntityMockEntities EOF )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3116:2: iv_ruleEntityMockEntities= ruleEntityMockEntities EOF
+            {
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getEntityMockEntitiesRule()); 
+            }
+            pushFollow(FOLLOW_ruleEntityMockEntities_in_entryRuleEntityMockEntities6936);
+            iv_ruleEntityMockEntities=ruleEntityMockEntities();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleEntityMockEntities; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleEntityMockEntities6946); if (state.failed) return current;
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleEntityMockEntities"
+
+
+    // $ANTLR start "ruleEntityMockEntities"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3123:1: ruleEntityMockEntities returns [EObject current=null] : ( () otherlv_1= 'mock entities' otherlv_2= '{' ( (lv_entities_3_0= ruleEntityMockEntity ) )* otherlv_4= '}' ) ;
+    public final EObject ruleEntityMockEntities() throws RecognitionException {
+        EObject current = null;
+
+        Token otherlv_1=null;
+        Token otherlv_2=null;
+        Token otherlv_4=null;
+        EObject lv_entities_3_0 = null;
+
+
+         enterRule(); 
+            
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3126:28: ( ( () otherlv_1= 'mock entities' otherlv_2= '{' ( (lv_entities_3_0= ruleEntityMockEntity ) )* otherlv_4= '}' ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3127:1: ( () otherlv_1= 'mock entities' otherlv_2= '{' ( (lv_entities_3_0= ruleEntityMockEntity ) )* otherlv_4= '}' )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3127:1: ( () otherlv_1= 'mock entities' otherlv_2= '{' ( (lv_entities_3_0= ruleEntityMockEntity ) )* otherlv_4= '}' )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3127:2: () otherlv_1= 'mock entities' otherlv_2= '{' ( (lv_entities_3_0= ruleEntityMockEntity ) )* otherlv_4= '}'
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3127:2: ()
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3128:5: 
+            {
+            if ( state.backtracking==0 ) {
+
+                      current = forceCreateModelElement(
+                          grammarAccess.getEntityMockEntitiesAccess().getEntityMockEntitiesAction_0(),
+                          current);
+                  
+            }
+
+            }
+
+            otherlv_1=(Token)match(input,64,FOLLOW_64_in_ruleEntityMockEntities6992); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_1, grammarAccess.getEntityMockEntitiesAccess().getMockEntitiesKeyword_1());
+                  
+            }
+            otherlv_2=(Token)match(input,14,FOLLOW_14_in_ruleEntityMockEntities7004); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_2, grammarAccess.getEntityMockEntitiesAccess().getLeftCurlyBracketKeyword_2());
+                  
+            }
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3141:1: ( (lv_entities_3_0= ruleEntityMockEntity ) )*
+            loop57:
+            do {
+                int alt57=2;
+                int LA57_0 = input.LA(1);
+
+                if ( (LA57_0==65) ) {
+                    alt57=1;
+                }
+
+
+                switch (alt57) {
+            	case 1 :
+            	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3142:1: (lv_entities_3_0= ruleEntityMockEntity )
+            	    {
+            	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3142:1: (lv_entities_3_0= ruleEntityMockEntity )
+            	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3143:3: lv_entities_3_0= ruleEntityMockEntity
+            	    {
+            	    if ( state.backtracking==0 ) {
+            	       
+            	      	        newCompositeNode(grammarAccess.getEntityMockEntitiesAccess().getEntitiesEntityMockEntityParserRuleCall_3_0()); 
+            	      	    
+            	    }
+            	    pushFollow(FOLLOW_ruleEntityMockEntity_in_ruleEntityMockEntities7025);
+            	    lv_entities_3_0=ruleEntityMockEntity();
+
+            	    state._fsp--;
+            	    if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
+
+            	      	        if (current==null) {
+            	      	            current = createModelElementForParent(grammarAccess.getEntityMockEntitiesRule());
+            	      	        }
+            	             		add(
+            	             			current, 
+            	             			"entities",
+            	              		lv_entities_3_0, 
+            	              		"EntityMockEntity");
+            	      	        afterParserOrEnumRuleCall();
+            	      	    
+            	    }
+
+            	    }
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop57;
+                }
+            } while (true);
+
+            otherlv_4=(Token)match(input,17,FOLLOW_17_in_ruleEntityMockEntities7038); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_4, grammarAccess.getEntityMockEntitiesAccess().getRightCurlyBracketKeyword_4());
+                  
+            }
+
+            }
+
+
+            }
+
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleEntityMockEntities"
+
+
+    // $ANTLR start "entryRuleEntityMockEntity"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3171:1: entryRuleEntityMockEntity returns [EObject current=null] : iv_ruleEntityMockEntity= ruleEntityMockEntity EOF ;
+    public final EObject entryRuleEntityMockEntity() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_ruleEntityMockEntity = null;
+
+
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3172:2: (iv_ruleEntityMockEntity= ruleEntityMockEntity EOF )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3173:2: iv_ruleEntityMockEntity= ruleEntityMockEntity EOF
+            {
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getEntityMockEntityRule()); 
+            }
+            pushFollow(FOLLOW_ruleEntityMockEntity_in_entryRuleEntityMockEntity7074);
+            iv_ruleEntityMockEntity=ruleEntityMockEntity();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleEntityMockEntity; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleEntityMockEntity7084); if (state.failed) return current;
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleEntityMockEntity"
+
+
+    // $ANTLR start "ruleEntityMockEntity"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3180:1: ruleEntityMockEntity returns [EObject current=null] : (otherlv_0= 'mocking' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= 'for entity' ( (otherlv_3= RULE_ID ) ) ( (otherlv_4= 'rows' ( (lv_minRows_5_0= RULE_INT ) ) otherlv_6= 'to' ( (lv_maxRows_7_0= RULE_INT ) ) otherlv_8= '{' ( (lv_temporaries_9_0= ruleEntityMockTemporary ) )* ( (lv_attributes_10_0= ruleIEntityMockAttribute ) )* ( (lv_calculations_11_0= ruleEntityMockEntityFunction ) )* otherlv_12= '}' ) | (otherlv_13= 'by resource' ( (otherlv_14= RULE_ID ) ) otherlv_15= '{' ( (lv_byResourceAttributes_16_0= ruleEntityMockByResourceAttribute ) )* ( (lv_createBlobMapping_17_0= 'createBlobMapping' ) )? otherlv_18= '}' ) | (otherlv_19= 'iterate' ( (otherlv_20= RULE_ID ) ) otherlv_21= 'with' ( (lv_iterate_22_0= ruleIIterate ) ) otherlv_23= '{' ( (lv_temporaries_24_0= ruleEntityMockTemporary ) )* ( (lv_attributes_25_0= ruleIEntityMockAttribute ) )* ( (lv_calculations_26_0= ruleEntityMockEntityFunction ) )* otherlv_27= '}' ) ) ) ;
+    public final EObject ruleEntityMockEntity() throws RecognitionException {
+        EObject current = null;
+
+        Token otherlv_0=null;
+        Token otherlv_2=null;
+        Token otherlv_3=null;
+        Token otherlv_4=null;
+        Token lv_minRows_5_0=null;
+        Token otherlv_6=null;
+        Token lv_maxRows_7_0=null;
+        Token otherlv_8=null;
+        Token otherlv_12=null;
+        Token otherlv_13=null;
+        Token otherlv_14=null;
+        Token otherlv_15=null;
+        Token lv_createBlobMapping_17_0=null;
+        Token otherlv_18=null;
+        Token otherlv_19=null;
+        Token otherlv_20=null;
+        Token otherlv_21=null;
+        Token otherlv_23=null;
+        Token otherlv_27=null;
+        AntlrDatatypeRuleToken lv_name_1_0 = null;
+
+        EObject lv_temporaries_9_0 = null;
+
+        EObject lv_attributes_10_0 = null;
+
+        EObject lv_calculations_11_0 = null;
+
+        EObject lv_byResourceAttributes_16_0 = null;
+
+        EObject lv_iterate_22_0 = null;
+
+        EObject lv_temporaries_24_0 = null;
+
+        EObject lv_attributes_25_0 = null;
+
+        EObject lv_calculations_26_0 = null;
+
+
+         enterRule(); 
+            
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3183:28: ( (otherlv_0= 'mocking' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= 'for entity' ( (otherlv_3= RULE_ID ) ) ( (otherlv_4= 'rows' ( (lv_minRows_5_0= RULE_INT ) ) otherlv_6= 'to' ( (lv_maxRows_7_0= RULE_INT ) ) otherlv_8= '{' ( (lv_temporaries_9_0= ruleEntityMockTemporary ) )* ( (lv_attributes_10_0= ruleIEntityMockAttribute ) )* ( (lv_calculations_11_0= ruleEntityMockEntityFunction ) )* otherlv_12= '}' ) | (otherlv_13= 'by resource' ( (otherlv_14= RULE_ID ) ) otherlv_15= '{' ( (lv_byResourceAttributes_16_0= ruleEntityMockByResourceAttribute ) )* ( (lv_createBlobMapping_17_0= 'createBlobMapping' ) )? otherlv_18= '}' ) | (otherlv_19= 'iterate' ( (otherlv_20= RULE_ID ) ) otherlv_21= 'with' ( (lv_iterate_22_0= ruleIIterate ) ) otherlv_23= '{' ( (lv_temporaries_24_0= ruleEntityMockTemporary ) )* ( (lv_attributes_25_0= ruleIEntityMockAttribute ) )* ( (lv_calculations_26_0= ruleEntityMockEntityFunction ) )* otherlv_27= '}' ) ) ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3184:1: (otherlv_0= 'mocking' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= 'for entity' ( (otherlv_3= RULE_ID ) ) ( (otherlv_4= 'rows' ( (lv_minRows_5_0= RULE_INT ) ) otherlv_6= 'to' ( (lv_maxRows_7_0= RULE_INT ) ) otherlv_8= '{' ( (lv_temporaries_9_0= ruleEntityMockTemporary ) )* ( (lv_attributes_10_0= ruleIEntityMockAttribute ) )* ( (lv_calculations_11_0= ruleEntityMockEntityFunction ) )* otherlv_12= '}' ) | (otherlv_13= 'by resource' ( (otherlv_14= RULE_ID ) ) otherlv_15= '{' ( (lv_byResourceAttributes_16_0= ruleEntityMockByResourceAttribute ) )* ( (lv_createBlobMapping_17_0= 'createBlobMapping' ) )? otherlv_18= '}' ) | (otherlv_19= 'iterate' ( (otherlv_20= RULE_ID ) ) otherlv_21= 'with' ( (lv_iterate_22_0= ruleIIterate ) ) otherlv_23= '{' ( (lv_temporaries_24_0= ruleEntityMockTemporary ) )* ( (lv_attributes_25_0= ruleIEntityMockAttribute ) )* ( (lv_calculations_26_0= ruleEntityMockEntityFunction ) )* otherlv_27= '}' ) ) )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3184:1: (otherlv_0= 'mocking' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= 'for entity' ( (otherlv_3= RULE_ID ) ) ( (otherlv_4= 'rows' ( (lv_minRows_5_0= RULE_INT ) ) otherlv_6= 'to' ( (lv_maxRows_7_0= RULE_INT ) ) otherlv_8= '{' ( (lv_temporaries_9_0= ruleEntityMockTemporary ) )* ( (lv_attributes_10_0= ruleIEntityMockAttribute ) )* ( (lv_calculations_11_0= ruleEntityMockEntityFunction ) )* otherlv_12= '}' ) | (otherlv_13= 'by resource' ( (otherlv_14= RULE_ID ) ) otherlv_15= '{' ( (lv_byResourceAttributes_16_0= ruleEntityMockByResourceAttribute ) )* ( (lv_createBlobMapping_17_0= 'createBlobMapping' ) )? otherlv_18= '}' ) | (otherlv_19= 'iterate' ( (otherlv_20= RULE_ID ) ) otherlv_21= 'with' ( (lv_iterate_22_0= ruleIIterate ) ) otherlv_23= '{' ( (lv_temporaries_24_0= ruleEntityMockTemporary ) )* ( (lv_attributes_25_0= ruleIEntityMockAttribute ) )* ( (lv_calculations_26_0= ruleEntityMockEntityFunction ) )* otherlv_27= '}' ) ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3184:3: otherlv_0= 'mocking' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= 'for entity' ( (otherlv_3= RULE_ID ) ) ( (otherlv_4= 'rows' ( (lv_minRows_5_0= RULE_INT ) ) otherlv_6= 'to' ( (lv_maxRows_7_0= RULE_INT ) ) otherlv_8= '{' ( (lv_temporaries_9_0= ruleEntityMockTemporary ) )* ( (lv_attributes_10_0= ruleIEntityMockAttribute ) )* ( (lv_calculations_11_0= ruleEntityMockEntityFunction ) )* otherlv_12= '}' ) | (otherlv_13= 'by resource' ( (otherlv_14= RULE_ID ) ) otherlv_15= '{' ( (lv_byResourceAttributes_16_0= ruleEntityMockByResourceAttribute ) )* ( (lv_createBlobMapping_17_0= 'createBlobMapping' ) )? otherlv_18= '}' ) | (otherlv_19= 'iterate' ( (otherlv_20= RULE_ID ) ) otherlv_21= 'with' ( (lv_iterate_22_0= ruleIIterate ) ) otherlv_23= '{' ( (lv_temporaries_24_0= ruleEntityMockTemporary ) )* ( (lv_attributes_25_0= ruleIEntityMockAttribute ) )* ( (lv_calculations_26_0= ruleEntityMockEntityFunction ) )* otherlv_27= '}' ) )
+            {
+            otherlv_0=(Token)match(input,65,FOLLOW_65_in_ruleEntityMockEntity7121); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_0, grammarAccess.getEntityMockEntityAccess().getMockingKeyword_0());
+                  
+            }
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3188:1: ( (lv_name_1_0= ruleQualifiedName ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3189:1: (lv_name_1_0= ruleQualifiedName )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3189:1: (lv_name_1_0= ruleQualifiedName )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3190:3: lv_name_1_0= ruleQualifiedName
+            {
+            if ( state.backtracking==0 ) {
+               
+              	        newCompositeNode(grammarAccess.getEntityMockEntityAccess().getNameQualifiedNameParserRuleCall_1_0()); 
+              	    
+            }
+            pushFollow(FOLLOW_ruleQualifiedName_in_ruleEntityMockEntity7142);
+            lv_name_1_0=ruleQualifiedName();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+              	        if (current==null) {
+              	            current = createModelElementForParent(grammarAccess.getEntityMockEntityRule());
+              	        }
+                     		set(
+                     			current, 
+                     			"name",
+                      		lv_name_1_0, 
+                      		"QualifiedName");
+              	        afterParserOrEnumRuleCall();
+              	    
+            }
+
+            }
+
+
+            }
+
+            otherlv_2=(Token)match(input,66,FOLLOW_66_in_ruleEntityMockEntity7154); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+                  	newLeafNode(otherlv_2, grammarAccess.getEntityMockEntityAccess().getForEntityKeyword_2());
+                  
+            }
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3210:1: ( (otherlv_3= RULE_ID ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3211:1: (otherlv_3= RULE_ID )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3211:1: (otherlv_3= RULE_ID )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3212:3: otherlv_3= RULE_ID
+            {
+            if ( state.backtracking==0 ) {
+
+              			if (current==null) {
+              	            current = createModelElement(grammarAccess.getEntityMockEntityRule());
+              	        }
+                      
+            }
+            otherlv_3=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleEntityMockEntity7174); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+              		newLeafNode(otherlv_3, grammarAccess.getEntityMockEntityAccess().getEntityRefLEntityCrossReference_3_0()); 
+              	
+            }
+
+            }
+
+
+            }
+
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3223:2: ( (otherlv_4= 'rows' ( (lv_minRows_5_0= RULE_INT ) ) otherlv_6= 'to' ( (lv_maxRows_7_0= RULE_INT ) ) otherlv_8= '{' ( (lv_temporaries_9_0= ruleEntityMockTemporary ) )* ( (lv_attributes_10_0= ruleIEntityMockAttribute ) )* ( (lv_calculations_11_0= ruleEntityMockEntityFunction ) )* otherlv_12= '}' ) | (otherlv_13= 'by resource' ( (otherlv_14= RULE_ID ) ) otherlv_15= '{' ( (lv_byResourceAttributes_16_0= ruleEntityMockByResourceAttribute ) )* ( (lv_createBlobMapping_17_0= 'createBlobMapping' ) )? otherlv_18= '}' ) | (otherlv_19= 'iterate' ( (otherlv_20= RULE_ID ) ) otherlv_21= 'with' ( (lv_iterate_22_0= ruleIIterate ) ) otherlv_23= '{' ( (lv_temporaries_24_0= ruleEntityMockTemporary ) )* ( (lv_attributes_25_0= ruleIEntityMockAttribute ) )* ( (lv_calculations_26_0= ruleEntityMockEntityFunction ) )* otherlv_27= '}' ) )
+            int alt66=3;
+            switch ( input.LA(1) ) {
+            case 67:
+                {
+                alt66=1;
+                }
+                break;
+            case 69:
+                {
+                alt66=2;
+                }
+                break;
+            case 71:
+                {
+                alt66=3;
+                }
+                break;
+            default:
+                if (state.backtracking>0) {state.failed=true; return current;}
+                NoViableAltException nvae =
+                    new NoViableAltException("", 66, 0, input);
+
+                throw nvae;
+            }
+
+            switch (alt66) {
+                case 1 :
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3223:3: (otherlv_4= 'rows' ( (lv_minRows_5_0= RULE_INT ) ) otherlv_6= 'to' ( (lv_maxRows_7_0= RULE_INT ) ) otherlv_8= '{' ( (lv_temporaries_9_0= ruleEntityMockTemporary ) )* ( (lv_attributes_10_0= ruleIEntityMockAttribute ) )* ( (lv_calculations_11_0= ruleEntityMockEntityFunction ) )* otherlv_12= '}' )
+                    {
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3223:3: (otherlv_4= 'rows' ( (lv_minRows_5_0= RULE_INT ) ) otherlv_6= 'to' ( (lv_maxRows_7_0= RULE_INT ) ) otherlv_8= '{' ( (lv_temporaries_9_0= ruleEntityMockTemporary ) )* ( (lv_attributes_10_0= ruleIEntityMockAttribute ) )* ( (lv_calculations_11_0= ruleEntityMockEntityFunction ) )* otherlv_12= '}' )
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3223:5: otherlv_4= 'rows' ( (lv_minRows_5_0= RULE_INT ) ) otherlv_6= 'to' ( (lv_maxRows_7_0= RULE_INT ) ) otherlv_8= '{' ( (lv_temporaries_9_0= ruleEntityMockTemporary ) )* ( (lv_attributes_10_0= ruleIEntityMockAttribute ) )* ( (lv_calculations_11_0= ruleEntityMockEntityFunction ) )* otherlv_12= '}'
+                    {
+                    otherlv_4=(Token)match(input,67,FOLLOW_67_in_ruleEntityMockEntity7188); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                          	newLeafNode(otherlv_4, grammarAccess.getEntityMockEntityAccess().getRowsKeyword_4_0_0());
+                          
+                    }
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3227:1: ( (lv_minRows_5_0= RULE_INT ) )
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3228:1: (lv_minRows_5_0= RULE_INT )
+                    {
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3228:1: (lv_minRows_5_0= RULE_INT )
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3229:3: lv_minRows_5_0= RULE_INT
+                    {
+                    lv_minRows_5_0=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleEntityMockEntity7205); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                      			newLeafNode(lv_minRows_5_0, grammarAccess.getEntityMockEntityAccess().getMinRowsINTTerminalRuleCall_4_0_1_0()); 
+                      		
+                    }
+                    if ( state.backtracking==0 ) {
+
+                      	        if (current==null) {
+                      	            current = createModelElement(grammarAccess.getEntityMockEntityRule());
+                      	        }
+                             		setWithLastConsumed(
+                             			current, 
+                             			"minRows",
+                              		lv_minRows_5_0, 
+                              		"INT");
+                      	    
+                    }
+
+                    }
+
+
+                    }
+
+                    otherlv_6=(Token)match(input,68,FOLLOW_68_in_ruleEntityMockEntity7222); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                          	newLeafNode(otherlv_6, grammarAccess.getEntityMockEntityAccess().getToKeyword_4_0_2());
+                          
+                    }
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3249:1: ( (lv_maxRows_7_0= RULE_INT ) )
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3250:1: (lv_maxRows_7_0= RULE_INT )
+                    {
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3250:1: (lv_maxRows_7_0= RULE_INT )
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3251:3: lv_maxRows_7_0= RULE_INT
+                    {
+                    lv_maxRows_7_0=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleEntityMockEntity7239); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                      			newLeafNode(lv_maxRows_7_0, grammarAccess.getEntityMockEntityAccess().getMaxRowsINTTerminalRuleCall_4_0_3_0()); 
+                      		
+                    }
+                    if ( state.backtracking==0 ) {
+
+                      	        if (current==null) {
+                      	            current = createModelElement(grammarAccess.getEntityMockEntityRule());
+                      	        }
+                             		setWithLastConsumed(
+                             			current, 
+                             			"maxRows",
+                              		lv_maxRows_7_0, 
+                              		"INT");
+                      	    
+                    }
+
+                    }
+
+
+                    }
+
+                    otherlv_8=(Token)match(input,14,FOLLOW_14_in_ruleEntityMockEntity7256); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                          	newLeafNode(otherlv_8, grammarAccess.getEntityMockEntityAccess().getLeftCurlyBracketKeyword_4_0_4());
+                          
+                    }
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3271:1: ( (lv_temporaries_9_0= ruleEntityMockTemporary ) )*
+                    loop58:
+                    do {
+                        int alt58=2;
+                        int LA58_0 = input.LA(1);
+
+                        if ( (LA58_0==82) ) {
+                            alt58=1;
+                        }
+
+
+                        switch (alt58) {
+                    	case 1 :
+                    	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3272:1: (lv_temporaries_9_0= ruleEntityMockTemporary )
+                    	    {
+                    	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3272:1: (lv_temporaries_9_0= ruleEntityMockTemporary )
+                    	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3273:3: lv_temporaries_9_0= ruleEntityMockTemporary
+                    	    {
+                    	    if ( state.backtracking==0 ) {
+                    	       
+                    	      	        newCompositeNode(grammarAccess.getEntityMockEntityAccess().getTemporariesEntityMockTemporaryParserRuleCall_4_0_5_0()); 
+                    	      	    
+                    	    }
+                    	    pushFollow(FOLLOW_ruleEntityMockTemporary_in_ruleEntityMockEntity7277);
+                    	    lv_temporaries_9_0=ruleEntityMockTemporary();
+
+                    	    state._fsp--;
+                    	    if (state.failed) return current;
+                    	    if ( state.backtracking==0 ) {
+
+                    	      	        if (current==null) {
+                    	      	            current = createModelElementForParent(grammarAccess.getEntityMockEntityRule());
+                    	      	        }
+                    	             		add(
+                    	             			current, 
+                    	             			"temporaries",
+                    	              		lv_temporaries_9_0, 
+                    	              		"EntityMockTemporary");
+                    	      	        afterParserOrEnumRuleCall();
+                    	      	    
+                    	    }
+
+                    	    }
+
+
+                    	    }
+                    	    break;
+
+                    	default :
+                    	    break loop58;
+                        }
+                    } while (true);
+
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3289:3: ( (lv_attributes_10_0= ruleIEntityMockAttribute ) )*
+                    loop59:
+                    do {
+                        int alt59=2;
+                        int LA59_0 = input.LA(1);
+
+                        if ( (LA59_0==32) ) {
+                            int LA59_1 = input.LA(2);
+
+                            if ( (LA59_1==RULE_ID) ) {
+                                int LA59_4 = input.LA(3);
+
+                                if ( (LA59_4==42||LA59_4==81) ) {
+                                    alt59=1;
+                                }
+
+
+                            }
+
+
+                        }
+                        else if ( ((LA59_0>=85 && LA59_0<=86)) ) {
+                            alt59=1;
+                        }
+
+
+                        switch (alt59) {
+                    	case 1 :
+                    	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3290:1: (lv_attributes_10_0= ruleIEntityMockAttribute )
+                    	    {
+                    	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3290:1: (lv_attributes_10_0= ruleIEntityMockAttribute )
+                    	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3291:3: lv_attributes_10_0= ruleIEntityMockAttribute
+                    	    {
+                    	    if ( state.backtracking==0 ) {
+                    	       
+                    	      	        newCompositeNode(grammarAccess.getEntityMockEntityAccess().getAttributesIEntityMockAttributeParserRuleCall_4_0_6_0()); 
+                    	      	    
+                    	    }
+                    	    pushFollow(FOLLOW_ruleIEntityMockAttribute_in_ruleEntityMockEntity7299);
+                    	    lv_attributes_10_0=ruleIEntityMockAttribute();
+
+                    	    state._fsp--;
+                    	    if (state.failed) return current;
+                    	    if ( state.backtracking==0 ) {
+
+                    	      	        if (current==null) {
+                    	      	            current = createModelElementForParent(grammarAccess.getEntityMockEntityRule());
+                    	      	        }
+                    	             		add(
+                    	             			current, 
+                    	             			"attributes",
+                    	              		lv_attributes_10_0, 
+                    	              		"IEntityMockAttribute");
+                    	      	        afterParserOrEnumRuleCall();
+                    	      	    
+                    	    }
+
+                    	    }
+
+
+                    	    }
+                    	    break;
+
+                    	default :
+                    	    break loop59;
+                        }
+                    } while (true);
+
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3307:3: ( (lv_calculations_11_0= ruleEntityMockEntityFunction ) )*
+                    loop60:
+                    do {
+                        int alt60=2;
+                        int LA60_0 = input.LA(1);
+
+                        if ( (LA60_0==32) ) {
+                            alt60=1;
+                        }
+
+
+                        switch (alt60) {
+                    	case 1 :
+                    	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3308:1: (lv_calculations_11_0= ruleEntityMockEntityFunction )
+                    	    {
+                    	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3308:1: (lv_calculations_11_0= ruleEntityMockEntityFunction )
+                    	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3309:3: lv_calculations_11_0= ruleEntityMockEntityFunction
+                    	    {
+                    	    if ( state.backtracking==0 ) {
+                    	       
+                    	      	        newCompositeNode(grammarAccess.getEntityMockEntityAccess().getCalculationsEntityMockEntityFunctionParserRuleCall_4_0_7_0()); 
+                    	      	    
+                    	    }
+                    	    pushFollow(FOLLOW_ruleEntityMockEntityFunction_in_ruleEntityMockEntity7321);
+                    	    lv_calculations_11_0=ruleEntityMockEntityFunction();
+
+                    	    state._fsp--;
+                    	    if (state.failed) return current;
+                    	    if ( state.backtracking==0 ) {
+
+                    	      	        if (current==null) {
+                    	      	            current = createModelElementForParent(grammarAccess.getEntityMockEntityRule());
+                    	      	        }
+                    	             		add(
+                    	             			current, 
+                    	             			"calculations",
+                    	              		lv_calculations_11_0, 
+                    	              		"EntityMockEntityFunction");
+                    	      	        afterParserOrEnumRuleCall();
+                    	      	    
+                    	    }
+
+                    	    }
+
+
+                    	    }
+                    	    break;
+
+                    	default :
+                    	    break loop60;
+                        }
+                    } while (true);
+
+                    otherlv_12=(Token)match(input,17,FOLLOW_17_in_ruleEntityMockEntity7334); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                          	newLeafNode(otherlv_12, grammarAccess.getEntityMockEntityAccess().getRightCurlyBracketKeyword_4_0_8());
+                          
+                    }
+
+                    }
+
+
+                    }
+                    break;
+                case 2 :
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3330:6: (otherlv_13= 'by resource' ( (otherlv_14= RULE_ID ) ) otherlv_15= '{' ( (lv_byResourceAttributes_16_0= ruleEntityMockByResourceAttribute ) )* ( (lv_createBlobMapping_17_0= 'createBlobMapping' ) )? otherlv_18= '}' )
+                    {
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3330:6: (otherlv_13= 'by resource' ( (otherlv_14= RULE_ID ) ) otherlv_15= '{' ( (lv_byResourceAttributes_16_0= ruleEntityMockByResourceAttribute ) )* ( (lv_createBlobMapping_17_0= 'createBlobMapping' ) )? otherlv_18= '}' )
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3330:8: otherlv_13= 'by resource' ( (otherlv_14= RULE_ID ) ) otherlv_15= '{' ( (lv_byResourceAttributes_16_0= ruleEntityMockByResourceAttribute ) )* ( (lv_createBlobMapping_17_0= 'createBlobMapping' ) )? otherlv_18= '}'
+                    {
+                    otherlv_13=(Token)match(input,69,FOLLOW_69_in_ruleEntityMockEntity7354); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                          	newLeafNode(otherlv_13, grammarAccess.getEntityMockEntityAccess().getByResourceKeyword_4_1_0());
+                          
+                    }
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3334:1: ( (otherlv_14= RULE_ID ) )
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3335:1: (otherlv_14= RULE_ID )
+                    {
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3335:1: (otherlv_14= RULE_ID )
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3336:3: otherlv_14= RULE_ID
+                    {
+                    if ( state.backtracking==0 ) {
+
+                      			if (current==null) {
+                      	            current = createModelElement(grammarAccess.getEntityMockEntityRule());
+                      	        }
+                              
+                    }
+                    otherlv_14=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleEntityMockEntity7374); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                      		newLeafNode(otherlv_14, grammarAccess.getEntityMockEntityAccess().getByResourceEntityMockResourceCrossReference_4_1_1_0()); 
+                      	
+                    }
+
+                    }
+
+
+                    }
+
+                    otherlv_15=(Token)match(input,14,FOLLOW_14_in_ruleEntityMockEntity7386); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                          	newLeafNode(otherlv_15, grammarAccess.getEntityMockEntityAccess().getLeftCurlyBracketKeyword_4_1_2());
+                          
+                    }
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3351:1: ( (lv_byResourceAttributes_16_0= ruleEntityMockByResourceAttribute ) )*
+                    loop61:
+                    do {
+                        int alt61=2;
+                        int LA61_0 = input.LA(1);
+
+                        if ( (LA61_0==32) ) {
+                            alt61=1;
+                        }
+
+
+                        switch (alt61) {
+                    	case 1 :
+                    	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3352:1: (lv_byResourceAttributes_16_0= ruleEntityMockByResourceAttribute )
+                    	    {
+                    	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3352:1: (lv_byResourceAttributes_16_0= ruleEntityMockByResourceAttribute )
+                    	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3353:3: lv_byResourceAttributes_16_0= ruleEntityMockByResourceAttribute
+                    	    {
+                    	    if ( state.backtracking==0 ) {
+                    	       
+                    	      	        newCompositeNode(grammarAccess.getEntityMockEntityAccess().getByResourceAttributesEntityMockByResourceAttributeParserRuleCall_4_1_3_0()); 
+                    	      	    
+                    	    }
+                    	    pushFollow(FOLLOW_ruleEntityMockByResourceAttribute_in_ruleEntityMockEntity7407);
+                    	    lv_byResourceAttributes_16_0=ruleEntityMockByResourceAttribute();
+
+                    	    state._fsp--;
+                    	    if (state.failed) return current;
+                    	    if ( state.backtracking==0 ) {
+
+                    	      	        if (current==null) {
+                    	      	            current = createModelElementForParent(grammarAccess.getEntityMockEntityRule());
+                    	      	        }
+                    	             		add(
+                    	             			current, 
+                    	             			"byResourceAttributes",
+                    	              		lv_byResourceAttributes_16_0, 
+                    	              		"EntityMockByResourceAttribute");
+                    	      	        afterParserOrEnumRuleCall();
+                    	      	    
+                    	    }
+
+                    	    }
+
+
+                    	    }
+                    	    break;
+
+                    	default :
+                    	    break loop61;
+                        }
+                    } while (true);
+
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3369:3: ( (lv_createBlobMapping_17_0= 'createBlobMapping' ) )?
+                    int alt62=2;
+                    int LA62_0 = input.LA(1);
+
+                    if ( (LA62_0==70) ) {
+                        alt62=1;
+                    }
+                    switch (alt62) {
+                        case 1 :
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3370:1: (lv_createBlobMapping_17_0= 'createBlobMapping' )
+                            {
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3370:1: (lv_createBlobMapping_17_0= 'createBlobMapping' )
+                            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3371:3: lv_createBlobMapping_17_0= 'createBlobMapping'
+                            {
+                            lv_createBlobMapping_17_0=(Token)match(input,70,FOLLOW_70_in_ruleEntityMockEntity7426); if (state.failed) return current;
+                            if ( state.backtracking==0 ) {
+
+                                      newLeafNode(lv_createBlobMapping_17_0, grammarAccess.getEntityMockEntityAccess().getCreateBlobMappingCreateBlobMappingKeyword_4_1_4_0());
+                                  
+                            }
+                            if ( state.backtracking==0 ) {
+
+                              	        if (current==null) {
+                              	            current = createModelElement(grammarAccess.getEntityMockEntityRule());
+                              	        }
+                                     		setWithLastConsumed(current, "createBlobMapping", true, "createBlobMapping");
+                              	    
+                            }
+
+                            }
+
+
+                            }
+                            break;
+
+                    }
+
+                    otherlv_18=(Token)match(input,17,FOLLOW_17_in_ruleEntityMockEntity7452); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                          	newLeafNode(otherlv_18, grammarAccess.getEntityMockEntityAccess().getRightCurlyBracketKeyword_4_1_5());
+                          
+                    }
+
+                    }
+
+
+                    }
+                    break;
+                case 3 :
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3389:6: (otherlv_19= 'iterate' ( (otherlv_20= RULE_ID ) ) otherlv_21= 'with' ( (lv_iterate_22_0= ruleIIterate ) ) otherlv_23= '{' ( (lv_temporaries_24_0= ruleEntityMockTemporary ) )* ( (lv_attributes_25_0= ruleIEntityMockAttribute ) )* ( (lv_calculations_26_0= ruleEntityMockEntityFunction ) )* otherlv_27= '}' )
+                    {
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3389:6: (otherlv_19= 'iterate' ( (otherlv_20= RULE_ID ) ) otherlv_21= 'with' ( (lv_iterate_22_0= ruleIIterate ) ) otherlv_23= '{' ( (lv_temporaries_24_0= ruleEntityMockTemporary ) )* ( (lv_attributes_25_0= ruleIEntityMockAttribute ) )* ( (lv_calculations_26_0= ruleEntityMockEntityFunction ) )* otherlv_27= '}' )
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3389:8: otherlv_19= 'iterate' ( (otherlv_20= RULE_ID ) ) otherlv_21= 'with' ( (lv_iterate_22_0= ruleIIterate ) ) otherlv_23= '{' ( (lv_temporaries_24_0= ruleEntityMockTemporary ) )* ( (lv_attributes_25_0= ruleIEntityMockAttribute ) )* ( (lv_calculations_26_0= ruleEntityMockEntityFunction ) )* otherlv_27= '}'
+                    {
+                    otherlv_19=(Token)match(input,71,FOLLOW_71_in_ruleEntityMockEntity7472); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                          	newLeafNode(otherlv_19, grammarAccess.getEntityMockEntityAccess().getIterateKeyword_4_2_0());
+                          
+                    }
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3393:1: ( (otherlv_20= RULE_ID ) )
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3394:1: (otherlv_20= RULE_ID )
+                    {
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3394:1: (otherlv_20= RULE_ID )
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3395:3: otherlv_20= RULE_ID
+                    {
+                    if ( state.backtracking==0 ) {
+
+                      			if (current==null) {
+                      	            current = createModelElement(grammarAccess.getEntityMockEntityRule());
+                      	        }
+                              
+                    }
+                    otherlv_20=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleEntityMockEntity7492); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                      		newLeafNode(otherlv_20, grammarAccess.getEntityMockEntityAccess().getIteratorLEntityAttributeCrossReference_4_2_1_0()); 
+                      	
+                    }
+
+                    }
+
+
+                    }
+
+                    otherlv_21=(Token)match(input,35,FOLLOW_35_in_ruleEntityMockEntity7504); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                          	newLeafNode(otherlv_21, grammarAccess.getEntityMockEntityAccess().getWithKeyword_4_2_2());
+                          
+                    }
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3410:1: ( (lv_iterate_22_0= ruleIIterate ) )
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3411:1: (lv_iterate_22_0= ruleIIterate )
+                    {
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3411:1: (lv_iterate_22_0= ruleIIterate )
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3412:3: lv_iterate_22_0= ruleIIterate
+                    {
+                    if ( state.backtracking==0 ) {
+                       
+                      	        newCompositeNode(grammarAccess.getEntityMockEntityAccess().getIterateIIterateParserRuleCall_4_2_3_0()); 
+                      	    
+                    }
+                    pushFollow(FOLLOW_ruleIIterate_in_ruleEntityMockEntity7525);
+                    lv_iterate_22_0=ruleIIterate();
+
+                    state._fsp--;
+                    if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                      	        if (current==null) {
+                      	            current = createModelElementForParent(grammarAccess.getEntityMockEntityRule());
+                      	        }
+                             		set(
+                             			current, 
+                             			"iterate",
+                              		lv_iterate_22_0, 
+                              		"IIterate");
+                      	        afterParserOrEnumRuleCall();
+                      	    
+                    }
+
+                    }
+
+
+                    }
+
+                    otherlv_23=(Token)match(input,14,FOLLOW_14_in_ruleEntityMockEntity7537); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                          	newLeafNode(otherlv_23, grammarAccess.getEntityMockEntityAccess().getLeftCurlyBracketKeyword_4_2_4());
+                          
+                    }
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3432:1: ( (lv_temporaries_24_0= ruleEntityMockTemporary ) )*
+                    loop63:
+                    do {
+                        int alt63=2;
+                        int LA63_0 = input.LA(1);
+
+                        if ( (LA63_0==82) ) {
+                            alt63=1;
+                        }
+
+
+                        switch (alt63) {
+                    	case 1 :
+                    	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3433:1: (lv_temporaries_24_0= ruleEntityMockTemporary )
+                    	    {
+                    	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3433:1: (lv_temporaries_24_0= ruleEntityMockTemporary )
+                    	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3434:3: lv_temporaries_24_0= ruleEntityMockTemporary
+                    	    {
+                    	    if ( state.backtracking==0 ) {
+                    	       
+                    	      	        newCompositeNode(grammarAccess.getEntityMockEntityAccess().getTemporariesEntityMockTemporaryParserRuleCall_4_2_5_0()); 
+                    	      	    
+                    	    }
+                    	    pushFollow(FOLLOW_ruleEntityMockTemporary_in_ruleEntityMockEntity7558);
+                    	    lv_temporaries_24_0=ruleEntityMockTemporary();
+
+                    	    state._fsp--;
+                    	    if (state.failed) return current;
+                    	    if ( state.backtracking==0 ) {
+
+                    	      	        if (current==null) {
+                    	      	            current = createModelElementForParent(grammarAccess.getEntityMockEntityRule());
+                    	      	        }
+                    	             		add(
+                    	             			current, 
+                    	             			"temporaries",
+                    	              		lv_temporaries_24_0, 
+                    	              		"EntityMockTemporary");
+                    	      	        afterParserOrEnumRuleCall();
+                    	      	    
+                    	    }
+
+                    	    }
+
+
+                    	    }
+                    	    break;
+
+                    	default :
+                    	    break loop63;
+                        }
+                    } while (true);
+
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3450:3: ( (lv_attributes_25_0= ruleIEntityMockAttribute ) )*
+                    loop64:
+                    do {
+                        int alt64=2;
+                        int LA64_0 = input.LA(1);
+
+                        if ( (LA64_0==32) ) {
+                            int LA64_1 = input.LA(2);
+
+                            if ( (LA64_1==RULE_ID) ) {
+                                int LA64_4 = input.LA(3);
+
+                                if ( (LA64_4==42||LA64_4==81) ) {
+                                    alt64=1;
+                                }
+
+
+                            }
+
+
+                        }
+                        else if ( ((LA64_0>=85 && LA64_0<=86)) ) {
+                            alt64=1;
+                        }
+
+
+                        switch (alt64) {
+                    	case 1 :
+                    	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3451:1: (lv_attributes_25_0= ruleIEntityMockAttribute )
+                    	    {
+                    	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3451:1: (lv_attributes_25_0= ruleIEntityMockAttribute )
+                    	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3452:3: lv_attributes_25_0= ruleIEntityMockAttribute
+                    	    {
+                    	    if ( state.backtracking==0 ) {
+                    	       
+                    	      	        newCompositeNode(grammarAccess.getEntityMockEntityAccess().getAttributesIEntityMockAttributeParserRuleCall_4_2_6_0()); 
+                    	      	    
+                    	    }
+                    	    pushFollow(FOLLOW_ruleIEntityMockAttribute_in_ruleEntityMockEntity7580);
+                    	    lv_attributes_25_0=ruleIEntityMockAttribute();
+
+                    	    state._fsp--;
+                    	    if (state.failed) return current;
+                    	    if ( state.backtracking==0 ) {
+
+                    	      	        if (current==null) {
+                    	      	            current = createModelElementForParent(grammarAccess.getEntityMockEntityRule());
+                    	      	        }
+                    	             		add(
+                    	             			current, 
+                    	             			"attributes",
+                    	              		lv_attributes_25_0, 
+                    	              		"IEntityMockAttribute");
+                    	      	        afterParserOrEnumRuleCall();
+                    	      	    
+                    	    }
+
+                    	    }
+
+
+                    	    }
+                    	    break;
+
+                    	default :
+                    	    break loop64;
+                        }
+                    } while (true);
+
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3468:3: ( (lv_calculations_26_0= ruleEntityMockEntityFunction ) )*
+                    loop65:
+                    do {
+                        int alt65=2;
+                        int LA65_0 = input.LA(1);
+
+                        if ( (LA65_0==32) ) {
+                            alt65=1;
+                        }
+
+
+                        switch (alt65) {
+                    	case 1 :
+                    	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3469:1: (lv_calculations_26_0= ruleEntityMockEntityFunction )
+                    	    {
+                    	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3469:1: (lv_calculations_26_0= ruleEntityMockEntityFunction )
+                    	    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3470:3: lv_calculations_26_0= ruleEntityMockEntityFunction
+                    	    {
+                    	    if ( state.backtracking==0 ) {
+                    	       
+                    	      	        newCompositeNode(grammarAccess.getEntityMockEntityAccess().getCalculationsEntityMockEntityFunctionParserRuleCall_4_2_7_0()); 
+                    	      	    
+                    	    }
+                    	    pushFollow(FOLLOW_ruleEntityMockEntityFunction_in_ruleEntityMockEntity7602);
+                    	    lv_calculations_26_0=ruleEntityMockEntityFunction();
+
+                    	    state._fsp--;
+                    	    if (state.failed) return current;
+                    	    if ( state.backtracking==0 ) {
+
+                    	      	        if (current==null) {
+                    	      	            current = createModelElementForParent(grammarAccess.getEntityMockEntityRule());
+                    	      	        }
+                    	             		add(
+                    	             			current, 
+                    	             			"calculations",
+                    	              		lv_calculations_26_0, 
+                    	              		"EntityMockEntityFunction");
+                    	      	        afterParserOrEnumRuleCall();
+                    	      	    
+                    	    }
+
+                    	    }
+
+
+                    	    }
+                    	    break;
+
+                    	default :
+                    	    break loop65;
+                        }
+                    } while (true);
+
+                    otherlv_27=(Token)match(input,17,FOLLOW_17_in_ruleEntityMockEntity7615); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                          	newLeafNode(otherlv_27, grammarAccess.getEntityMockEntityAccess().getRightCurlyBracketKeyword_4_2_8());
+                          
+                    }
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+
+            }
+
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleEntityMockEntity"
+
+
+    // $ANTLR start "entryRuleIIterate"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3498:1: entryRuleIIterate returns [EObject current=null] : iv_ruleIIterate= ruleIIterate EOF ;
+    public final EObject entryRuleIIterate() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_ruleIIterate = null;
+
+
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3499:2: (iv_ruleIIterate= ruleIIterate EOF )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3500:2: iv_ruleIIterate= ruleIIterate EOF
+            {
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getIIterateRule()); 
+            }
+            pushFollow(FOLLOW_ruleIIterate_in_entryRuleIIterate7653);
+            iv_ruleIIterate=ruleIIterate();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleIIterate; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleIIterate7663); if (state.failed) return current;
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleIIterate"
+
+
+    // $ANTLR start "ruleIIterate"
+    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3507:1: ruleIIterate returns [EObject current=null] : (this_IntegerIterate_0= ruleIntegerIterate | this_DateIterate_1= ruleDateIterate ) ;
+    public final EObject ruleIIterate() throws RecognitionException {
+        EObject current = null;
+
+        EObject this_IntegerIterate_0 = null;
+
+        EObject this_DateIterate_1 = null;
+
+
+         enterRule(); 
+            
+        try {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3510:28: ( (this_IntegerIterate_0= ruleIntegerIterate | this_DateIterate_1= ruleDateIterate ) )
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3511:1: (this_IntegerIterate_0= ruleIntegerIterate | this_DateIterate_1= ruleDateIterate )
+            {
+            // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3511:1: (this_IntegerIterate_0= ruleIntegerIterate | this_DateIterate_1= ruleDateIterate )
+            int alt67=2;
+            int LA67_0 = input.LA(1);
+
+            if ( (LA67_0==72) ) {
+                alt67=1;
+            }
+            else if ( (LA67_0==75) ) {
+                alt67=2;
+            }
+            else {
+                if (state.backtracking>0) {state.failed=true; return current;}
+                NoViableAltException nvae =
+                    new NoViableAltException("", 67, 0, input);
+
+                throw nvae;
+            }
+            switch (alt67) {
+                case 1 :
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3512:5: this_IntegerIterate_0= ruleIntegerIterate
+                    {
+                    if ( state.backtracking==0 ) {
+                       
+                              newCompositeNode(grammarAccess.getIIterateAccess().getIntegerIterateParserRuleCall_0()); 
+                          
+                    }
+                    pushFollow(FOLLOW_ruleIntegerIterate_in_ruleIIterate7710);
+                    this_IntegerIterate_0=ruleIntegerIterate();
+
+                    state._fsp--;
+                    if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+                       
+                              current = this_IntegerIterate_0; 
+                              afterParserOrEnumRuleCall();
+                          
+                    }
+
+                    }
+                    break;
+                case 2 :
+                    // ../org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/parser/antlr/internal/InternalEntityMockDSL.g:3522:5: this_DateIterate_1= ruleDateIterate
+                    {
+                    if ( state.backtracking==0 ) {
+                       
+                              newCompositeNode(grammarAccess.getIIterateAccess().getDateIterateParserRuleCall_1()); 
+                          
+                    }
+                    pushFollow(FOLLOW_ruleDateIterate_in_ruleIIterate7737);
+                    this_DateIterate_1=ruleDateIterate();
+
+                    state._fsp--;
+                    if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+                       
+                              current = this_DateIterate_1; 
+                              afterParserOrEnumRuleCall();
+                          
+                    }
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
diff --git a/org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/serializer/EntityMockDSLSemanticSequencer.java b/org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/serializer/EntityMockDSLSemanticSequencer.java
new file mode 100644
index 0000000..ed71db6
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/serializer/EntityMockDSLSemanticSequencer.java
@@ -0,0 +1,2382 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  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:                                                      
+ * 	   Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ * 
+ */
+
+package org.eclipse.osbp.xtext.entitymock.serializer;
+
+import com.google.inject.Inject;
+import com.google.inject.Provider;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.osbp.dsl.semantic.common.types.LImport;
+import org.eclipse.osbp.dsl.semantic.common.types.OSBPTypesPackage;
+import org.eclipse.osbp.xtext.entitymock.Date;
+import org.eclipse.osbp.xtext.entitymock.DateIterate;
+import org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByObject;
+import org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByReference;
+import org.eclipse.osbp.xtext.entitymock.EntityMockAttributeFiller;
+import org.eclipse.osbp.xtext.entitymock.EntityMockByResourceAttribute;
+import org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage;
+import org.eclipse.osbp.xtext.entitymock.EntityMockDataType;
+import org.eclipse.osbp.xtext.entitymock.EntityMockDataTypes;
+import org.eclipse.osbp.xtext.entitymock.EntityMockEntities;
+import org.eclipse.osbp.xtext.entitymock.EntityMockEntity;
+import org.eclipse.osbp.xtext.entitymock.EntityMockEntityFunction;
+import org.eclipse.osbp.xtext.entitymock.EntityMockEntityFunctionParameter;
+import org.eclipse.osbp.xtext.entitymock.EntityMockModel;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObject;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectArrayValue;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectEmbed;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectEnum;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectFill;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectFunction;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectFunctionParameter;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectItemValue;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectPlainValue;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectResourceValue;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjects;
+import org.eclipse.osbp.xtext.entitymock.EntityMockPackage;
+import org.eclipse.osbp.xtext.entitymock.EntityMockReferencedObjectAttribute;
+import org.eclipse.osbp.xtext.entitymock.EntityMockResource;
+import org.eclipse.osbp.xtext.entitymock.EntityMockResourceAttribute;
+import org.eclipse.osbp.xtext.entitymock.EntityMockResourceDataRow;
+import org.eclipse.osbp.xtext.entitymock.EntityMockResources;
+import org.eclipse.osbp.xtext.entitymock.EntityMockTemporary;
+import org.eclipse.osbp.xtext.entitymock.IntegerIterate;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerBoolean;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerDateFuture;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerDatePast;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerDateRange;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedDoubleRandom;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedDoubleRange;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedIntegerRandom;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedIntegerRange;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerTextParagraphs;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerTextRandom;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerTextSentences;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerTextWords;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedDoubleRandom;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedDoubleRange;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedIntegerRandom;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedIntegerRange;
+import org.eclipse.osbp.xtext.entitymock.RunningDataInterchange;
+import org.eclipse.osbp.xtext.entitymock.RunningDataInterchanges;
+import org.eclipse.osbp.xtext.entitymock.services.EntityMockDSLGrammarAccess;
+import org.eclipse.xtext.common.types.JvmFormalParameter;
+import org.eclipse.xtext.common.types.JvmGenericArrayTypeReference;
+import org.eclipse.xtext.common.types.JvmInnerTypeReference;
+import org.eclipse.xtext.common.types.JvmLowerBound;
+import org.eclipse.xtext.common.types.JvmParameterizedTypeReference;
+import org.eclipse.xtext.common.types.JvmTypeParameter;
+import org.eclipse.xtext.common.types.JvmUpperBound;
+import org.eclipse.xtext.common.types.JvmWildcardTypeReference;
+import org.eclipse.xtext.common.types.TypesPackage;
+import org.eclipse.xtext.serializer.acceptor.ISemanticSequenceAcceptor;
+import org.eclipse.xtext.serializer.acceptor.SequenceFeeder;
+import org.eclipse.xtext.serializer.diagnostic.ISemanticSequencerDiagnosticProvider;
+import org.eclipse.xtext.serializer.diagnostic.ISerializationDiagnostic.Acceptor;
+import org.eclipse.xtext.serializer.sequencer.GenericSequencer;
+import org.eclipse.xtext.serializer.sequencer.ISemanticNodeProvider.INodesForEObjectProvider;
+import org.eclipse.xtext.serializer.sequencer.ISemanticSequencer;
+import org.eclipse.xtext.serializer.sequencer.ITransientValueService;
+import org.eclipse.xtext.serializer.sequencer.ITransientValueService.ValueTransient;
+import org.eclipse.xtext.xbase.XAssignment;
+import org.eclipse.xtext.xbase.XBasicForLoopExpression;
+import org.eclipse.xtext.xbase.XBinaryOperation;
+import org.eclipse.xtext.xbase.XBlockExpression;
+import org.eclipse.xtext.xbase.XBooleanLiteral;
+import org.eclipse.xtext.xbase.XCasePart;
+import org.eclipse.xtext.xbase.XCastedExpression;
+import org.eclipse.xtext.xbase.XCatchClause;
+import org.eclipse.xtext.xbase.XClosure;
+import org.eclipse.xtext.xbase.XConstructorCall;
+import org.eclipse.xtext.xbase.XDoWhileExpression;
+import org.eclipse.xtext.xbase.XFeatureCall;
+import org.eclipse.xtext.xbase.XForLoopExpression;
+import org.eclipse.xtext.xbase.XIfExpression;
+import org.eclipse.xtext.xbase.XInstanceOfExpression;
+import org.eclipse.xtext.xbase.XListLiteral;
+import org.eclipse.xtext.xbase.XMemberFeatureCall;
+import org.eclipse.xtext.xbase.XNullLiteral;
+import org.eclipse.xtext.xbase.XNumberLiteral;
+import org.eclipse.xtext.xbase.XPostfixOperation;
+import org.eclipse.xtext.xbase.XReturnExpression;
+import org.eclipse.xtext.xbase.XSetLiteral;
+import org.eclipse.xtext.xbase.XStringLiteral;
+import org.eclipse.xtext.xbase.XSwitchExpression;
+import org.eclipse.xtext.xbase.XSynchronizedExpression;
+import org.eclipse.xtext.xbase.XThrowExpression;
+import org.eclipse.xtext.xbase.XTryCatchFinallyExpression;
+import org.eclipse.xtext.xbase.XTypeLiteral;
+import org.eclipse.xtext.xbase.XUnaryOperation;
+import org.eclipse.xtext.xbase.XVariableDeclaration;
+import org.eclipse.xtext.xbase.XWhileExpression;
+import org.eclipse.xtext.xbase.XbasePackage;
+import org.eclipse.xtext.xbase.annotations.serializer.XbaseWithAnnotationsSemanticSequencer;
+import org.eclipse.xtext.xbase.annotations.xAnnotations.XAnnotation;
+import org.eclipse.xtext.xbase.annotations.xAnnotations.XAnnotationElementValuePair;
+import org.eclipse.xtext.xbase.annotations.xAnnotations.XAnnotationsPackage;
+import org.eclipse.xtext.xtype.XFunctionTypeRef;
+import org.eclipse.xtext.xtype.XImportDeclaration;
+import org.eclipse.xtext.xtype.XImportSection;
+import org.eclipse.xtext.xtype.XtypePackage;
+
+@SuppressWarnings("all")
+public class EntityMockDSLSemanticSequencer extends XbaseWithAnnotationsSemanticSequencer {
+
+	@Inject
+	private EntityMockDSLGrammarAccess grammarAccess;
+	
+	public void createSequence(EObject context, EObject semanticObject) {
+		if(semanticObject.eClass().getEPackage() == EntityMockDSLPackage.eINSTANCE) switch(semanticObject.eClass().getClassifierID()) {
+			case EntityMockDSLPackage.DATE:
+				if(context == grammarAccess.getDateRule()) {
+					sequence_Date(context, (Date) semanticObject); 
+					return; 
+				}
+				else break;
+			case EntityMockDSLPackage.DATE_ITERATE:
+				if(context == grammarAccess.getDateIterateRule() ||
+				   context == grammarAccess.getIIterateRule()) {
+					sequence_DateIterate(context, (DateIterate) semanticObject); 
+					return; 
+				}
+				else break;
+			case EntityMockDSLPackage.ENTITY_MOCK_ATTRIBUTE_BY_OBJECT:
+				if(context == grammarAccess.getEntityMockAttributeByObjectRule() ||
+				   context == grammarAccess.getIEntityMockAttributeRule() ||
+				   context == grammarAccess.getIEntityMockEntityUsableRule()) {
+					sequence_EntityMockAttributeByObject(context, (EntityMockAttributeByObject) semanticObject); 
+					return; 
+				}
+				else break;
+			case EntityMockDSLPackage.ENTITY_MOCK_ATTRIBUTE_BY_REFERENCE:
+				if(context == grammarAccess.getEntityMockAttributeByReferenceRule() ||
+				   context == grammarAccess.getIEntityMockAttributeRule() ||
+				   context == grammarAccess.getIEntityMockEntityUsableRule()) {
+					sequence_EntityMockAttributeByReference(context, (EntityMockAttributeByReference) semanticObject); 
+					return; 
+				}
+				else break;
+			case EntityMockDSLPackage.ENTITY_MOCK_ATTRIBUTE_FILLER:
+				if(context == grammarAccess.getEntityMockAttributeFillerRule() ||
+				   context == grammarAccess.getIEntityMockAttributeRule() ||
+				   context == grammarAccess.getIEntityMockEntityUsableRule()) {
+					sequence_EntityMockAttributeFiller(context, (EntityMockAttributeFiller) semanticObject); 
+					return; 
+				}
+				else break;
+			case EntityMockDSLPackage.ENTITY_MOCK_BY_RESOURCE_ATTRIBUTE:
+				if(context == grammarAccess.getEntityMockByResourceAttributeRule()) {
+					sequence_EntityMockByResourceAttribute(context, (EntityMockByResourceAttribute) semanticObject); 
+					return; 
+				}
+				else break;
+			case EntityMockDSLPackage.ENTITY_MOCK_DATA_TYPE:
+				if(context == grammarAccess.getEntityMockDataTypeRule()) {
+					sequence_EntityMockDataType(context, (EntityMockDataType) semanticObject); 
+					return; 
+				}
+				else break;
+			case EntityMockDSLPackage.ENTITY_MOCK_DATA_TYPES:
+				if(context == grammarAccess.getEntityMockDataTypesRule()) {
+					sequence_EntityMockDataTypes(context, (EntityMockDataTypes) semanticObject); 
+					return; 
+				}
+				else break;
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITIES:
+				if(context == grammarAccess.getEntityMockEntitiesRule()) {
+					sequence_EntityMockEntities(context, (EntityMockEntities) semanticObject); 
+					return; 
+				}
+				else break;
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY:
+				if(context == grammarAccess.getEntityMockEntityRule()) {
+					sequence_EntityMockEntity(context, (EntityMockEntity) semanticObject); 
+					return; 
+				}
+				else break;
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY_FUNCTION:
+				if(context == grammarAccess.getEntityMockEntityFunctionRule() ||
+				   context == grammarAccess.getIEntityMockEntityUsableRule()) {
+					sequence_EntityMockEntityFunction(context, (EntityMockEntityFunction) semanticObject); 
+					return; 
+				}
+				else break;
+			case EntityMockDSLPackage.ENTITY_MOCK_ENTITY_FUNCTION_PARAMETER:
+				if(context == grammarAccess.getEntityMockEntityFunctionParameterRule()) {
+					sequence_EntityMockEntityFunctionParameter(context, (EntityMockEntityFunctionParameter) semanticObject); 
+					return; 
+				}
+				else break;
+			case EntityMockDSLPackage.ENTITY_MOCK_MODEL:
+				if(context == grammarAccess.getEntityMockModelRule()) {
+					sequence_EntityMockModel(context, (EntityMockModel) semanticObject); 
+					return; 
+				}
+				else break;
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT:
+				if(context == grammarAccess.getEntityMockObjectRule()) {
+					sequence_EntityMockObject(context, (EntityMockObject) semanticObject); 
+					return; 
+				}
+				else break;
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_ARRAY_VALUE:
+				if(context == grammarAccess.getEntityMockObjectArrayValueRule() ||
+				   context == grammarAccess.getIEntityMockObjectAttributeRule() ||
+				   context == grammarAccess.getIEntityMockObjectUsableRule()) {
+					sequence_EntityMockObjectArrayValue(context, (EntityMockObjectArrayValue) semanticObject); 
+					return; 
+				}
+				else break;
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_EMBED:
+				if(context == grammarAccess.getEntityMockObjectEmbedRule() ||
+				   context == grammarAccess.getIEntityMockObjectAttributeRule() ||
+				   context == grammarAccess.getIEntityMockObjectUsableRule()) {
+					sequence_EntityMockObjectEmbed(context, (EntityMockObjectEmbed) semanticObject); 
+					return; 
+				}
+				else break;
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_ENUM:
+				if(context == grammarAccess.getEntityMockObjectEnumRule() ||
+				   context == grammarAccess.getIEntityMockObjectUsableRule()) {
+					sequence_EntityMockObjectEnum(context, (EntityMockObjectEnum) semanticObject); 
+					return; 
+				}
+				else break;
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_FILL:
+				if(context == grammarAccess.getEntityMockObjectFillRule() ||
+				   context == grammarAccess.getIEntityMockObjectAttributeRule() ||
+				   context == grammarAccess.getIEntityMockObjectUsableRule()) {
+					sequence_EntityMockObjectFill(context, (EntityMockObjectFill) semanticObject); 
+					return; 
+				}
+				else break;
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_FUNCTION:
+				if(context == grammarAccess.getEntityMockObjectFunctionRule() ||
+				   context == grammarAccess.getIEntityMockObjectUsableRule()) {
+					sequence_EntityMockObjectFunction(context, (EntityMockObjectFunction) semanticObject); 
+					return; 
+				}
+				else break;
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_FUNCTION_PARAMETER:
+				if(context == grammarAccess.getEntityMockObjectFunctionParameterRule()) {
+					sequence_EntityMockObjectFunctionParameter(context, (EntityMockObjectFunctionParameter) semanticObject); 
+					return; 
+				}
+				else break;
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_ITEM_VALUE:
+				if(context == grammarAccess.getEntityMockObjectItemValueRule()) {
+					sequence_EntityMockObjectItemValue(context, (EntityMockObjectItemValue) semanticObject); 
+					return; 
+				}
+				else break;
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_PLAIN_VALUE:
+				if(context == grammarAccess.getEntityMockObjectPlainValueRule() ||
+				   context == grammarAccess.getIEntityMockObjectAttributeRule() ||
+				   context == grammarAccess.getIEntityMockObjectUsableRule()) {
+					sequence_EntityMockObjectPlainValue(context, (EntityMockObjectPlainValue) semanticObject); 
+					return; 
+				}
+				else break;
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECT_RESOURCE_VALUE:
+				if(context == grammarAccess.getEntityMockObjectResourceValueRule() ||
+				   context == grammarAccess.getIEntityMockObjectAttributeRule()) {
+					sequence_EntityMockObjectResourceValue(context, (EntityMockObjectResourceValue) semanticObject); 
+					return; 
+				}
+				else break;
+			case EntityMockDSLPackage.ENTITY_MOCK_OBJECTS:
+				if(context == grammarAccess.getEntityMockObjectsRule()) {
+					sequence_EntityMockObjects(context, (EntityMockObjects) semanticObject); 
+					return; 
+				}
+				else break;
+			case EntityMockDSLPackage.ENTITY_MOCK_PACKAGE:
+				if(context == grammarAccess.getEntityMockPackageRule()) {
+					sequence_EntityMockPackage(context, (EntityMockPackage) semanticObject); 
+					return; 
+				}
+				else break;
+			case EntityMockDSLPackage.ENTITY_MOCK_REFERENCED_OBJECT_ATTRIBUTE:
+				if(context == grammarAccess.getEntityMockReferencedObjectAttributeRule()) {
+					sequence_EntityMockReferencedObjectAttribute(context, (EntityMockReferencedObjectAttribute) semanticObject); 
+					return; 
+				}
+				else break;
+			case EntityMockDSLPackage.ENTITY_MOCK_RESOURCE:
+				if(context == grammarAccess.getEntityMockResourceRule()) {
+					sequence_EntityMockResource(context, (EntityMockResource) semanticObject); 
+					return; 
+				}
+				else break;
+			case EntityMockDSLPackage.ENTITY_MOCK_RESOURCE_ATTRIBUTE:
+				if(context == grammarAccess.getEntityMockResourceAttributeRule()) {
+					sequence_EntityMockResourceAttribute(context, (EntityMockResourceAttribute) semanticObject); 
+					return; 
+				}
+				else break;
+			case EntityMockDSLPackage.ENTITY_MOCK_RESOURCE_DATA_ROW:
+				if(context == grammarAccess.getEntityMockResourceDataRowRule()) {
+					sequence_EntityMockResourceDataRow(context, (EntityMockResourceDataRow) semanticObject); 
+					return; 
+				}
+				else break;
+			case EntityMockDSLPackage.ENTITY_MOCK_RESOURCES:
+				if(context == grammarAccess.getEntityMockResourcesRule()) {
+					sequence_EntityMockResources(context, (EntityMockResources) semanticObject); 
+					return; 
+				}
+				else break;
+			case EntityMockDSLPackage.ENTITY_MOCK_TEMPORARY:
+				if(context == grammarAccess.getEntityMockTemporaryRule()) {
+					sequence_EntityMockTemporary(context, (EntityMockTemporary) semanticObject); 
+					return; 
+				}
+				else break;
+			case EntityMockDSLPackage.INTEGER_ITERATE:
+				if(context == grammarAccess.getIIterateRule() ||
+				   context == grammarAccess.getIntegerIterateRule()) {
+					sequence_IntegerIterate(context, (IntegerIterate) semanticObject); 
+					return; 
+				}
+				else break;
+			case EntityMockDSLPackage.PROPERTY_FILLER_BOOLEAN:
+				if(context == grammarAccess.getPropertyFillerBooleanRule() ||
+				   context == grammarAccess.getPropertyFillerTypeRule()) {
+					sequence_PropertyFillerBoolean(context, (PropertyFillerBoolean) semanticObject); 
+					return; 
+				}
+				else break;
+			case EntityMockDSLPackage.PROPERTY_FILLER_DATE_FUTURE:
+				if(context == grammarAccess.getPropertyFillerDateFutureRule() ||
+				   context == grammarAccess.getPropertyFillerTypeRule()) {
+					sequence_PropertyFillerDateFuture(context, (PropertyFillerDateFuture) semanticObject); 
+					return; 
+				}
+				else break;
+			case EntityMockDSLPackage.PROPERTY_FILLER_DATE_PAST:
+				if(context == grammarAccess.getPropertyFillerDatePastRule() ||
+				   context == grammarAccess.getPropertyFillerTypeRule()) {
+					sequence_PropertyFillerDatePast(context, (PropertyFillerDatePast) semanticObject); 
+					return; 
+				}
+				else break;
+			case EntityMockDSLPackage.PROPERTY_FILLER_DATE_RANGE:
+				if(context == grammarAccess.getPropertyFillerDateRangeRule() ||
+				   context == grammarAccess.getPropertyFillerTypeRule()) {
+					sequence_PropertyFillerDateRange(context, (PropertyFillerDateRange) semanticObject); 
+					return; 
+				}
+				else break;
+			case EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_DOUBLE_RANDOM:
+				if(context == grammarAccess.getPropertyFillerSignedDoubleRandomRule() ||
+				   context == grammarAccess.getPropertyFillerTypeRule()) {
+					sequence_PropertyFillerSignedDoubleRandom(context, (PropertyFillerSignedDoubleRandom) semanticObject); 
+					return; 
+				}
+				else break;
+			case EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_DOUBLE_RANGE:
+				if(context == grammarAccess.getPropertyFillerSignedDoubleRangeRule() ||
+				   context == grammarAccess.getPropertyFillerTypeRule()) {
+					sequence_PropertyFillerSignedDoubleRange(context, (PropertyFillerSignedDoubleRange) semanticObject); 
+					return; 
+				}
+				else break;
+			case EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_INTEGER_RANDOM:
+				if(context == grammarAccess.getPropertyFillerSignedIntegerRandomRule() ||
+				   context == grammarAccess.getPropertyFillerTypeRule()) {
+					sequence_PropertyFillerSignedIntegerRandom(context, (PropertyFillerSignedIntegerRandom) semanticObject); 
+					return; 
+				}
+				else break;
+			case EntityMockDSLPackage.PROPERTY_FILLER_SIGNED_INTEGER_RANGE:
+				if(context == grammarAccess.getPropertyFillerSignedIntegerRangeRule() ||
+				   context == grammarAccess.getPropertyFillerTypeRule()) {
+					sequence_PropertyFillerSignedIntegerRange(context, (PropertyFillerSignedIntegerRange) semanticObject); 
+					return; 
+				}
+				else break;
+			case EntityMockDSLPackage.PROPERTY_FILLER_TEXT_PARAGRAPHS:
+				if(context == grammarAccess.getPropertyFillerTextParagraphsRule() ||
+				   context == grammarAccess.getPropertyFillerTypeRule()) {
+					sequence_PropertyFillerTextParagraphs(context, (PropertyFillerTextParagraphs) semanticObject); 
+					return; 
+				}
+				else break;
+			case EntityMockDSLPackage.PROPERTY_FILLER_TEXT_RANDOM:
+				if(context == grammarAccess.getPropertyFillerTextRandomRule() ||
+				   context == grammarAccess.getPropertyFillerTypeRule()) {
+					sequence_PropertyFillerTextRandom(context, (PropertyFillerTextRandom) semanticObject); 
+					return; 
+				}
+				else break;
+			case EntityMockDSLPackage.PROPERTY_FILLER_TEXT_SENTENCES:
+				if(context == grammarAccess.getPropertyFillerTextSentencesRule() ||
+				   context == grammarAccess.getPropertyFillerTypeRule()) {
+					sequence_PropertyFillerTextSentences(context, (PropertyFillerTextSentences) semanticObject); 
+					return; 
+				}
+				else break;
+			case EntityMockDSLPackage.PROPERTY_FILLER_TEXT_WORDS:
+				if(context == grammarAccess.getPropertyFillerTextWordsRule() ||
+				   context == grammarAccess.getPropertyFillerTypeRule()) {
+					sequence_PropertyFillerTextWords(context, (PropertyFillerTextWords) semanticObject); 
+					return; 
+				}
+				else break;
+			case EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_DOUBLE_RANDOM:
+				if(context == grammarAccess.getPropertyFillerTypeRule() ||
+				   context == grammarAccess.getPropertyFillerUnsignedDoubleRandomRule()) {
+					sequence_PropertyFillerUnsignedDoubleRandom(context, (PropertyFillerUnsignedDoubleRandom) semanticObject); 
+					return; 
+				}
+				else break;
+			case EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_DOUBLE_RANGE:
+				if(context == grammarAccess.getPropertyFillerTypeRule() ||
+				   context == grammarAccess.getPropertyFillerUnsignedDoubleRangeRule()) {
+					sequence_PropertyFillerUnsignedDoubleRange(context, (PropertyFillerUnsignedDoubleRange) semanticObject); 
+					return; 
+				}
+				else break;
+			case EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_INTEGER_RANDOM:
+				if(context == grammarAccess.getPropertyFillerTypeRule() ||
+				   context == grammarAccess.getPropertyFillerUnsignedIntegerRandomRule()) {
+					sequence_PropertyFillerUnsignedIntegerRandom(context, (PropertyFillerUnsignedIntegerRandom) semanticObject); 
+					return; 
+				}
+				else break;
+			case EntityMockDSLPackage.PROPERTY_FILLER_UNSIGNED_INTEGER_RANGE:
+				if(context == grammarAccess.getPropertyFillerTypeRule() ||
+				   context == grammarAccess.getPropertyFillerUnsignedIntegerRangeRule()) {
+					sequence_PropertyFillerUnsignedIntegerRange(context, (PropertyFillerUnsignedIntegerRange) semanticObject); 
+					return; 
+				}
+				else break;
+			case EntityMockDSLPackage.RUNNING_DATA_INTERCHANGE:
+				if(context == grammarAccess.getRunningDataInterchangeRule()) {
+					sequence_RunningDataInterchange(context, (RunningDataInterchange) semanticObject); 
+					return; 
+				}
+				else break;
+			case EntityMockDSLPackage.RUNNING_DATA_INTERCHANGES:
+				if(context == grammarAccess.getRunningDataInterchangesRule()) {
+					sequence_RunningDataInterchanges(context, (RunningDataInterchanges) semanticObject); 
+					return; 
+				}
+				else break;
+			}
+		else if(semanticObject.eClass().getEPackage() == OSBPTypesPackage.eINSTANCE) switch(semanticObject.eClass().getClassifierID()) {
+			case OSBPTypesPackage.LIMPORT:
+				if(context == grammarAccess.getEntityModelImportRule()) {
+					sequence_EntityModelImport(context, (LImport) semanticObject); 
+					return; 
+				}
+				else break;
+			}
+		else if(semanticObject.eClass().getEPackage() == TypesPackage.eINSTANCE) switch(semanticObject.eClass().getClassifierID()) {
+			case TypesPackage.JVM_FORMAL_PARAMETER:
+				if(context == grammarAccess.getFullJvmFormalParameterRule()) {
+					sequence_FullJvmFormalParameter(context, (JvmFormalParameter) semanticObject); 
+					return; 
+				}
+				else if(context == grammarAccess.getJvmFormalParameterRule()) {
+					sequence_JvmFormalParameter(context, (JvmFormalParameter) semanticObject); 
+					return; 
+				}
+				else break;
+			case TypesPackage.JVM_GENERIC_ARRAY_TYPE_REFERENCE:
+				if(context == grammarAccess.getJvmArgumentTypeReferenceRule() ||
+				   context == grammarAccess.getJvmTypeReferenceRule() ||
+				   context == grammarAccess.getJvmTypeReferenceAccess().getJvmGenericArrayTypeReferenceComponentTypeAction_0_1_0_0()) {
+					sequence_JvmTypeReference(context, (JvmGenericArrayTypeReference) semanticObject); 
+					return; 
+				}
+				else break;
+			case TypesPackage.JVM_INNER_TYPE_REFERENCE:
+				if(context == grammarAccess.getJvmArgumentTypeReferenceRule() ||
+				   context == grammarAccess.getJvmParameterizedTypeReferenceRule() ||
+				   context == grammarAccess.getJvmParameterizedTypeReferenceAccess().getJvmInnerTypeReferenceOuterAction_1_4_0_0_0() ||
+				   context == grammarAccess.getJvmTypeReferenceRule() ||
+				   context == grammarAccess.getJvmTypeReferenceAccess().getJvmGenericArrayTypeReferenceComponentTypeAction_0_1_0_0()) {
+					sequence_JvmParameterizedTypeReference(context, (JvmInnerTypeReference) semanticObject); 
+					return; 
+				}
+				else break;
+			case TypesPackage.JVM_LOWER_BOUND:
+				if(context == grammarAccess.getJvmLowerBoundAndedRule()) {
+					sequence_JvmLowerBoundAnded(context, (JvmLowerBound) semanticObject); 
+					return; 
+				}
+				else if(context == grammarAccess.getJvmLowerBoundRule()) {
+					sequence_JvmLowerBound(context, (JvmLowerBound) semanticObject); 
+					return; 
+				}
+				else break;
+			case TypesPackage.JVM_PARAMETERIZED_TYPE_REFERENCE:
+				if(context == grammarAccess.getJvmArgumentTypeReferenceRule() ||
+				   context == grammarAccess.getJvmParameterizedTypeReferenceRule() ||
+				   context == grammarAccess.getJvmParameterizedTypeReferenceAccess().getJvmInnerTypeReferenceOuterAction_1_4_0_0_0() ||
+				   context == grammarAccess.getJvmTypeReferenceRule() ||
+				   context == grammarAccess.getJvmTypeReferenceAccess().getJvmGenericArrayTypeReferenceComponentTypeAction_0_1_0_0()) {
+					sequence_JvmParameterizedTypeReference(context, (JvmParameterizedTypeReference) semanticObject); 
+					return; 
+				}
+				else break;
+			case TypesPackage.JVM_TYPE_PARAMETER:
+				if(context == grammarAccess.getJvmTypeParameterRule()) {
+					sequence_JvmTypeParameter(context, (JvmTypeParameter) semanticObject); 
+					return; 
+				}
+				else break;
+			case TypesPackage.JVM_UPPER_BOUND:
+				if(context == grammarAccess.getJvmUpperBoundAndedRule()) {
+					sequence_JvmUpperBoundAnded(context, (JvmUpperBound) semanticObject); 
+					return; 
+				}
+				else if(context == grammarAccess.getJvmUpperBoundRule()) {
+					sequence_JvmUpperBound(context, (JvmUpperBound) semanticObject); 
+					return; 
+				}
+				else break;
+			case TypesPackage.JVM_WILDCARD_TYPE_REFERENCE:
+				if(context == grammarAccess.getJvmArgumentTypeReferenceRule() ||
+				   context == grammarAccess.getJvmWildcardTypeReferenceRule()) {
+					sequence_JvmWildcardTypeReference(context, (JvmWildcardTypeReference) semanticObject); 
+					return; 
+				}
+				else break;
+			}
+		else if(semanticObject.eClass().getEPackage() == XAnnotationsPackage.eINSTANCE) switch(semanticObject.eClass().getClassifierID()) {
+			case XAnnotationsPackage.XANNOTATION:
+				if(context == grammarAccess.getXAnnotationRule() ||
+				   context == grammarAccess.getXAnnotationElementValueRule() ||
+				   context == grammarAccess.getXAnnotationElementValueOrCommaListRule() ||
+				   context == grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0() ||
+				   context == grammarAccess.getXAnnotationOrExpressionRule()) {
+					sequence_XAnnotation(context, (XAnnotation) semanticObject); 
+					return; 
+				}
+				else break;
+			case XAnnotationsPackage.XANNOTATION_ELEMENT_VALUE_PAIR:
+				if(context == grammarAccess.getXAnnotationElementValuePairRule()) {
+					sequence_XAnnotationElementValuePair(context, (XAnnotationElementValuePair) semanticObject); 
+					return; 
+				}
+				else break;
+			}
+		else if(semanticObject.eClass().getEPackage() == XbasePackage.eINSTANCE) switch(semanticObject.eClass().getClassifierID()) {
+			case XbasePackage.XASSIGNMENT:
+				if(context == grammarAccess.getXAdditiveExpressionRule() ||
+				   context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXAndExpressionRule() ||
+				   context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXAnnotationElementValueRule() ||
+				   context == grammarAccess.getXAnnotationElementValueOrCommaListRule() ||
+				   context == grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0() ||
+				   context == grammarAccess.getXAnnotationOrExpressionRule() ||
+				   context == grammarAccess.getXAssignmentRule() ||
+				   context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXCastedExpressionRule() ||
+				   context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
+				   context == grammarAccess.getXEqualityExpressionRule() ||
+				   context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXExpressionRule() ||
+				   context == grammarAccess.getXExpressionOrVarDeclarationRule() ||
+				   context == grammarAccess.getXMemberFeatureCallRule() ||
+				   context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
+				   context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXMultiplicativeExpressionRule() ||
+				   context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXOrExpressionRule() ||
+				   context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXOtherOperatorExpressionRule() ||
+				   context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXParenthesizedExpressionRule() ||
+				   context == grammarAccess.getXPostfixOperationRule() ||
+				   context == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() ||
+				   context == grammarAccess.getXPrimaryExpressionRule() ||
+				   context == grammarAccess.getXRelationalExpressionRule() ||
+				   context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
+				   context == grammarAccess.getXUnaryOperationRule()) {
+					sequence_XAssignment_XMemberFeatureCall(context, (XAssignment) semanticObject); 
+					return; 
+				}
+				else break;
+			case XbasePackage.XBASIC_FOR_LOOP_EXPRESSION:
+				if(context == grammarAccess.getXAdditiveExpressionRule() ||
+				   context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXAndExpressionRule() ||
+				   context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXAnnotationElementValueRule() ||
+				   context == grammarAccess.getXAnnotationElementValueOrCommaListRule() ||
+				   context == grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0() ||
+				   context == grammarAccess.getXAnnotationOrExpressionRule() ||
+				   context == grammarAccess.getXAssignmentRule() ||
+				   context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXBasicForLoopExpressionRule() ||
+				   context == grammarAccess.getXCastedExpressionRule() ||
+				   context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
+				   context == grammarAccess.getXEqualityExpressionRule() ||
+				   context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXExpressionRule() ||
+				   context == grammarAccess.getXExpressionOrVarDeclarationRule() ||
+				   context == grammarAccess.getXMemberFeatureCallRule() ||
+				   context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
+				   context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXMultiplicativeExpressionRule() ||
+				   context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXOrExpressionRule() ||
+				   context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXOtherOperatorExpressionRule() ||
+				   context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXParenthesizedExpressionRule() ||
+				   context == grammarAccess.getXPostfixOperationRule() ||
+				   context == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() ||
+				   context == grammarAccess.getXPrimaryExpressionRule() ||
+				   context == grammarAccess.getXRelationalExpressionRule() ||
+				   context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
+				   context == grammarAccess.getXUnaryOperationRule()) {
+					sequence_XBasicForLoopExpression(context, (XBasicForLoopExpression) semanticObject); 
+					return; 
+				}
+				else break;
+			case XbasePackage.XBINARY_OPERATION:
+				if(context == grammarAccess.getXAdditiveExpressionRule() ||
+				   context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXAndExpressionRule() ||
+				   context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXAnnotationElementValueRule() ||
+				   context == grammarAccess.getXAnnotationElementValueOrCommaListRule() ||
+				   context == grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0() ||
+				   context == grammarAccess.getXAnnotationOrExpressionRule() ||
+				   context == grammarAccess.getXAssignmentRule() ||
+				   context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXCastedExpressionRule() ||
+				   context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
+				   context == grammarAccess.getXEqualityExpressionRule() ||
+				   context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXExpressionRule() ||
+				   context == grammarAccess.getXExpressionOrVarDeclarationRule() ||
+				   context == grammarAccess.getXMemberFeatureCallRule() ||
+				   context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
+				   context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXMultiplicativeExpressionRule() ||
+				   context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXOrExpressionRule() ||
+				   context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXOtherOperatorExpressionRule() ||
+				   context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXParenthesizedExpressionRule() ||
+				   context == grammarAccess.getXPostfixOperationRule() ||
+				   context == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() ||
+				   context == grammarAccess.getXPrimaryExpressionRule() ||
+				   context == grammarAccess.getXRelationalExpressionRule() ||
+				   context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
+				   context == grammarAccess.getXUnaryOperationRule()) {
+					sequence_XAdditiveExpression_XAndExpression_XAssignment_XEqualityExpression_XMultiplicativeExpression_XOrExpression_XOtherOperatorExpression_XRelationalExpression(context, (XBinaryOperation) semanticObject); 
+					return; 
+				}
+				else break;
+			case XbasePackage.XBLOCK_EXPRESSION:
+				if(context == grammarAccess.getXAdditiveExpressionRule() ||
+				   context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXAndExpressionRule() ||
+				   context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXAnnotationElementValueRule() ||
+				   context == grammarAccess.getXAnnotationElementValueOrCommaListRule() ||
+				   context == grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0() ||
+				   context == grammarAccess.getXAnnotationOrExpressionRule() ||
+				   context == grammarAccess.getXAssignmentRule() ||
+				   context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXBlockExpressionRule() ||
+				   context == grammarAccess.getXCastedExpressionRule() ||
+				   context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
+				   context == grammarAccess.getXEqualityExpressionRule() ||
+				   context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXExpressionRule() ||
+				   context == grammarAccess.getXExpressionOrVarDeclarationRule() ||
+				   context == grammarAccess.getXMemberFeatureCallRule() ||
+				   context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
+				   context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXMultiplicativeExpressionRule() ||
+				   context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXOrExpressionRule() ||
+				   context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXOtherOperatorExpressionRule() ||
+				   context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXParenthesizedExpressionRule() ||
+				   context == grammarAccess.getXPostfixOperationRule() ||
+				   context == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() ||
+				   context == grammarAccess.getXPrimaryExpressionRule() ||
+				   context == grammarAccess.getXRelationalExpressionRule() ||
+				   context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
+				   context == grammarAccess.getXUnaryOperationRule()) {
+					sequence_XBlockExpression(context, (XBlockExpression) semanticObject); 
+					return; 
+				}
+				else if(context == grammarAccess.getXExpressionInClosureRule()) {
+					sequence_XExpressionInClosure(context, (XBlockExpression) semanticObject); 
+					return; 
+				}
+				else break;
+			case XbasePackage.XBOOLEAN_LITERAL:
+				if(context == grammarAccess.getXAdditiveExpressionRule() ||
+				   context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXAndExpressionRule() ||
+				   context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXAnnotationElementValueRule() ||
+				   context == grammarAccess.getXAnnotationElementValueOrCommaListRule() ||
+				   context == grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0() ||
+				   context == grammarAccess.getXAnnotationOrExpressionRule() ||
+				   context == grammarAccess.getXAssignmentRule() ||
+				   context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXBooleanLiteralRule() ||
+				   context == grammarAccess.getXCastedExpressionRule() ||
+				   context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
+				   context == grammarAccess.getXEqualityExpressionRule() ||
+				   context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXExpressionRule() ||
+				   context == grammarAccess.getXExpressionOrVarDeclarationRule() ||
+				   context == grammarAccess.getXLiteralRule() ||
+				   context == grammarAccess.getXMemberFeatureCallRule() ||
+				   context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
+				   context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXMultiplicativeExpressionRule() ||
+				   context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXOrExpressionRule() ||
+				   context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXOtherOperatorExpressionRule() ||
+				   context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXParenthesizedExpressionRule() ||
+				   context == grammarAccess.getXPostfixOperationRule() ||
+				   context == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() ||
+				   context == grammarAccess.getXPrimaryExpressionRule() ||
+				   context == grammarAccess.getXRelationalExpressionRule() ||
+				   context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
+				   context == grammarAccess.getXUnaryOperationRule()) {
+					sequence_XBooleanLiteral(context, (XBooleanLiteral) semanticObject); 
+					return; 
+				}
+				else break;
+			case XbasePackage.XCASE_PART:
+				if(context == grammarAccess.getXCasePartRule()) {
+					sequence_XCasePart(context, (XCasePart) semanticObject); 
+					return; 
+				}
+				else break;
+			case XbasePackage.XCASTED_EXPRESSION:
+				if(context == grammarAccess.getXAdditiveExpressionRule() ||
+				   context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXAndExpressionRule() ||
+				   context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXAnnotationElementValueRule() ||
+				   context == grammarAccess.getXAnnotationElementValueOrCommaListRule() ||
+				   context == grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0() ||
+				   context == grammarAccess.getXAnnotationOrExpressionRule() ||
+				   context == grammarAccess.getXAssignmentRule() ||
+				   context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXCastedExpressionRule() ||
+				   context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
+				   context == grammarAccess.getXEqualityExpressionRule() ||
+				   context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXExpressionRule() ||
+				   context == grammarAccess.getXExpressionOrVarDeclarationRule() ||
+				   context == grammarAccess.getXMemberFeatureCallRule() ||
+				   context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
+				   context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXMultiplicativeExpressionRule() ||
+				   context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXOrExpressionRule() ||
+				   context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXOtherOperatorExpressionRule() ||
+				   context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXParenthesizedExpressionRule() ||
+				   context == grammarAccess.getXPostfixOperationRule() ||
+				   context == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() ||
+				   context == grammarAccess.getXPrimaryExpressionRule() ||
+				   context == grammarAccess.getXRelationalExpressionRule() ||
+				   context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
+				   context == grammarAccess.getXUnaryOperationRule()) {
+					sequence_XCastedExpression(context, (XCastedExpression) semanticObject); 
+					return; 
+				}
+				else break;
+			case XbasePackage.XCATCH_CLAUSE:
+				if(context == grammarAccess.getXCatchClauseRule()) {
+					sequence_XCatchClause(context, (XCatchClause) semanticObject); 
+					return; 
+				}
+				else break;
+			case XbasePackage.XCLOSURE:
+				if(context == grammarAccess.getXAdditiveExpressionRule() ||
+				   context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXAndExpressionRule() ||
+				   context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXAnnotationElementValueRule() ||
+				   context == grammarAccess.getXAnnotationElementValueOrCommaListRule() ||
+				   context == grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0() ||
+				   context == grammarAccess.getXAnnotationOrExpressionRule() ||
+				   context == grammarAccess.getXAssignmentRule() ||
+				   context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXCastedExpressionRule() ||
+				   context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
+				   context == grammarAccess.getXClosureRule() ||
+				   context == grammarAccess.getXEqualityExpressionRule() ||
+				   context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXExpressionRule() ||
+				   context == grammarAccess.getXExpressionOrVarDeclarationRule() ||
+				   context == grammarAccess.getXLiteralRule() ||
+				   context == grammarAccess.getXMemberFeatureCallRule() ||
+				   context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
+				   context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXMultiplicativeExpressionRule() ||
+				   context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXOrExpressionRule() ||
+				   context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXOtherOperatorExpressionRule() ||
+				   context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXParenthesizedExpressionRule() ||
+				   context == grammarAccess.getXPostfixOperationRule() ||
+				   context == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() ||
+				   context == grammarAccess.getXPrimaryExpressionRule() ||
+				   context == grammarAccess.getXRelationalExpressionRule() ||
+				   context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
+				   context == grammarAccess.getXUnaryOperationRule()) {
+					sequence_XClosure(context, (XClosure) semanticObject); 
+					return; 
+				}
+				else if(context == grammarAccess.getXShortClosureRule()) {
+					sequence_XShortClosure(context, (XClosure) semanticObject); 
+					return; 
+				}
+				else break;
+			case XbasePackage.XCONSTRUCTOR_CALL:
+				if(context == grammarAccess.getXAdditiveExpressionRule() ||
+				   context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXAndExpressionRule() ||
+				   context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXAnnotationElementValueRule() ||
+				   context == grammarAccess.getXAnnotationElementValueOrCommaListRule() ||
+				   context == grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0() ||
+				   context == grammarAccess.getXAnnotationOrExpressionRule() ||
+				   context == grammarAccess.getXAssignmentRule() ||
+				   context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXCastedExpressionRule() ||
+				   context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
+				   context == grammarAccess.getXConstructorCallRule() ||
+				   context == grammarAccess.getXEqualityExpressionRule() ||
+				   context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXExpressionRule() ||
+				   context == grammarAccess.getXExpressionOrVarDeclarationRule() ||
+				   context == grammarAccess.getXMemberFeatureCallRule() ||
+				   context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
+				   context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXMultiplicativeExpressionRule() ||
+				   context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXOrExpressionRule() ||
+				   context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXOtherOperatorExpressionRule() ||
+				   context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXParenthesizedExpressionRule() ||
+				   context == grammarAccess.getXPostfixOperationRule() ||
+				   context == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() ||
+				   context == grammarAccess.getXPrimaryExpressionRule() ||
+				   context == grammarAccess.getXRelationalExpressionRule() ||
+				   context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
+				   context == grammarAccess.getXUnaryOperationRule()) {
+					sequence_XConstructorCall(context, (XConstructorCall) semanticObject); 
+					return; 
+				}
+				else break;
+			case XbasePackage.XDO_WHILE_EXPRESSION:
+				if(context == grammarAccess.getXAdditiveExpressionRule() ||
+				   context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXAndExpressionRule() ||
+				   context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXAnnotationElementValueRule() ||
+				   context == grammarAccess.getXAnnotationElementValueOrCommaListRule() ||
+				   context == grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0() ||
+				   context == grammarAccess.getXAnnotationOrExpressionRule() ||
+				   context == grammarAccess.getXAssignmentRule() ||
+				   context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXCastedExpressionRule() ||
+				   context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
+				   context == grammarAccess.getXDoWhileExpressionRule() ||
+				   context == grammarAccess.getXEqualityExpressionRule() ||
+				   context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXExpressionRule() ||
+				   context == grammarAccess.getXExpressionOrVarDeclarationRule() ||
+				   context == grammarAccess.getXMemberFeatureCallRule() ||
+				   context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
+				   context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXMultiplicativeExpressionRule() ||
+				   context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXOrExpressionRule() ||
+				   context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXOtherOperatorExpressionRule() ||
+				   context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXParenthesizedExpressionRule() ||
+				   context == grammarAccess.getXPostfixOperationRule() ||
+				   context == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() ||
+				   context == grammarAccess.getXPrimaryExpressionRule() ||
+				   context == grammarAccess.getXRelationalExpressionRule() ||
+				   context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
+				   context == grammarAccess.getXUnaryOperationRule()) {
+					sequence_XDoWhileExpression(context, (XDoWhileExpression) semanticObject); 
+					return; 
+				}
+				else break;
+			case XbasePackage.XFEATURE_CALL:
+				if(context == grammarAccess.getXAdditiveExpressionRule() ||
+				   context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXAndExpressionRule() ||
+				   context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXAnnotationElementValueRule() ||
+				   context == grammarAccess.getXAnnotationElementValueOrCommaListRule() ||
+				   context == grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0() ||
+				   context == grammarAccess.getXAnnotationOrExpressionRule() ||
+				   context == grammarAccess.getXAssignmentRule() ||
+				   context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXCastedExpressionRule() ||
+				   context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
+				   context == grammarAccess.getXEqualityExpressionRule() ||
+				   context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXExpressionRule() ||
+				   context == grammarAccess.getXExpressionOrVarDeclarationRule() ||
+				   context == grammarAccess.getXFeatureCallRule() ||
+				   context == grammarAccess.getXMemberFeatureCallRule() ||
+				   context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
+				   context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXMultiplicativeExpressionRule() ||
+				   context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXOrExpressionRule() ||
+				   context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXOtherOperatorExpressionRule() ||
+				   context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXParenthesizedExpressionRule() ||
+				   context == grammarAccess.getXPostfixOperationRule() ||
+				   context == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() ||
+				   context == grammarAccess.getXPrimaryExpressionRule() ||
+				   context == grammarAccess.getXRelationalExpressionRule() ||
+				   context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
+				   context == grammarAccess.getXUnaryOperationRule()) {
+					sequence_XFeatureCall(context, (XFeatureCall) semanticObject); 
+					return; 
+				}
+				else break;
+			case XbasePackage.XFOR_LOOP_EXPRESSION:
+				if(context == grammarAccess.getXAdditiveExpressionRule() ||
+				   context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXAndExpressionRule() ||
+				   context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXAnnotationElementValueRule() ||
+				   context == grammarAccess.getXAnnotationElementValueOrCommaListRule() ||
+				   context == grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0() ||
+				   context == grammarAccess.getXAnnotationOrExpressionRule() ||
+				   context == grammarAccess.getXAssignmentRule() ||
+				   context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXCastedExpressionRule() ||
+				   context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
+				   context == grammarAccess.getXEqualityExpressionRule() ||
+				   context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXExpressionRule() ||
+				   context == grammarAccess.getXExpressionOrVarDeclarationRule() ||
+				   context == grammarAccess.getXForLoopExpressionRule() ||
+				   context == grammarAccess.getXMemberFeatureCallRule() ||
+				   context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
+				   context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXMultiplicativeExpressionRule() ||
+				   context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXOrExpressionRule() ||
+				   context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXOtherOperatorExpressionRule() ||
+				   context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXParenthesizedExpressionRule() ||
+				   context == grammarAccess.getXPostfixOperationRule() ||
+				   context == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() ||
+				   context == grammarAccess.getXPrimaryExpressionRule() ||
+				   context == grammarAccess.getXRelationalExpressionRule() ||
+				   context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
+				   context == grammarAccess.getXUnaryOperationRule()) {
+					sequence_XForLoopExpression(context, (XForLoopExpression) semanticObject); 
+					return; 
+				}
+				else break;
+			case XbasePackage.XIF_EXPRESSION:
+				if(context == grammarAccess.getXAdditiveExpressionRule() ||
+				   context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXAndExpressionRule() ||
+				   context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXAnnotationElementValueRule() ||
+				   context == grammarAccess.getXAnnotationElementValueOrCommaListRule() ||
+				   context == grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0() ||
+				   context == grammarAccess.getXAnnotationOrExpressionRule() ||
+				   context == grammarAccess.getXAssignmentRule() ||
+				   context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXCastedExpressionRule() ||
+				   context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
+				   context == grammarAccess.getXEqualityExpressionRule() ||
+				   context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXExpressionRule() ||
+				   context == grammarAccess.getXExpressionOrVarDeclarationRule() ||
+				   context == grammarAccess.getXIfExpressionRule() ||
+				   context == grammarAccess.getXMemberFeatureCallRule() ||
+				   context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
+				   context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXMultiplicativeExpressionRule() ||
+				   context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXOrExpressionRule() ||
+				   context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXOtherOperatorExpressionRule() ||
+				   context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXParenthesizedExpressionRule() ||
+				   context == grammarAccess.getXPostfixOperationRule() ||
+				   context == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() ||
+				   context == grammarAccess.getXPrimaryExpressionRule() ||
+				   context == grammarAccess.getXRelationalExpressionRule() ||
+				   context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
+				   context == grammarAccess.getXUnaryOperationRule()) {
+					sequence_XIfExpression(context, (XIfExpression) semanticObject); 
+					return; 
+				}
+				else break;
+			case XbasePackage.XINSTANCE_OF_EXPRESSION:
+				if(context == grammarAccess.getXAdditiveExpressionRule() ||
+				   context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXAndExpressionRule() ||
+				   context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXAnnotationElementValueRule() ||
+				   context == grammarAccess.getXAnnotationElementValueOrCommaListRule() ||
+				   context == grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0() ||
+				   context == grammarAccess.getXAnnotationOrExpressionRule() ||
+				   context == grammarAccess.getXAssignmentRule() ||
+				   context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXCastedExpressionRule() ||
+				   context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
+				   context == grammarAccess.getXEqualityExpressionRule() ||
+				   context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXExpressionRule() ||
+				   context == grammarAccess.getXExpressionOrVarDeclarationRule() ||
+				   context == grammarAccess.getXMemberFeatureCallRule() ||
+				   context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
+				   context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXMultiplicativeExpressionRule() ||
+				   context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXOrExpressionRule() ||
+				   context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXOtherOperatorExpressionRule() ||
+				   context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXParenthesizedExpressionRule() ||
+				   context == grammarAccess.getXPostfixOperationRule() ||
+				   context == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() ||
+				   context == grammarAccess.getXPrimaryExpressionRule() ||
+				   context == grammarAccess.getXRelationalExpressionRule() ||
+				   context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
+				   context == grammarAccess.getXUnaryOperationRule()) {
+					sequence_XRelationalExpression(context, (XInstanceOfExpression) semanticObject); 
+					return; 
+				}
+				else break;
+			case XbasePackage.XLIST_LITERAL:
+				if(context == grammarAccess.getXAnnotationElementValueOrCommaListRule()) {
+					sequence_XAnnotationElementValueOrCommaList_XListLiteral(context, (XListLiteral) semanticObject); 
+					return; 
+				}
+				else if(context == grammarAccess.getXAnnotationElementValueRule()) {
+					sequence_XAnnotationElementValue_XListLiteral(context, (XListLiteral) semanticObject); 
+					return; 
+				}
+				else if(context == grammarAccess.getXAdditiveExpressionRule() ||
+				   context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXAndExpressionRule() ||
+				   context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0() ||
+				   context == grammarAccess.getXAnnotationOrExpressionRule() ||
+				   context == grammarAccess.getXAssignmentRule() ||
+				   context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXCastedExpressionRule() ||
+				   context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
+				   context == grammarAccess.getXCollectionLiteralRule() ||
+				   context == grammarAccess.getXEqualityExpressionRule() ||
+				   context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXExpressionRule() ||
+				   context == grammarAccess.getXExpressionOrVarDeclarationRule() ||
+				   context == grammarAccess.getXListLiteralRule() ||
+				   context == grammarAccess.getXLiteralRule() ||
+				   context == grammarAccess.getXMemberFeatureCallRule() ||
+				   context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
+				   context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXMultiplicativeExpressionRule() ||
+				   context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXOrExpressionRule() ||
+				   context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXOtherOperatorExpressionRule() ||
+				   context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXParenthesizedExpressionRule() ||
+				   context == grammarAccess.getXPostfixOperationRule() ||
+				   context == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() ||
+				   context == grammarAccess.getXPrimaryExpressionRule() ||
+				   context == grammarAccess.getXRelationalExpressionRule() ||
+				   context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
+				   context == grammarAccess.getXUnaryOperationRule()) {
+					sequence_XListLiteral(context, (XListLiteral) semanticObject); 
+					return; 
+				}
+				else break;
+			case XbasePackage.XMEMBER_FEATURE_CALL:
+				if(context == grammarAccess.getXAdditiveExpressionRule() ||
+				   context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXAndExpressionRule() ||
+				   context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXAnnotationElementValueRule() ||
+				   context == grammarAccess.getXAnnotationElementValueOrCommaListRule() ||
+				   context == grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0() ||
+				   context == grammarAccess.getXAnnotationOrExpressionRule() ||
+				   context == grammarAccess.getXAssignmentRule() ||
+				   context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXCastedExpressionRule() ||
+				   context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
+				   context == grammarAccess.getXEqualityExpressionRule() ||
+				   context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXExpressionRule() ||
+				   context == grammarAccess.getXExpressionOrVarDeclarationRule() ||
+				   context == grammarAccess.getXMemberFeatureCallRule() ||
+				   context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
+				   context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXMultiplicativeExpressionRule() ||
+				   context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXOrExpressionRule() ||
+				   context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXOtherOperatorExpressionRule() ||
+				   context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXParenthesizedExpressionRule() ||
+				   context == grammarAccess.getXPostfixOperationRule() ||
+				   context == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() ||
+				   context == grammarAccess.getXPrimaryExpressionRule() ||
+				   context == grammarAccess.getXRelationalExpressionRule() ||
+				   context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
+				   context == grammarAccess.getXUnaryOperationRule()) {
+					sequence_XMemberFeatureCall(context, (XMemberFeatureCall) semanticObject); 
+					return; 
+				}
+				else break;
+			case XbasePackage.XNULL_LITERAL:
+				if(context == grammarAccess.getXAdditiveExpressionRule() ||
+				   context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXAndExpressionRule() ||
+				   context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXAnnotationElementValueRule() ||
+				   context == grammarAccess.getXAnnotationElementValueOrCommaListRule() ||
+				   context == grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0() ||
+				   context == grammarAccess.getXAnnotationOrExpressionRule() ||
+				   context == grammarAccess.getXAssignmentRule() ||
+				   context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXCastedExpressionRule() ||
+				   context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
+				   context == grammarAccess.getXEqualityExpressionRule() ||
+				   context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXExpressionRule() ||
+				   context == grammarAccess.getXExpressionOrVarDeclarationRule() ||
+				   context == grammarAccess.getXLiteralRule() ||
+				   context == grammarAccess.getXMemberFeatureCallRule() ||
+				   context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
+				   context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXMultiplicativeExpressionRule() ||
+				   context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXNullLiteralRule() ||
+				   context == grammarAccess.getXOrExpressionRule() ||
+				   context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXOtherOperatorExpressionRule() ||
+				   context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXParenthesizedExpressionRule() ||
+				   context == grammarAccess.getXPostfixOperationRule() ||
+				   context == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() ||
+				   context == grammarAccess.getXPrimaryExpressionRule() ||
+				   context == grammarAccess.getXRelationalExpressionRule() ||
+				   context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
+				   context == grammarAccess.getXUnaryOperationRule()) {
+					sequence_XNullLiteral(context, (XNullLiteral) semanticObject); 
+					return; 
+				}
+				else break;
+			case XbasePackage.XNUMBER_LITERAL:
+				if(context == grammarAccess.getXAdditiveExpressionRule() ||
+				   context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXAndExpressionRule() ||
+				   context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXAnnotationElementValueRule() ||
+				   context == grammarAccess.getXAnnotationElementValueOrCommaListRule() ||
+				   context == grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0() ||
+				   context == grammarAccess.getXAnnotationOrExpressionRule() ||
+				   context == grammarAccess.getXAssignmentRule() ||
+				   context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXCastedExpressionRule() ||
+				   context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
+				   context == grammarAccess.getXEqualityExpressionRule() ||
+				   context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXExpressionRule() ||
+				   context == grammarAccess.getXExpressionOrVarDeclarationRule() ||
+				   context == grammarAccess.getXLiteralRule() ||
+				   context == grammarAccess.getXMemberFeatureCallRule() ||
+				   context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
+				   context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXMultiplicativeExpressionRule() ||
+				   context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXNumberLiteralRule() ||
+				   context == grammarAccess.getXOrExpressionRule() ||
+				   context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXOtherOperatorExpressionRule() ||
+				   context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXParenthesizedExpressionRule() ||
+				   context == grammarAccess.getXPostfixOperationRule() ||
+				   context == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() ||
+				   context == grammarAccess.getXPrimaryExpressionRule() ||
+				   context == grammarAccess.getXRelationalExpressionRule() ||
+				   context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
+				   context == grammarAccess.getXUnaryOperationRule()) {
+					sequence_XNumberLiteral(context, (XNumberLiteral) semanticObject); 
+					return; 
+				}
+				else break;
+			case XbasePackage.XPOSTFIX_OPERATION:
+				if(context == grammarAccess.getXAdditiveExpressionRule() ||
+				   context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXAndExpressionRule() ||
+				   context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXAnnotationElementValueRule() ||
+				   context == grammarAccess.getXAnnotationElementValueOrCommaListRule() ||
+				   context == grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0() ||
+				   context == grammarAccess.getXAnnotationOrExpressionRule() ||
+				   context == grammarAccess.getXAssignmentRule() ||
+				   context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXCastedExpressionRule() ||
+				   context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
+				   context == grammarAccess.getXEqualityExpressionRule() ||
+				   context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXExpressionRule() ||
+				   context == grammarAccess.getXExpressionOrVarDeclarationRule() ||
+				   context == grammarAccess.getXMemberFeatureCallRule() ||
+				   context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
+				   context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXMultiplicativeExpressionRule() ||
+				   context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXOrExpressionRule() ||
+				   context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXOtherOperatorExpressionRule() ||
+				   context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXParenthesizedExpressionRule() ||
+				   context == grammarAccess.getXPostfixOperationRule() ||
+				   context == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() ||
+				   context == grammarAccess.getXPrimaryExpressionRule() ||
+				   context == grammarAccess.getXRelationalExpressionRule() ||
+				   context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
+				   context == grammarAccess.getXUnaryOperationRule()) {
+					sequence_XPostfixOperation(context, (XPostfixOperation) semanticObject); 
+					return; 
+				}
+				else break;
+			case XbasePackage.XRETURN_EXPRESSION:
+				if(context == grammarAccess.getXAdditiveExpressionRule() ||
+				   context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXAndExpressionRule() ||
+				   context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXAnnotationElementValueRule() ||
+				   context == grammarAccess.getXAnnotationElementValueOrCommaListRule() ||
+				   context == grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0() ||
+				   context == grammarAccess.getXAnnotationOrExpressionRule() ||
+				   context == grammarAccess.getXAssignmentRule() ||
+				   context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXCastedExpressionRule() ||
+				   context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
+				   context == grammarAccess.getXEqualityExpressionRule() ||
+				   context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXExpressionRule() ||
+				   context == grammarAccess.getXExpressionOrVarDeclarationRule() ||
+				   context == grammarAccess.getXMemberFeatureCallRule() ||
+				   context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
+				   context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXMultiplicativeExpressionRule() ||
+				   context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXOrExpressionRule() ||
+				   context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXOtherOperatorExpressionRule() ||
+				   context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXParenthesizedExpressionRule() ||
+				   context == grammarAccess.getXPostfixOperationRule() ||
+				   context == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() ||
+				   context == grammarAccess.getXPrimaryExpressionRule() ||
+				   context == grammarAccess.getXRelationalExpressionRule() ||
+				   context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
+				   context == grammarAccess.getXReturnExpressionRule() ||
+				   context == grammarAccess.getXUnaryOperationRule()) {
+					sequence_XReturnExpression(context, (XReturnExpression) semanticObject); 
+					return; 
+				}
+				else break;
+			case XbasePackage.XSET_LITERAL:
+				if(context == grammarAccess.getXAdditiveExpressionRule() ||
+				   context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXAndExpressionRule() ||
+				   context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXAnnotationElementValueRule() ||
+				   context == grammarAccess.getXAnnotationElementValueOrCommaListRule() ||
+				   context == grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0() ||
+				   context == grammarAccess.getXAnnotationOrExpressionRule() ||
+				   context == grammarAccess.getXAssignmentRule() ||
+				   context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXCastedExpressionRule() ||
+				   context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
+				   context == grammarAccess.getXCollectionLiteralRule() ||
+				   context == grammarAccess.getXEqualityExpressionRule() ||
+				   context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXExpressionRule() ||
+				   context == grammarAccess.getXExpressionOrVarDeclarationRule() ||
+				   context == grammarAccess.getXLiteralRule() ||
+				   context == grammarAccess.getXMemberFeatureCallRule() ||
+				   context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
+				   context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXMultiplicativeExpressionRule() ||
+				   context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXOrExpressionRule() ||
+				   context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXOtherOperatorExpressionRule() ||
+				   context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXParenthesizedExpressionRule() ||
+				   context == grammarAccess.getXPostfixOperationRule() ||
+				   context == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() ||
+				   context == grammarAccess.getXPrimaryExpressionRule() ||
+				   context == grammarAccess.getXRelationalExpressionRule() ||
+				   context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
+				   context == grammarAccess.getXSetLiteralRule() ||
+				   context == grammarAccess.getXUnaryOperationRule()) {
+					sequence_XSetLiteral(context, (XSetLiteral) semanticObject); 
+					return; 
+				}
+				else break;
+			case XbasePackage.XSTRING_LITERAL:
+				if(context == grammarAccess.getXAdditiveExpressionRule() ||
+				   context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXAndExpressionRule() ||
+				   context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXAnnotationElementValueRule() ||
+				   context == grammarAccess.getXAnnotationElementValueOrCommaListRule() ||
+				   context == grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0() ||
+				   context == grammarAccess.getXAnnotationOrExpressionRule() ||
+				   context == grammarAccess.getXAssignmentRule() ||
+				   context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXCastedExpressionRule() ||
+				   context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
+				   context == grammarAccess.getXEqualityExpressionRule() ||
+				   context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXExpressionRule() ||
+				   context == grammarAccess.getXExpressionOrVarDeclarationRule() ||
+				   context == grammarAccess.getXLiteralRule() ||
+				   context == grammarAccess.getXMemberFeatureCallRule() ||
+				   context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
+				   context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXMultiplicativeExpressionRule() ||
+				   context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXOrExpressionRule() ||
+				   context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXOtherOperatorExpressionRule() ||
+				   context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXParenthesizedExpressionRule() ||
+				   context == grammarAccess.getXPostfixOperationRule() ||
+				   context == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() ||
+				   context == grammarAccess.getXPrimaryExpressionRule() ||
+				   context == grammarAccess.getXRelationalExpressionRule() ||
+				   context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
+				   context == grammarAccess.getXStringLiteralRule() ||
+				   context == grammarAccess.getXUnaryOperationRule()) {
+					sequence_XStringLiteral(context, (XStringLiteral) semanticObject); 
+					return; 
+				}
+				else break;
+			case XbasePackage.XSWITCH_EXPRESSION:
+				if(context == grammarAccess.getXAdditiveExpressionRule() ||
+				   context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXAndExpressionRule() ||
+				   context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXAnnotationElementValueRule() ||
+				   context == grammarAccess.getXAnnotationElementValueOrCommaListRule() ||
+				   context == grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0() ||
+				   context == grammarAccess.getXAnnotationOrExpressionRule() ||
+				   context == grammarAccess.getXAssignmentRule() ||
+				   context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXCastedExpressionRule() ||
+				   context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
+				   context == grammarAccess.getXEqualityExpressionRule() ||
+				   context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXExpressionRule() ||
+				   context == grammarAccess.getXExpressionOrVarDeclarationRule() ||
+				   context == grammarAccess.getXMemberFeatureCallRule() ||
+				   context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
+				   context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXMultiplicativeExpressionRule() ||
+				   context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXOrExpressionRule() ||
+				   context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXOtherOperatorExpressionRule() ||
+				   context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXParenthesizedExpressionRule() ||
+				   context == grammarAccess.getXPostfixOperationRule() ||
+				   context == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() ||
+				   context == grammarAccess.getXPrimaryExpressionRule() ||
+				   context == grammarAccess.getXRelationalExpressionRule() ||
+				   context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
+				   context == grammarAccess.getXSwitchExpressionRule() ||
+				   context == grammarAccess.getXUnaryOperationRule()) {
+					sequence_XSwitchExpression(context, (XSwitchExpression) semanticObject); 
+					return; 
+				}
+				else break;
+			case XbasePackage.XSYNCHRONIZED_EXPRESSION:
+				if(context == grammarAccess.getXAdditiveExpressionRule() ||
+				   context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXAndExpressionRule() ||
+				   context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXAnnotationElementValueRule() ||
+				   context == grammarAccess.getXAnnotationElementValueOrCommaListRule() ||
+				   context == grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0() ||
+				   context == grammarAccess.getXAnnotationOrExpressionRule() ||
+				   context == grammarAccess.getXAssignmentRule() ||
+				   context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXCastedExpressionRule() ||
+				   context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
+				   context == grammarAccess.getXEqualityExpressionRule() ||
+				   context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXExpressionRule() ||
+				   context == grammarAccess.getXExpressionOrVarDeclarationRule() ||
+				   context == grammarAccess.getXMemberFeatureCallRule() ||
+				   context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
+				   context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXMultiplicativeExpressionRule() ||
+				   context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXOrExpressionRule() ||
+				   context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXOtherOperatorExpressionRule() ||
+				   context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXParenthesizedExpressionRule() ||
+				   context == grammarAccess.getXPostfixOperationRule() ||
+				   context == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() ||
+				   context == grammarAccess.getXPrimaryExpressionRule() ||
+				   context == grammarAccess.getXRelationalExpressionRule() ||
+				   context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
+				   context == grammarAccess.getXSynchronizedExpressionRule() ||
+				   context == grammarAccess.getXUnaryOperationRule()) {
+					sequence_XSynchronizedExpression(context, (XSynchronizedExpression) semanticObject); 
+					return; 
+				}
+				else break;
+			case XbasePackage.XTHROW_EXPRESSION:
+				if(context == grammarAccess.getXAdditiveExpressionRule() ||
+				   context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXAndExpressionRule() ||
+				   context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXAnnotationElementValueRule() ||
+				   context == grammarAccess.getXAnnotationElementValueOrCommaListRule() ||
+				   context == grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0() ||
+				   context == grammarAccess.getXAnnotationOrExpressionRule() ||
+				   context == grammarAccess.getXAssignmentRule() ||
+				   context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXCastedExpressionRule() ||
+				   context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
+				   context == grammarAccess.getXEqualityExpressionRule() ||
+				   context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXExpressionRule() ||
+				   context == grammarAccess.getXExpressionOrVarDeclarationRule() ||
+				   context == grammarAccess.getXMemberFeatureCallRule() ||
+				   context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
+				   context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXMultiplicativeExpressionRule() ||
+				   context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXOrExpressionRule() ||
+				   context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXOtherOperatorExpressionRule() ||
+				   context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXParenthesizedExpressionRule() ||
+				   context == grammarAccess.getXPostfixOperationRule() ||
+				   context == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() ||
+				   context == grammarAccess.getXPrimaryExpressionRule() ||
+				   context == grammarAccess.getXRelationalExpressionRule() ||
+				   context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
+				   context == grammarAccess.getXThrowExpressionRule() ||
+				   context == grammarAccess.getXUnaryOperationRule()) {
+					sequence_XThrowExpression(context, (XThrowExpression) semanticObject); 
+					return; 
+				}
+				else break;
+			case XbasePackage.XTRY_CATCH_FINALLY_EXPRESSION:
+				if(context == grammarAccess.getXAdditiveExpressionRule() ||
+				   context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXAndExpressionRule() ||
+				   context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXAnnotationElementValueRule() ||
+				   context == grammarAccess.getXAnnotationElementValueOrCommaListRule() ||
+				   context == grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0() ||
+				   context == grammarAccess.getXAnnotationOrExpressionRule() ||
+				   context == grammarAccess.getXAssignmentRule() ||
+				   context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXCastedExpressionRule() ||
+				   context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
+				   context == grammarAccess.getXEqualityExpressionRule() ||
+				   context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXExpressionRule() ||
+				   context == grammarAccess.getXExpressionOrVarDeclarationRule() ||
+				   context == grammarAccess.getXMemberFeatureCallRule() ||
+				   context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
+				   context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXMultiplicativeExpressionRule() ||
+				   context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXOrExpressionRule() ||
+				   context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXOtherOperatorExpressionRule() ||
+				   context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXParenthesizedExpressionRule() ||
+				   context == grammarAccess.getXPostfixOperationRule() ||
+				   context == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() ||
+				   context == grammarAccess.getXPrimaryExpressionRule() ||
+				   context == grammarAccess.getXRelationalExpressionRule() ||
+				   context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
+				   context == grammarAccess.getXTryCatchFinallyExpressionRule() ||
+				   context == grammarAccess.getXUnaryOperationRule()) {
+					sequence_XTryCatchFinallyExpression(context, (XTryCatchFinallyExpression) semanticObject); 
+					return; 
+				}
+				else break;
+			case XbasePackage.XTYPE_LITERAL:
+				if(context == grammarAccess.getXAdditiveExpressionRule() ||
+				   context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXAndExpressionRule() ||
+				   context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXAnnotationElementValueRule() ||
+				   context == grammarAccess.getXAnnotationElementValueOrCommaListRule() ||
+				   context == grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0() ||
+				   context == grammarAccess.getXAnnotationOrExpressionRule() ||
+				   context == grammarAccess.getXAssignmentRule() ||
+				   context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXCastedExpressionRule() ||
+				   context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
+				   context == grammarAccess.getXEqualityExpressionRule() ||
+				   context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXExpressionRule() ||
+				   context == grammarAccess.getXExpressionOrVarDeclarationRule() ||
+				   context == grammarAccess.getXLiteralRule() ||
+				   context == grammarAccess.getXMemberFeatureCallRule() ||
+				   context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
+				   context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXMultiplicativeExpressionRule() ||
+				   context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXOrExpressionRule() ||
+				   context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXOtherOperatorExpressionRule() ||
+				   context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXParenthesizedExpressionRule() ||
+				   context == grammarAccess.getXPostfixOperationRule() ||
+				   context == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() ||
+				   context == grammarAccess.getXPrimaryExpressionRule() ||
+				   context == grammarAccess.getXRelationalExpressionRule() ||
+				   context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
+				   context == grammarAccess.getXTypeLiteralRule() ||
+				   context == grammarAccess.getXUnaryOperationRule()) {
+					sequence_XTypeLiteral(context, (XTypeLiteral) semanticObject); 
+					return; 
+				}
+				else break;
+			case XbasePackage.XUNARY_OPERATION:
+				if(context == grammarAccess.getXAdditiveExpressionRule() ||
+				   context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXAndExpressionRule() ||
+				   context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXAnnotationElementValueRule() ||
+				   context == grammarAccess.getXAnnotationElementValueOrCommaListRule() ||
+				   context == grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0() ||
+				   context == grammarAccess.getXAnnotationOrExpressionRule() ||
+				   context == grammarAccess.getXAssignmentRule() ||
+				   context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXCastedExpressionRule() ||
+				   context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
+				   context == grammarAccess.getXEqualityExpressionRule() ||
+				   context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXExpressionRule() ||
+				   context == grammarAccess.getXExpressionOrVarDeclarationRule() ||
+				   context == grammarAccess.getXMemberFeatureCallRule() ||
+				   context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
+				   context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXMultiplicativeExpressionRule() ||
+				   context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXOrExpressionRule() ||
+				   context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXOtherOperatorExpressionRule() ||
+				   context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXParenthesizedExpressionRule() ||
+				   context == grammarAccess.getXPostfixOperationRule() ||
+				   context == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() ||
+				   context == grammarAccess.getXPrimaryExpressionRule() ||
+				   context == grammarAccess.getXRelationalExpressionRule() ||
+				   context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
+				   context == grammarAccess.getXUnaryOperationRule()) {
+					sequence_XUnaryOperation(context, (XUnaryOperation) semanticObject); 
+					return; 
+				}
+				else break;
+			case XbasePackage.XVARIABLE_DECLARATION:
+				if(context == grammarAccess.getXExpressionOrVarDeclarationRule() ||
+				   context == grammarAccess.getXVariableDeclarationRule()) {
+					sequence_XVariableDeclaration(context, (XVariableDeclaration) semanticObject); 
+					return; 
+				}
+				else break;
+			case XbasePackage.XWHILE_EXPRESSION:
+				if(context == grammarAccess.getXAdditiveExpressionRule() ||
+				   context == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXAndExpressionRule() ||
+				   context == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXAnnotationElementValueRule() ||
+				   context == grammarAccess.getXAnnotationElementValueOrCommaListRule() ||
+				   context == grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0() ||
+				   context == grammarAccess.getXAnnotationOrExpressionRule() ||
+				   context == grammarAccess.getXAssignmentRule() ||
+				   context == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXCastedExpressionRule() ||
+				   context == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() ||
+				   context == grammarAccess.getXEqualityExpressionRule() ||
+				   context == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXExpressionRule() ||
+				   context == grammarAccess.getXExpressionOrVarDeclarationRule() ||
+				   context == grammarAccess.getXMemberFeatureCallRule() ||
+				   context == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() ||
+				   context == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXMultiplicativeExpressionRule() ||
+				   context == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXOrExpressionRule() ||
+				   context == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXOtherOperatorExpressionRule() ||
+				   context == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() ||
+				   context == grammarAccess.getXParenthesizedExpressionRule() ||
+				   context == grammarAccess.getXPostfixOperationRule() ||
+				   context == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() ||
+				   context == grammarAccess.getXPrimaryExpressionRule() ||
+				   context == grammarAccess.getXRelationalExpressionRule() ||
+				   context == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() ||
+				   context == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() ||
+				   context == grammarAccess.getXUnaryOperationRule() ||
+				   context == grammarAccess.getXWhileExpressionRule()) {
+					sequence_XWhileExpression(context, (XWhileExpression) semanticObject); 
+					return; 
+				}
+				else break;
+			}
+		else if(semanticObject.eClass().getEPackage() == XtypePackage.eINSTANCE) switch(semanticObject.eClass().getClassifierID()) {
+			case XtypePackage.XFUNCTION_TYPE_REF:
+				if(context == grammarAccess.getJvmArgumentTypeReferenceRule() ||
+				   context == grammarAccess.getJvmTypeReferenceRule() ||
+				   context == grammarAccess.getXFunctionTypeRefRule()) {
+					sequence_XFunctionTypeRef(context, (XFunctionTypeRef) semanticObject); 
+					return; 
+				}
+				else break;
+			case XtypePackage.XIMPORT_DECLARATION:
+				if(context == grammarAccess.getXImportDeclarationRule()) {
+					sequence_XImportDeclaration(context, (XImportDeclaration) semanticObject); 
+					return; 
+				}
+				else break;
+			case XtypePackage.XIMPORT_SECTION:
+				if(context == grammarAccess.getXImportSectionRule()) {
+					sequence_XImportSection(context, (XImportSection) semanticObject); 
+					return; 
+				}
+				else break;
+			}
+		if (errorAcceptor != null) errorAcceptor.accept(diagnosticProvider.createInvalidContextOrTypeDiagnostic(semanticObject, context));
+	}
+	
+	/**
+	 * Constraint:
+	 *     (from=Date until=Date stepCount=INT stepType=EDateStepType)
+	 */
+	protected void sequence_DateIterate(EObject context, DateIterate semanticObject) {
+		if(errorAcceptor != null) {
+			if(transientValues.isValueTransient(semanticObject, EntityMockDSLPackage.Literals.DATE_ITERATE__FROM) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, EntityMockDSLPackage.Literals.DATE_ITERATE__FROM));
+			if(transientValues.isValueTransient(semanticObject, EntityMockDSLPackage.Literals.DATE_ITERATE__UNTIL) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, EntityMockDSLPackage.Literals.DATE_ITERATE__UNTIL));
+			if(transientValues.isValueTransient(semanticObject, EntityMockDSLPackage.Literals.DATE_ITERATE__STEP_COUNT) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, EntityMockDSLPackage.Literals.DATE_ITERATE__STEP_COUNT));
+			if(transientValues.isValueTransient(semanticObject, EntityMockDSLPackage.Literals.DATE_ITERATE__STEP_TYPE) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, EntityMockDSLPackage.Literals.DATE_ITERATE__STEP_TYPE));
+		}
+		INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
+		SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
+		feeder.accept(grammarAccess.getDateIterateAccess().getFromDateParserRuleCall_1_0(), semanticObject.getFrom());
+		feeder.accept(grammarAccess.getDateIterateAccess().getUntilDateParserRuleCall_3_0(), semanticObject.getUntil());
+		feeder.accept(grammarAccess.getDateIterateAccess().getStepCountINTTerminalRuleCall_5_0(), semanticObject.getStepCount());
+		feeder.accept(grammarAccess.getDateIterateAccess().getStepTypeEDateStepTypeEnumRuleCall_6_0(), semanticObject.getStepType());
+		feeder.finish();
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     (yesterday?='yesterday' | today?='today' | tomorrow?='tomorrow' | (year=INT month=INT day=INT))
+	 */
+	protected void sequence_Date(EObject context, Date semanticObject) {
+		genericSequencer.createSequence(context, semanticObject);
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     (
+	 *         (attributeRef=[LEntityAttribute|ID] reference=EntityMockReferencedObjectAttribute) | 
+	 *         (resourceEnum=[EntityMockObjectEnum|ID] resourceAttribute=[EntityMockResourceAttribute|ID])
+	 *     )
+	 */
+	protected void sequence_EntityMockAttributeByObject(EObject context, EntityMockAttributeByObject semanticObject) {
+		genericSequencer.createSequence(context, semanticObject);
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     (attributeRef=[LEntityReference|ID] mockedEntity=[EntityMockEntity|ID]? optionalFor=INT?)
+	 */
+	protected void sequence_EntityMockAttributeByReference(EObject context, EntityMockAttributeByReference semanticObject) {
+		genericSequencer.createSequence(context, semanticObject);
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     (attributeRef=[LEntityAttribute|ID] fillerType=PropertyFillerType)
+	 */
+	protected void sequence_EntityMockAttributeFiller(EObject context, EntityMockAttributeFiller semanticObject) {
+		if(errorAcceptor != null) {
+			if(transientValues.isValueTransient(semanticObject, EntityMockDSLPackage.Literals.ENTITY_MOCK_ATTRIBUTE_FILLER__ATTRIBUTE_REF) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, EntityMockDSLPackage.Literals.ENTITY_MOCK_ATTRIBUTE_FILLER__ATTRIBUTE_REF));
+			if(transientValues.isValueTransient(semanticObject, EntityMockDSLPackage.Literals.ENTITY_MOCK_ATTRIBUTE_FILLER__FILLER_TYPE) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, EntityMockDSLPackage.Literals.ENTITY_MOCK_ATTRIBUTE_FILLER__FILLER_TYPE));
+		}
+		INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
+		SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
+		feeder.accept(grammarAccess.getEntityMockAttributeFillerAccess().getAttributeRefLEntityAttributeIDTerminalRuleCall_1_0_1(), semanticObject.getAttributeRef());
+		feeder.accept(grammarAccess.getEntityMockAttributeFillerAccess().getFillerTypePropertyFillerTypeParserRuleCall_3_0(), semanticObject.getFillerType());
+		feeder.finish();
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     (attributeRef=[LEntityAttribute|ID] resourceAttribute=[EntityMockResourceAttribute|ID])
+	 */
+	protected void sequence_EntityMockByResourceAttribute(EObject context, EntityMockByResourceAttribute semanticObject) {
+		if(errorAcceptor != null) {
+			if(transientValues.isValueTransient(semanticObject, EntityMockDSLPackage.Literals.ENTITY_MOCK_BY_RESOURCE_ATTRIBUTE__ATTRIBUTE_REF) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, EntityMockDSLPackage.Literals.ENTITY_MOCK_BY_RESOURCE_ATTRIBUTE__ATTRIBUTE_REF));
+			if(transientValues.isValueTransient(semanticObject, EntityMockDSLPackage.Literals.ENTITY_MOCK_BY_RESOURCE_ATTRIBUTE__RESOURCE_ATTRIBUTE) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, EntityMockDSLPackage.Literals.ENTITY_MOCK_BY_RESOURCE_ATTRIBUTE__RESOURCE_ATTRIBUTE));
+		}
+		INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
+		SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
+		feeder.accept(grammarAccess.getEntityMockByResourceAttributeAccess().getAttributeRefLEntityAttributeIDTerminalRuleCall_2_0_1(), semanticObject.getAttributeRef());
+		feeder.accept(grammarAccess.getEntityMockByResourceAttributeAccess().getResourceAttributeEntityMockResourceAttributeIDTerminalRuleCall_4_0_1(), semanticObject.getResourceAttribute());
+		feeder.finish();
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     name=QualifiedName
+	 */
+	protected void sequence_EntityMockDataType(EObject context, EntityMockDataType semanticObject) {
+		if(errorAcceptor != null) {
+			if(transientValues.isValueTransient(semanticObject, EntityMockDSLPackage.Literals.ENTITY_MOCK_DATA_TYPE__NAME) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, EntityMockDSLPackage.Literals.ENTITY_MOCK_DATA_TYPE__NAME));
+		}
+		INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
+		SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
+		feeder.accept(grammarAccess.getEntityMockDataTypeAccess().getNameQualifiedNameParserRuleCall_1_0(), semanticObject.getName());
+		feeder.finish();
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     (datatypes+=EntityMockDataType*)
+	 */
+	protected void sequence_EntityMockDataTypes(EObject context, EntityMockDataTypes semanticObject) {
+		genericSequencer.createSequence(context, semanticObject);
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     (entities+=EntityMockEntity*)
+	 */
+	protected void sequence_EntityMockEntities(EObject context, EntityMockEntities semanticObject) {
+		genericSequencer.createSequence(context, semanticObject);
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     (
+	 *         attributeRef=[LEntityAttribute|ID] | 
+	 *         (referencePaths+=[LEntityReference|ID] referencePaths+=[LEntityReference|ID]* referenceRef=[LEntityAttribute|ID])
+	 *     )
+	 */
+	protected void sequence_EntityMockEntityFunctionParameter(EObject context, EntityMockEntityFunctionParameter semanticObject) {
+		genericSequencer.createSequence(context, semanticObject);
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     (
+	 *         attributeRef=[LEntityAttribute|ID] 
+	 *         (params+=EntityMockEntityFunctionParameter params+=EntityMockEntityFunctionParameter*)? 
+	 *         body=XBlockExpression
+	 *     )
+	 */
+	protected void sequence_EntityMockEntityFunction(EObject context, EntityMockEntityFunction semanticObject) {
+		genericSequencer.createSequence(context, semanticObject);
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     (
+	 *         name=QualifiedName 
+	 *         entityRef=[LEntity|ID] 
+	 *         (
+	 *             (minRows=INT maxRows=INT temporaries+=EntityMockTemporary* attributes+=IEntityMockAttribute* calculations+=EntityMockEntityFunction*) | 
+	 *             (byResource=[EntityMockResource|ID] byResourceAttributes+=EntityMockByResourceAttribute* createBlobMapping?='createBlobMapping'?) | 
+	 *             (
+	 *                 iterator=[LEntityAttribute|ID] 
+	 *                 iterate=IIterate 
+	 *                 temporaries+=EntityMockTemporary* 
+	 *                 attributes+=IEntityMockAttribute* 
+	 *                 calculations+=EntityMockEntityFunction*
+	 *             )
+	 *         )
+	 *     )
+	 */
+	protected void sequence_EntityMockEntity(EObject context, EntityMockEntity semanticObject) {
+		genericSequencer.createSequence(context, semanticObject);
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     packages+=EntityMockPackage*
+	 */
+	protected void sequence_EntityMockModel(EObject context, EntityMockModel semanticObject) {
+		genericSequencer.createSequence(context, semanticObject);
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     (name=QualifiedName enumeration=[EntityMockObjectEnum|ID] items+=EntityMockObjectItemValue*)
+	 */
+	protected void sequence_EntityMockObjectArrayValue(EObject context, EntityMockObjectArrayValue semanticObject) {
+		genericSequencer.createSequence(context, semanticObject);
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     (name=QualifiedName object=[EntityMockObject|ID])
+	 */
+	protected void sequence_EntityMockObjectEmbed(EObject context, EntityMockObjectEmbed semanticObject) {
+		if(errorAcceptor != null) {
+			if(transientValues.isValueTransient(semanticObject, EntityMockDSLPackage.Literals.IENTITY_MOCK_OBJECT_ATTRIBUTE__NAME) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, EntityMockDSLPackage.Literals.IENTITY_MOCK_OBJECT_ATTRIBUTE__NAME));
+			if(transientValues.isValueTransient(semanticObject, EntityMockDSLPackage.Literals.ENTITY_MOCK_OBJECT_EMBED__OBJECT) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, EntityMockDSLPackage.Literals.ENTITY_MOCK_OBJECT_EMBED__OBJECT));
+		}
+		INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
+		SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
+		feeder.accept(grammarAccess.getEntityMockObjectEmbedAccess().getNameQualifiedNameParserRuleCall_2_0(), semanticObject.getName());
+		feeder.accept(grammarAccess.getEntityMockObjectEmbedAccess().getObjectEntityMockObjectIDTerminalRuleCall_4_0_1(), semanticObject.getObject());
+		feeder.finish();
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     (name=QualifiedName usingResource=[LEnum|ID])
+	 */
+	protected void sequence_EntityMockObjectEnum(EObject context, EntityMockObjectEnum semanticObject) {
+		if(errorAcceptor != null) {
+			if(transientValues.isValueTransient(semanticObject, EntityMockDSLPackage.Literals.ENTITY_MOCK_OBJECT_ENUM__NAME) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, EntityMockDSLPackage.Literals.ENTITY_MOCK_OBJECT_ENUM__NAME));
+			if(transientValues.isValueTransient(semanticObject, EntityMockDSLPackage.Literals.ENTITY_MOCK_OBJECT_ENUM__USING_RESOURCE) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, EntityMockDSLPackage.Literals.ENTITY_MOCK_OBJECT_ENUM__USING_RESOURCE));
+		}
+		INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
+		SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
+		feeder.accept(grammarAccess.getEntityMockObjectEnumAccess().getNameQualifiedNameParserRuleCall_1_0(), semanticObject.getName());
+		feeder.accept(grammarAccess.getEntityMockObjectEnumAccess().getUsingResourceLEnumIDTerminalRuleCall_3_0_1(), semanticObject.getUsingResource());
+		feeder.finish();
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     (name=QualifiedName fillerType=PropertyFillerType)
+	 */
+	protected void sequence_EntityMockObjectFill(EObject context, EntityMockObjectFill semanticObject) {
+		if(errorAcceptor != null) {
+			if(transientValues.isValueTransient(semanticObject, EntityMockDSLPackage.Literals.IENTITY_MOCK_OBJECT_ATTRIBUTE__NAME) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, EntityMockDSLPackage.Literals.IENTITY_MOCK_OBJECT_ATTRIBUTE__NAME));
+			if(transientValues.isValueTransient(semanticObject, EntityMockDSLPackage.Literals.ENTITY_MOCK_OBJECT_FILL__FILLER_TYPE) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, EntityMockDSLPackage.Literals.ENTITY_MOCK_OBJECT_FILL__FILLER_TYPE));
+		}
+		INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
+		SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
+		feeder.accept(grammarAccess.getEntityMockObjectFillAccess().getNameQualifiedNameParserRuleCall_1_0(), semanticObject.getName());
+		feeder.accept(grammarAccess.getEntityMockObjectFillAccess().getFillerTypePropertyFillerTypeParserRuleCall_3_0(), semanticObject.getFillerType());
+		feeder.finish();
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     (parameterType=JvmTypeReference name=[IEntityMockObjectUsable|ID])
+	 */
+	protected void sequence_EntityMockObjectFunctionParameter(EObject context, EntityMockObjectFunctionParameter semanticObject) {
+		if(errorAcceptor != null) {
+			if(transientValues.isValueTransient(semanticObject, EntityMockDSLPackage.Literals.ENTITY_MOCK_OBJECT_FUNCTION_PARAMETER__PARAMETER_TYPE) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, EntityMockDSLPackage.Literals.ENTITY_MOCK_OBJECT_FUNCTION_PARAMETER__PARAMETER_TYPE));
+			if(transientValues.isValueTransient(semanticObject, EntityMockDSLPackage.Literals.ENTITY_MOCK_OBJECT_FUNCTION_PARAMETER__NAME) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, EntityMockDSLPackage.Literals.ENTITY_MOCK_OBJECT_FUNCTION_PARAMETER__NAME));
+		}
+		INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
+		SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
+		feeder.accept(grammarAccess.getEntityMockObjectFunctionParameterAccess().getParameterTypeJvmTypeReferenceParserRuleCall_0_0(), semanticObject.getParameterType());
+		feeder.accept(grammarAccess.getEntityMockObjectFunctionParameterAccess().getNameIEntityMockObjectUsableIDTerminalRuleCall_1_0_1(), semanticObject.getName());
+		feeder.finish();
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     (
+	 *         name=QualifiedName 
+	 *         oftype=JvmParameterizedTypeReference 
+	 *         (params+=EntityMockObjectFunctionParameter params+=EntityMockObjectFunctionParameter*)? 
+	 *         body=XBlockExpression
+	 *     )
+	 */
+	protected void sequence_EntityMockObjectFunction(EObject context, EntityMockObjectFunction semanticObject) {
+		genericSequencer.createSequence(context, semanticObject);
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     (datarow=[LEnumLiteral|ID] values+=STRING*)
+	 */
+	protected void sequence_EntityMockObjectItemValue(EObject context, EntityMockObjectItemValue semanticObject) {
+		genericSequencer.createSequence(context, semanticObject);
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     (name=QualifiedName values+=STRING*)
+	 */
+	protected void sequence_EntityMockObjectPlainValue(EObject context, EntityMockObjectPlainValue semanticObject) {
+		genericSequencer.createSequence(context, semanticObject);
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     (name=QualifiedName resourceEnum=[EntityMockObjectEnum|ID] resourceAttribute=[EntityMockResourceAttribute|ID]?)
+	 */
+	protected void sequence_EntityMockObjectResourceValue(EObject context, EntityMockObjectResourceValue semanticObject) {
+		genericSequencer.createSequence(context, semanticObject);
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     (name=QualifiedName enumerations+=EntityMockObjectEnum* attributes+=IEntityMockObjectAttribute* calculations+=EntityMockObjectFunction*)
+	 */
+	protected void sequence_EntityMockObject(EObject context, EntityMockObject semanticObject) {
+		genericSequencer.createSequence(context, semanticObject);
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     (objects+=EntityMockObject*)
+	 */
+	protected void sequence_EntityMockObjects(EObject context, EntityMockObjects semanticObject) {
+		genericSequencer.createSequence(context, semanticObject);
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     (
+	 *         imports+=EntityModelImport 
+	 *         runPriority=INT? 
+	 *         imports+=EntityModelImport* 
+	 *         datainterchanges=RunningDataInterchanges? 
+	 *         resources=EntityMockResources? 
+	 *         objects=EntityMockObjects? 
+	 *         datatypes=EntityMockDataTypes? 
+	 *         entities=EntityMockEntities
+	 *     )
+	 */
+	protected void sequence_EntityMockPackage(EObject context, EntityMockPackage semanticObject) {
+		genericSequencer.createSequence(context, semanticObject);
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     (temporary=[EntityMockTemporary|ID] embedded+=[EntityMockObjectEmbed|ID]* attribute=[IEntityMockObjectUsable|ID])
+	 */
+	protected void sequence_EntityMockReferencedObjectAttribute(EObject context, EntityMockReferencedObjectAttribute semanticObject) {
+		genericSequencer.createSequence(context, semanticObject);
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     name=QualifiedName
+	 */
+	protected void sequence_EntityMockResourceAttribute(EObject context, EntityMockResourceAttribute semanticObject) {
+		genericSequencer.createSequence(context, semanticObject);
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     (name=QualifiedName values+=STRING*)
+	 */
+	protected void sequence_EntityMockResourceDataRow(EObject context, EntityMockResourceDataRow semanticObject) {
+		genericSequencer.createSequence(context, semanticObject);
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     (name=QualifiedName attributes+=EntityMockResourceAttribute* datarows+=EntityMockResourceDataRow*)
+	 */
+	protected void sequence_EntityMockResource(EObject context, EntityMockResource semanticObject) {
+		genericSequencer.createSequence(context, semanticObject);
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     (resources+=EntityMockResource*)
+	 */
+	protected void sequence_EntityMockResources(EObject context, EntityMockResources semanticObject) {
+		genericSequencer.createSequence(context, semanticObject);
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     (name=QualifiedName object=[EntityMockObject|ID])
+	 */
+	protected void sequence_EntityMockTemporary(EObject context, EntityMockTemporary semanticObject) {
+		if(errorAcceptor != null) {
+			if(transientValues.isValueTransient(semanticObject, EntityMockDSLPackage.Literals.ENTITY_MOCK_TEMPORARY__NAME) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, EntityMockDSLPackage.Literals.ENTITY_MOCK_TEMPORARY__NAME));
+			if(transientValues.isValueTransient(semanticObject, EntityMockDSLPackage.Literals.ENTITY_MOCK_TEMPORARY__OBJECT) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, EntityMockDSLPackage.Literals.ENTITY_MOCK_TEMPORARY__OBJECT));
+		}
+		INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
+		SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
+		feeder.accept(grammarAccess.getEntityMockTemporaryAccess().getNameQualifiedNameParserRuleCall_1_0(), semanticObject.getName());
+		feeder.accept(grammarAccess.getEntityMockTemporaryAccess().getObjectEntityMockObjectIDTerminalRuleCall_3_0_1(), semanticObject.getObject());
+		feeder.finish();
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     importedNamespace=EntityMockQualifiedNameWithWildCard
+	 */
+	protected void sequence_EntityModelImport(EObject context, LImport semanticObject) {
+		if(errorAcceptor != null) {
+			if(transientValues.isValueTransient(semanticObject, OSBPTypesPackage.Literals.LIMPORT__IMPORTED_NAMESPACE) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, OSBPTypesPackage.Literals.LIMPORT__IMPORTED_NAMESPACE));
+		}
+		INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
+		SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
+		feeder.accept(grammarAccess.getEntityModelImportAccess().getImportedNamespaceEntityMockQualifiedNameWithWildCardParserRuleCall_0(), semanticObject.getImportedNamespace());
+		feeder.finish();
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     (from=SINT until=SINT step=INT)
+	 */
+	protected void sequence_IntegerIterate(EObject context, IntegerIterate semanticObject) {
+		if(errorAcceptor != null) {
+			if(transientValues.isValueTransient(semanticObject, EntityMockDSLPackage.Literals.INTEGER_ITERATE__FROM) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, EntityMockDSLPackage.Literals.INTEGER_ITERATE__FROM));
+			if(transientValues.isValueTransient(semanticObject, EntityMockDSLPackage.Literals.INTEGER_ITERATE__UNTIL) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, EntityMockDSLPackage.Literals.INTEGER_ITERATE__UNTIL));
+			if(transientValues.isValueTransient(semanticObject, EntityMockDSLPackage.Literals.INTEGER_ITERATE__STEP) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, EntityMockDSLPackage.Literals.INTEGER_ITERATE__STEP));
+		}
+		INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
+		SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
+		feeder.accept(grammarAccess.getIntegerIterateAccess().getFromSINTParserRuleCall_1_0(), semanticObject.getFrom());
+		feeder.accept(grammarAccess.getIntegerIterateAccess().getUntilSINTParserRuleCall_3_0(), semanticObject.getUntil());
+		feeder.accept(grammarAccess.getIntegerIterateAccess().getStepINTTerminalRuleCall_5_0(), semanticObject.getStep());
+		feeder.finish();
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     {PropertyFillerBoolean}
+	 */
+	protected void sequence_PropertyFillerBoolean(EObject context, PropertyFillerBoolean semanticObject) {
+		genericSequencer.createSequence(context, semanticObject);
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     dateFutureYears=INT
+	 */
+	protected void sequence_PropertyFillerDateFuture(EObject context, PropertyFillerDateFuture semanticObject) {
+		if(errorAcceptor != null) {
+			if(transientValues.isValueTransient(semanticObject, EntityMockDSLPackage.Literals.PROPERTY_FILLER_DATE_FUTURE__DATE_FUTURE_YEARS) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, EntityMockDSLPackage.Literals.PROPERTY_FILLER_DATE_FUTURE__DATE_FUTURE_YEARS));
+		}
+		INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
+		SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
+		feeder.accept(grammarAccess.getPropertyFillerDateFutureAccess().getDateFutureYearsINTTerminalRuleCall_1_0(), semanticObject.getDateFutureYears());
+		feeder.finish();
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     datePastYears=INT
+	 */
+	protected void sequence_PropertyFillerDatePast(EObject context, PropertyFillerDatePast semanticObject) {
+		if(errorAcceptor != null) {
+			if(transientValues.isValueTransient(semanticObject, EntityMockDSLPackage.Literals.PROPERTY_FILLER_DATE_PAST__DATE_PAST_YEARS) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, EntityMockDSLPackage.Literals.PROPERTY_FILLER_DATE_PAST__DATE_PAST_YEARS));
+		}
+		INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
+		SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
+		feeder.accept(grammarAccess.getPropertyFillerDatePastAccess().getDatePastYearsINTTerminalRuleCall_1_0(), semanticObject.getDatePastYears());
+		feeder.finish();
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     (dateBeginYears=SINT dateEndYears=SINT)
+	 */
+	protected void sequence_PropertyFillerDateRange(EObject context, PropertyFillerDateRange semanticObject) {
+		if(errorAcceptor != null) {
+			if(transientValues.isValueTransient(semanticObject, EntityMockDSLPackage.Literals.PROPERTY_FILLER_DATE_RANGE__DATE_BEGIN_YEARS) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, EntityMockDSLPackage.Literals.PROPERTY_FILLER_DATE_RANGE__DATE_BEGIN_YEARS));
+			if(transientValues.isValueTransient(semanticObject, EntityMockDSLPackage.Literals.PROPERTY_FILLER_DATE_RANGE__DATE_END_YEARS) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, EntityMockDSLPackage.Literals.PROPERTY_FILLER_DATE_RANGE__DATE_END_YEARS));
+		}
+		INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
+		SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
+		feeder.accept(grammarAccess.getPropertyFillerDateRangeAccess().getDateBeginYearsSINTParserRuleCall_1_0(), semanticObject.getDateBeginYears());
+		feeder.accept(grammarAccess.getPropertyFillerDateRangeAccess().getDateEndYearsSINTParserRuleCall_3_0(), semanticObject.getDateEndYears());
+		feeder.finish();
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     items+=SignedNumber+
+	 */
+	protected void sequence_PropertyFillerSignedDoubleRandom(EObject context, PropertyFillerSignedDoubleRandom semanticObject) {
+		genericSequencer.createSequence(context, semanticObject);
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     (
+	 *         ((beginRange=SignedNumber | beginRangeRef=[LEntityAttribute|ID])? (endRange=SignedNumber | endRangeRef=[LEntityAttribute|ID]))? 
+	 *         decimals=INT 
+	 *         rounded=UnsignedNumber?
+	 *     )
+	 */
+	protected void sequence_PropertyFillerSignedDoubleRange(EObject context, PropertyFillerSignedDoubleRange semanticObject) {
+		genericSequencer.createSequence(context, semanticObject);
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     items+=SINT+
+	 */
+	protected void sequence_PropertyFillerSignedIntegerRandom(EObject context, PropertyFillerSignedIntegerRandom semanticObject) {
+		genericSequencer.createSequence(context, semanticObject);
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     (((beginRange=SINT | beginRangeRef=[LEntityAttribute|ID])? (endRange=SINT | endRangeRef=[LEntityAttribute|ID]))? rounded=INT?)
+	 */
+	protected void sequence_PropertyFillerSignedIntegerRange(EObject context, PropertyFillerSignedIntegerRange semanticObject) {
+		genericSequencer.createSequence(context, semanticObject);
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     (count=INT?)
+	 */
+	protected void sequence_PropertyFillerTextParagraphs(EObject context, PropertyFillerTextParagraphs semanticObject) {
+		genericSequencer.createSequence(context, semanticObject);
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     items+=STRING+
+	 */
+	protected void sequence_PropertyFillerTextRandom(EObject context, PropertyFillerTextRandom semanticObject) {
+		genericSequencer.createSequence(context, semanticObject);
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     (count=INT?)
+	 */
+	protected void sequence_PropertyFillerTextSentences(EObject context, PropertyFillerTextSentences semanticObject) {
+		genericSequencer.createSequence(context, semanticObject);
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     (count=INT?)
+	 */
+	protected void sequence_PropertyFillerTextWords(EObject context, PropertyFillerTextWords semanticObject) {
+		genericSequencer.createSequence(context, semanticObject);
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     items+=UnsignedNumber+
+	 */
+	protected void sequence_PropertyFillerUnsignedDoubleRandom(EObject context, PropertyFillerUnsignedDoubleRandom semanticObject) {
+		genericSequencer.createSequence(context, semanticObject);
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     (
+	 *         ((beginRange=UnsignedNumber | beginRangeRef=[LEntityAttribute|ID])? (endRange=UnsignedNumber | endRangeRef=[LEntityAttribute|ID]))? 
+	 *         decimals=INT 
+	 *         rounded=UnsignedNumber?
+	 *     )
+	 */
+	protected void sequence_PropertyFillerUnsignedDoubleRange(EObject context, PropertyFillerUnsignedDoubleRange semanticObject) {
+		genericSequencer.createSequence(context, semanticObject);
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     items+=INT+
+	 */
+	protected void sequence_PropertyFillerUnsignedIntegerRandom(EObject context, PropertyFillerUnsignedIntegerRandom semanticObject) {
+		genericSequencer.createSequence(context, semanticObject);
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     (((beginRange=INT | beginRangeRef=[LEntityAttribute|ID])? (endRange=INT | endRangeRef=[LEntityAttribute|ID]))? rounded=INT?)
+	 */
+	protected void sequence_PropertyFillerUnsignedIntegerRange(EObject context, PropertyFillerUnsignedIntegerRange semanticObject) {
+		genericSequencer.createSequence(context, semanticObject);
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     (datainterchangeRef=[DataInterchange|ID] fileURL=STRING)
+	 */
+	protected void sequence_RunningDataInterchange(EObject context, RunningDataInterchange semanticObject) {
+		if(errorAcceptor != null) {
+			if(transientValues.isValueTransient(semanticObject, EntityMockDSLPackage.Literals.RUNNING_DATA_INTERCHANGE__DATAINTERCHANGE_REF) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, EntityMockDSLPackage.Literals.RUNNING_DATA_INTERCHANGE__DATAINTERCHANGE_REF));
+			if(transientValues.isValueTransient(semanticObject, EntityMockDSLPackage.Literals.RUNNING_DATA_INTERCHANGE__FILE_URL) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, EntityMockDSLPackage.Literals.RUNNING_DATA_INTERCHANGE__FILE_URL));
+		}
+		INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
+		SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
+		feeder.accept(grammarAccess.getRunningDataInterchangeAccess().getDatainterchangeRefDataInterchangeIDTerminalRuleCall_2_0_1(), semanticObject.getDatainterchangeRef());
+		feeder.accept(grammarAccess.getRunningDataInterchangeAccess().getFileURLSTRINGTerminalRuleCall_4_0(), semanticObject.getFileURL());
+		feeder.finish();
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     (datainterchanges+=RunningDataInterchange*)
+	 */
+	protected void sequence_RunningDataInterchanges(EObject context, RunningDataInterchanges semanticObject) {
+		genericSequencer.createSequence(context, semanticObject);
+	}
+}
diff --git a/org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/serializer/EntityMockDSLSyntacticSequencer.java b/org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/serializer/EntityMockDSLSyntacticSequencer.java
new file mode 100644
index 0000000..5ab1036
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/serializer/EntityMockDSLSyntacticSequencer.java
@@ -0,0 +1,262 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  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:                                                      
+ * 	   Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ * 
+ */
+
+package org.eclipse.osbp.xtext.entitymock.serializer;
+
+import com.google.inject.Inject;
+import java.util.List;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.osbp.xtext.entitymock.services.EntityMockDSLGrammarAccess;
+import org.eclipse.xtext.IGrammarAccess;
+import org.eclipse.xtext.RuleCall;
+import org.eclipse.xtext.nodemodel.INode;
+import org.eclipse.xtext.serializer.analysis.GrammarAlias.AbstractElementAlias;
+import org.eclipse.xtext.serializer.analysis.GrammarAlias.GroupAlias;
+import org.eclipse.xtext.serializer.analysis.GrammarAlias.TokenAlias;
+import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynNavigable;
+import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynTransition;
+import org.eclipse.xtext.serializer.sequencer.AbstractSyntacticSequencer;
+
+@SuppressWarnings("all")
+public class EntityMockDSLSyntacticSequencer extends AbstractSyntacticSequencer {
+
+	protected EntityMockDSLGrammarAccess grammarAccess;
+	protected AbstractElementAlias match_EntityMockEntityFunctionParameter_FullStopKeyword_1_1_0_q;
+	protected AbstractElementAlias match_EntityMockObjectItemValue_CommaKeyword_3_1_q;
+	protected AbstractElementAlias match_EntityMockObjectPlainValue_CommaKeyword_3_1_q;
+	protected AbstractElementAlias match_EntityMockReferencedObjectAttribute_FullStopKeyword_2_0_q;
+	protected AbstractElementAlias match_EntityMockResourceDataRow_CommaKeyword_2_1_1_q;
+	protected AbstractElementAlias match_EntityMockResourceDataRow___LeftParenthesisKeyword_2_0_RightParenthesisKeyword_2_2__q;
+	protected AbstractElementAlias match_EntityMockResource_CommaKeyword_3_2_1_q;
+	protected AbstractElementAlias match_EntityMockResource___AttributesKeyword_3_0_LeftParenthesisKeyword_3_1_RightParenthesisKeyword_3_3__q;
+	protected AbstractElementAlias match_XAnnotation___LeftParenthesisKeyword_3_0_RightParenthesisKeyword_3_2__q;
+	protected AbstractElementAlias match_XBlockExpression_SemicolonKeyword_2_1_q;
+	protected AbstractElementAlias match_XExpressionInClosure_SemicolonKeyword_1_1_q;
+	protected AbstractElementAlias match_XFunctionTypeRef___LeftParenthesisKeyword_0_0_RightParenthesisKeyword_0_2__q;
+	protected AbstractElementAlias match_XImportDeclaration_SemicolonKeyword_2_q;
+	protected AbstractElementAlias match_XParenthesizedExpression_LeftParenthesisKeyword_0_a;
+	protected AbstractElementAlias match_XParenthesizedExpression_LeftParenthesisKeyword_0_p;
+	
+	@Inject
+	protected void init(IGrammarAccess access) {
+		grammarAccess = (EntityMockDSLGrammarAccess) access;
+		match_EntityMockEntityFunctionParameter_FullStopKeyword_1_1_0_q = new TokenAlias(false, true, grammarAccess.getEntityMockEntityFunctionParameterAccess().getFullStopKeyword_1_1_0());
+		match_EntityMockObjectItemValue_CommaKeyword_3_1_q = new TokenAlias(false, true, grammarAccess.getEntityMockObjectItemValueAccess().getCommaKeyword_3_1());
+		match_EntityMockObjectPlainValue_CommaKeyword_3_1_q = new TokenAlias(false, true, grammarAccess.getEntityMockObjectPlainValueAccess().getCommaKeyword_3_1());
+		match_EntityMockReferencedObjectAttribute_FullStopKeyword_2_0_q = new TokenAlias(false, true, grammarAccess.getEntityMockReferencedObjectAttributeAccess().getFullStopKeyword_2_0());
+		match_EntityMockResourceDataRow_CommaKeyword_2_1_1_q = new TokenAlias(false, true, grammarAccess.getEntityMockResourceDataRowAccess().getCommaKeyword_2_1_1());
+		match_EntityMockResourceDataRow___LeftParenthesisKeyword_2_0_RightParenthesisKeyword_2_2__q = new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getEntityMockResourceDataRowAccess().getLeftParenthesisKeyword_2_0()), new TokenAlias(false, false, grammarAccess.getEntityMockResourceDataRowAccess().getRightParenthesisKeyword_2_2()));
+		match_EntityMockResource_CommaKeyword_3_2_1_q = new TokenAlias(false, true, grammarAccess.getEntityMockResourceAccess().getCommaKeyword_3_2_1());
+		match_EntityMockResource___AttributesKeyword_3_0_LeftParenthesisKeyword_3_1_RightParenthesisKeyword_3_3__q = new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getEntityMockResourceAccess().getAttributesKeyword_3_0()), new TokenAlias(false, false, grammarAccess.getEntityMockResourceAccess().getLeftParenthesisKeyword_3_1()), new TokenAlias(false, false, grammarAccess.getEntityMockResourceAccess().getRightParenthesisKeyword_3_3()));
+		match_XAnnotation___LeftParenthesisKeyword_3_0_RightParenthesisKeyword_3_2__q = new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getXAnnotationAccess().getLeftParenthesisKeyword_3_0()), new TokenAlias(false, false, grammarAccess.getXAnnotationAccess().getRightParenthesisKeyword_3_2()));
+		match_XBlockExpression_SemicolonKeyword_2_1_q = new TokenAlias(false, true, grammarAccess.getXBlockExpressionAccess().getSemicolonKeyword_2_1());
+		match_XExpressionInClosure_SemicolonKeyword_1_1_q = new TokenAlias(false, true, grammarAccess.getXExpressionInClosureAccess().getSemicolonKeyword_1_1());
+		match_XFunctionTypeRef___LeftParenthesisKeyword_0_0_RightParenthesisKeyword_0_2__q = new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getXFunctionTypeRefAccess().getLeftParenthesisKeyword_0_0()), new TokenAlias(false, false, grammarAccess.getXFunctionTypeRefAccess().getRightParenthesisKeyword_0_2()));
+		match_XImportDeclaration_SemicolonKeyword_2_q = new TokenAlias(false, true, grammarAccess.getXImportDeclarationAccess().getSemicolonKeyword_2());
+		match_XParenthesizedExpression_LeftParenthesisKeyword_0_a = new TokenAlias(true, true, grammarAccess.getXParenthesizedExpressionAccess().getLeftParenthesisKeyword_0());
+		match_XParenthesizedExpression_LeftParenthesisKeyword_0_p = new TokenAlias(true, false, grammarAccess.getXParenthesizedExpressionAccess().getLeftParenthesisKeyword_0());
+	}
+	
+	@Override
+	protected String getUnassignedRuleCallToken(EObject semanticObject, RuleCall ruleCall, INode node) {
+		if(ruleCall.getRule() == grammarAccess.getArrayBracketsRule())
+			return getArrayBracketsToken(semanticObject, ruleCall, node);
+		else if(ruleCall.getRule() == grammarAccess.getOpSingleAssignRule())
+			return getOpSingleAssignToken(semanticObject, ruleCall, node);
+		return "";
+	}
+	
+	/**
+	 * ArrayBrackets :
+	 * 	'[' ']'
+	 * ;
+	 */
+	protected String getArrayBracketsToken(EObject semanticObject, RuleCall ruleCall, INode node) {
+		if (node != null)
+			return getTokenText(node);
+		return "[]";
+	}
+	
+	/**
+	 * OpSingleAssign:
+	 * 	'='
+	 * ;
+	 */
+	protected String getOpSingleAssignToken(EObject semanticObject, RuleCall ruleCall, INode node) {
+		if (node != null)
+			return getTokenText(node);
+		return "=";
+	}
+	
+	@Override
+	protected void emitUnassignedTokens(EObject semanticObject, ISynTransition transition, INode fromNode, INode toNode) {
+		if (transition.getAmbiguousSyntaxes().isEmpty()) return;
+		List<INode> transitionNodes = collectNodes(fromNode, toNode);
+		for (AbstractElementAlias syntax : transition.getAmbiguousSyntaxes()) {
+			List<INode> syntaxNodes = getNodesFor(transitionNodes, syntax);
+			if(match_EntityMockEntityFunctionParameter_FullStopKeyword_1_1_0_q.equals(syntax))
+				emit_EntityMockEntityFunctionParameter_FullStopKeyword_1_1_0_q(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_EntityMockObjectItemValue_CommaKeyword_3_1_q.equals(syntax))
+				emit_EntityMockObjectItemValue_CommaKeyword_3_1_q(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_EntityMockObjectPlainValue_CommaKeyword_3_1_q.equals(syntax))
+				emit_EntityMockObjectPlainValue_CommaKeyword_3_1_q(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_EntityMockReferencedObjectAttribute_FullStopKeyword_2_0_q.equals(syntax))
+				emit_EntityMockReferencedObjectAttribute_FullStopKeyword_2_0_q(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_EntityMockResourceDataRow_CommaKeyword_2_1_1_q.equals(syntax))
+				emit_EntityMockResourceDataRow_CommaKeyword_2_1_1_q(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_EntityMockResourceDataRow___LeftParenthesisKeyword_2_0_RightParenthesisKeyword_2_2__q.equals(syntax))
+				emit_EntityMockResourceDataRow___LeftParenthesisKeyword_2_0_RightParenthesisKeyword_2_2__q(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_EntityMockResource_CommaKeyword_3_2_1_q.equals(syntax))
+				emit_EntityMockResource_CommaKeyword_3_2_1_q(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_EntityMockResource___AttributesKeyword_3_0_LeftParenthesisKeyword_3_1_RightParenthesisKeyword_3_3__q.equals(syntax))
+				emit_EntityMockResource___AttributesKeyword_3_0_LeftParenthesisKeyword_3_1_RightParenthesisKeyword_3_3__q(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_XAnnotation___LeftParenthesisKeyword_3_0_RightParenthesisKeyword_3_2__q.equals(syntax))
+				emit_XAnnotation___LeftParenthesisKeyword_3_0_RightParenthesisKeyword_3_2__q(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_XBlockExpression_SemicolonKeyword_2_1_q.equals(syntax))
+				emit_XBlockExpression_SemicolonKeyword_2_1_q(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_XExpressionInClosure_SemicolonKeyword_1_1_q.equals(syntax))
+				emit_XExpressionInClosure_SemicolonKeyword_1_1_q(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_XFunctionTypeRef___LeftParenthesisKeyword_0_0_RightParenthesisKeyword_0_2__q.equals(syntax))
+				emit_XFunctionTypeRef___LeftParenthesisKeyword_0_0_RightParenthesisKeyword_0_2__q(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_XImportDeclaration_SemicolonKeyword_2_q.equals(syntax))
+				emit_XImportDeclaration_SemicolonKeyword_2_q(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_XParenthesizedExpression_LeftParenthesisKeyword_0_a.equals(syntax))
+				emit_XParenthesizedExpression_LeftParenthesisKeyword_0_a(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_XParenthesizedExpression_LeftParenthesisKeyword_0_p.equals(syntax))
+				emit_XParenthesizedExpression_LeftParenthesisKeyword_0_p(semanticObject, getLastNavigableState(), syntaxNodes);
+			else acceptNodes(getLastNavigableState(), syntaxNodes);
+		}
+	}
+
+	/**
+	 * Syntax:
+	 *     '.'?
+	 */
+	protected void emit_EntityMockEntityFunctionParameter_FullStopKeyword_1_1_0_q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
+	 *     ','?
+	 */
+	protected void emit_EntityMockObjectItemValue_CommaKeyword_3_1_q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
+	 *     ','?
+	 */
+	protected void emit_EntityMockObjectPlainValue_CommaKeyword_3_1_q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
+	 *     '.'?
+	 */
+	protected void emit_EntityMockReferencedObjectAttribute_FullStopKeyword_2_0_q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
+	 *     ','?
+	 */
+	protected void emit_EntityMockResourceDataRow_CommaKeyword_2_1_1_q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
+	 *     ('(' ')')?
+	 */
+	protected void emit_EntityMockResourceDataRow___LeftParenthesisKeyword_2_0_RightParenthesisKeyword_2_2__q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
+	 *     ','?
+	 */
+	protected void emit_EntityMockResource_CommaKeyword_3_2_1_q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
+	 *     ('attributes' '(' ')')?
+	 */
+	protected void emit_EntityMockResource___AttributesKeyword_3_0_LeftParenthesisKeyword_3_1_RightParenthesisKeyword_3_3__q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
+	 *     ('(' ')')?
+	 */
+	protected void emit_XAnnotation___LeftParenthesisKeyword_3_0_RightParenthesisKeyword_3_2__q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
+	 *     ';'?
+	 */
+	protected void emit_XBlockExpression_SemicolonKeyword_2_1_q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
+	 *     ';'?
+	 */
+	protected void emit_XExpressionInClosure_SemicolonKeyword_1_1_q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
+	 *     ('(' ')')?
+	 */
+	protected void emit_XFunctionTypeRef___LeftParenthesisKeyword_0_0_RightParenthesisKeyword_0_2__q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
+	 *     ';'?
+	 */
+	protected void emit_XImportDeclaration_SemicolonKeyword_2_q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
+	 *     '('*
+	 */
+	protected void emit_XParenthesizedExpression_LeftParenthesisKeyword_0_a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
+	 *     '('+
+	 */
+	protected void emit_XParenthesizedExpression_LeftParenthesisKeyword_0_p(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+}
diff --git a/org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/services/EntityMockDSLGrammarAccess.java b/org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/services/EntityMockDSLGrammarAccess.java
new file mode 100644
index 0000000..dff1055
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/services/EntityMockDSLGrammarAccess.java
@@ -0,0 +1,4949 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  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:                                                      
+ * 	   Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ * 
+ */
+
+package org.eclipse.osbp.xtext.entitymock.services;
+
+import com.google.inject.Singleton;
+import com.google.inject.Inject;
+
+import java.util.List;
+
+import org.eclipse.xtext.*;
+import org.eclipse.xtext.service.GrammarProvider;
+import org.eclipse.xtext.service.AbstractElementFinder.*;
+
+import org.eclipse.xtext.xbase.annotations.services.XbaseWithAnnotationsGrammarAccess;
+import org.eclipse.xtext.xbase.services.XbaseGrammarAccess;
+import org.eclipse.xtext.xbase.services.XtypeGrammarAccess;
+
+@Singleton
+public class EntityMockDSLGrammarAccess extends AbstractGrammarElementFinder {
+	
+	
+	public class EntityMockModelElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "EntityMockModel");
+		private final Assignment cPackagesAssignment = (Assignment)rule.eContents().get(1);
+		private final RuleCall cPackagesEntityMockPackageParserRuleCall_0 = (RuleCall)cPackagesAssignment.eContents().get(0);
+		
+		//EntityMockModel:
+		//	packages+=EntityMockPackage*;
+		public ParserRule getRule() { return rule; }
+
+		//packages+=EntityMockPackage*
+		public Assignment getPackagesAssignment() { return cPackagesAssignment; }
+
+		//EntityMockPackage
+		public RuleCall getPackagesEntityMockPackageParserRuleCall_0() { return cPackagesEntityMockPackageParserRuleCall_0; }
+	}
+
+	public class EntityMockPackageElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "EntityMockPackage");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Keyword cMockEntitymodelForKeyword_0 = (Keyword)cGroup.eContents().get(0);
+		private final Assignment cImportsAssignment_1 = (Assignment)cGroup.eContents().get(1);
+		private final RuleCall cImportsEntityModelImportParserRuleCall_1_0 = (RuleCall)cImportsAssignment_1.eContents().get(0);
+		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
+		private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
+		private final Keyword cRunWithPriorityKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
+		private final Assignment cRunPriorityAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
+		private final RuleCall cRunPriorityINTTerminalRuleCall_3_1_0 = (RuleCall)cRunPriorityAssignment_3_1.eContents().get(0);
+		private final Group cGroup_4 = (Group)cGroup.eContents().get(4);
+		private final Keyword cImportKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0);
+		private final Assignment cImportsAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1);
+		private final RuleCall cImportsEntityModelImportParserRuleCall_4_1_0 = (RuleCall)cImportsAssignment_4_1.eContents().get(0);
+		private final Assignment cDatainterchangesAssignment_5 = (Assignment)cGroup.eContents().get(5);
+		private final RuleCall cDatainterchangesRunningDataInterchangesParserRuleCall_5_0 = (RuleCall)cDatainterchangesAssignment_5.eContents().get(0);
+		private final Assignment cResourcesAssignment_6 = (Assignment)cGroup.eContents().get(6);
+		private final RuleCall cResourcesEntityMockResourcesParserRuleCall_6_0 = (RuleCall)cResourcesAssignment_6.eContents().get(0);
+		private final Assignment cObjectsAssignment_7 = (Assignment)cGroup.eContents().get(7);
+		private final RuleCall cObjectsEntityMockObjectsParserRuleCall_7_0 = (RuleCall)cObjectsAssignment_7.eContents().get(0);
+		private final Assignment cDatatypesAssignment_8 = (Assignment)cGroup.eContents().get(8);
+		private final RuleCall cDatatypesEntityMockDataTypesParserRuleCall_8_0 = (RuleCall)cDatatypesAssignment_8.eContents().get(0);
+		private final Assignment cEntitiesAssignment_9 = (Assignment)cGroup.eContents().get(9);
+		private final RuleCall cEntitiesEntityMockEntitiesParserRuleCall_9_0 = (RuleCall)cEntitiesAssignment_9.eContents().get(0);
+		private final Keyword cRightCurlyBracketKeyword_10 = (Keyword)cGroup.eContents().get(10);
+		
+		//EntityMockPackage:
+		//	"mock entitymodel for" imports+=EntityModelImport "{" ("run with priority" runPriority=INT)? ("import"
+		//	imports+=EntityModelImport)* datainterchanges=RunningDataInterchanges? resources=EntityMockResources?
+		//	objects=EntityMockObjects? datatypes=EntityMockDataTypes? entities=EntityMockEntities "}";
+		public ParserRule getRule() { return rule; }
+
+		//"mock entitymodel for" imports+=EntityModelImport "{" ("run with priority" runPriority=INT)? ("import"
+		//imports+=EntityModelImport)* datainterchanges=RunningDataInterchanges? resources=EntityMockResources?
+		//objects=EntityMockObjects? datatypes=EntityMockDataTypes? entities=EntityMockEntities "}"
+		public Group getGroup() { return cGroup; }
+
+		//"mock entitymodel for"
+		public Keyword getMockEntitymodelForKeyword_0() { return cMockEntitymodelForKeyword_0; }
+
+		//imports+=EntityModelImport
+		public Assignment getImportsAssignment_1() { return cImportsAssignment_1; }
+
+		//EntityModelImport
+		public RuleCall getImportsEntityModelImportParserRuleCall_1_0() { return cImportsEntityModelImportParserRuleCall_1_0; }
+
+		//"{"
+		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
+
+		//("run with priority" runPriority=INT)?
+		public Group getGroup_3() { return cGroup_3; }
+
+		//"run with priority"
+		public Keyword getRunWithPriorityKeyword_3_0() { return cRunWithPriorityKeyword_3_0; }
+
+		//runPriority=INT
+		public Assignment getRunPriorityAssignment_3_1() { return cRunPriorityAssignment_3_1; }
+
+		//INT
+		public RuleCall getRunPriorityINTTerminalRuleCall_3_1_0() { return cRunPriorityINTTerminalRuleCall_3_1_0; }
+
+		//("import" imports+=EntityModelImport)*
+		public Group getGroup_4() { return cGroup_4; }
+
+		//"import"
+		public Keyword getImportKeyword_4_0() { return cImportKeyword_4_0; }
+
+		//imports+=EntityModelImport
+		public Assignment getImportsAssignment_4_1() { return cImportsAssignment_4_1; }
+
+		//EntityModelImport
+		public RuleCall getImportsEntityModelImportParserRuleCall_4_1_0() { return cImportsEntityModelImportParserRuleCall_4_1_0; }
+
+		//datainterchanges=RunningDataInterchanges?
+		public Assignment getDatainterchangesAssignment_5() { return cDatainterchangesAssignment_5; }
+
+		//RunningDataInterchanges
+		public RuleCall getDatainterchangesRunningDataInterchangesParserRuleCall_5_0() { return cDatainterchangesRunningDataInterchangesParserRuleCall_5_0; }
+
+		//resources=EntityMockResources?
+		public Assignment getResourcesAssignment_6() { return cResourcesAssignment_6; }
+
+		//EntityMockResources
+		public RuleCall getResourcesEntityMockResourcesParserRuleCall_6_0() { return cResourcesEntityMockResourcesParserRuleCall_6_0; }
+
+		//objects=EntityMockObjects?
+		public Assignment getObjectsAssignment_7() { return cObjectsAssignment_7; }
+
+		//EntityMockObjects
+		public RuleCall getObjectsEntityMockObjectsParserRuleCall_7_0() { return cObjectsEntityMockObjectsParserRuleCall_7_0; }
+
+		//datatypes=EntityMockDataTypes?
+		public Assignment getDatatypesAssignment_8() { return cDatatypesAssignment_8; }
+
+		//EntityMockDataTypes
+		public RuleCall getDatatypesEntityMockDataTypesParserRuleCall_8_0() { return cDatatypesEntityMockDataTypesParserRuleCall_8_0; }
+
+		//entities=EntityMockEntities
+		public Assignment getEntitiesAssignment_9() { return cEntitiesAssignment_9; }
+
+		//EntityMockEntities
+		public RuleCall getEntitiesEntityMockEntitiesParserRuleCall_9_0() { return cEntitiesEntityMockEntitiesParserRuleCall_9_0; }
+
+		//"}"
+		public Keyword getRightCurlyBracketKeyword_10() { return cRightCurlyBracketKeyword_10; }
+	}
+
+	public class EntityModelImportElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "EntityModelImport");
+		private final Assignment cImportedNamespaceAssignment = (Assignment)rule.eContents().get(1);
+		private final RuleCall cImportedNamespaceEntityMockQualifiedNameWithWildCardParserRuleCall_0 = (RuleCall)cImportedNamespaceAssignment.eContents().get(0);
+		
+		//EntityModelImport returns types::LImport:
+		//	importedNamespace=EntityMockQualifiedNameWithWildCard;
+		public ParserRule getRule() { return rule; }
+
+		//importedNamespace=EntityMockQualifiedNameWithWildCard
+		public Assignment getImportedNamespaceAssignment() { return cImportedNamespaceAssignment; }
+
+		//EntityMockQualifiedNameWithWildCard
+		public RuleCall getImportedNamespaceEntityMockQualifiedNameWithWildCardParserRuleCall_0() { return cImportedNamespaceEntityMockQualifiedNameWithWildCardParserRuleCall_0; }
+	}
+
+	public class EntityMockQualifiedNameWithWildCardElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "EntityMockQualifiedNameWithWildCard");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final RuleCall cQualifiedNameParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
+		private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
+		private final Keyword cFullStopKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
+		private final Keyword cAsteriskKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1);
+		
+		//EntityMockQualifiedNameWithWildCard:
+		//	QualifiedName ("." "*")?;
+		public ParserRule getRule() { return rule; }
+
+		//QualifiedName ("." "*")?
+		public Group getGroup() { return cGroup; }
+
+		//QualifiedName
+		public RuleCall getQualifiedNameParserRuleCall_0() { return cQualifiedNameParserRuleCall_0; }
+
+		//("." "*")?
+		public Group getGroup_1() { return cGroup_1; }
+
+		//"."
+		public Keyword getFullStopKeyword_1_0() { return cFullStopKeyword_1_0; }
+
+		//"*"
+		public Keyword getAsteriskKeyword_1_1() { return cAsteriskKeyword_1_1; }
+	}
+
+	public class RunningDataInterchangesElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "RunningDataInterchanges");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Action cRunningDataInterchangesAction_0 = (Action)cGroup.eContents().get(0);
+		private final Keyword cDatainterchangesKeyword_1 = (Keyword)cGroup.eContents().get(1);
+		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
+		private final Assignment cDatainterchangesAssignment_3 = (Assignment)cGroup.eContents().get(3);
+		private final RuleCall cDatainterchangesRunningDataInterchangeParserRuleCall_3_0 = (RuleCall)cDatainterchangesAssignment_3.eContents().get(0);
+		private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
+		
+		//RunningDataInterchanges:
+		//	{RunningDataInterchanges} "datainterchanges" "{" datainterchanges+=RunningDataInterchange* "}";
+		public ParserRule getRule() { return rule; }
+
+		//{RunningDataInterchanges} "datainterchanges" "{" datainterchanges+=RunningDataInterchange* "}"
+		public Group getGroup() { return cGroup; }
+
+		//{RunningDataInterchanges}
+		public Action getRunningDataInterchangesAction_0() { return cRunningDataInterchangesAction_0; }
+
+		//"datainterchanges"
+		public Keyword getDatainterchangesKeyword_1() { return cDatainterchangesKeyword_1; }
+
+		//"{"
+		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
+
+		//datainterchanges+=RunningDataInterchange*
+		public Assignment getDatainterchangesAssignment_3() { return cDatainterchangesAssignment_3; }
+
+		//RunningDataInterchange
+		public RuleCall getDatainterchangesRunningDataInterchangeParserRuleCall_3_0() { return cDatainterchangesRunningDataInterchangeParserRuleCall_3_0; }
+
+		//"}"
+		public Keyword getRightCurlyBracketKeyword_4() { return cRightCurlyBracketKeyword_4; }
+	}
+
+	public class RunningDataInterchangeElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "RunningDataInterchange");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Action cRunningDataInterchangeAction_0 = (Action)cGroup.eContents().get(0);
+		private final Keyword cDatainterchangeImportKeyword_1 = (Keyword)cGroup.eContents().get(1);
+		private final Assignment cDatainterchangeRefAssignment_2 = (Assignment)cGroup.eContents().get(2);
+		private final CrossReference cDatainterchangeRefDataInterchangeCrossReference_2_0 = (CrossReference)cDatainterchangeRefAssignment_2.eContents().get(0);
+		private final RuleCall cDatainterchangeRefDataInterchangeIDTerminalRuleCall_2_0_1 = (RuleCall)cDatainterchangeRefDataInterchangeCrossReference_2_0.eContents().get(1);
+		private final Keyword cFromFileKeyword_3 = (Keyword)cGroup.eContents().get(3);
+		private final Assignment cFileURLAssignment_4 = (Assignment)cGroup.eContents().get(4);
+		private final RuleCall cFileURLSTRINGTerminalRuleCall_4_0 = (RuleCall)cFileURLAssignment_4.eContents().get(0);
+		
+		//RunningDataInterchange:
+		//	{RunningDataInterchange} "datainterchange import" datainterchangeRef=[datainterchange::DataInterchange] "from file"
+		//	fileURL=STRING;
+		public ParserRule getRule() { return rule; }
+
+		//{RunningDataInterchange} "datainterchange import" datainterchangeRef=[datainterchange::DataInterchange] "from file"
+		//fileURL=STRING
+		public Group getGroup() { return cGroup; }
+
+		//{RunningDataInterchange}
+		public Action getRunningDataInterchangeAction_0() { return cRunningDataInterchangeAction_0; }
+
+		//"datainterchange import"
+		public Keyword getDatainterchangeImportKeyword_1() { return cDatainterchangeImportKeyword_1; }
+
+		//datainterchangeRef=[datainterchange::DataInterchange]
+		public Assignment getDatainterchangeRefAssignment_2() { return cDatainterchangeRefAssignment_2; }
+
+		//[datainterchange::DataInterchange]
+		public CrossReference getDatainterchangeRefDataInterchangeCrossReference_2_0() { return cDatainterchangeRefDataInterchangeCrossReference_2_0; }
+
+		//ID
+		public RuleCall getDatainterchangeRefDataInterchangeIDTerminalRuleCall_2_0_1() { return cDatainterchangeRefDataInterchangeIDTerminalRuleCall_2_0_1; }
+
+		//"from file"
+		public Keyword getFromFileKeyword_3() { return cFromFileKeyword_3; }
+
+		//fileURL=STRING
+		public Assignment getFileURLAssignment_4() { return cFileURLAssignment_4; }
+
+		//STRING
+		public RuleCall getFileURLSTRINGTerminalRuleCall_4_0() { return cFileURLSTRINGTerminalRuleCall_4_0; }
+	}
+
+	public class EntityMockResourcesElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "EntityMockResources");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Action cEntityMockResourcesAction_0 = (Action)cGroup.eContents().get(0);
+		private final Keyword cResourcesKeyword_1 = (Keyword)cGroup.eContents().get(1);
+		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
+		private final Assignment cResourcesAssignment_3 = (Assignment)cGroup.eContents().get(3);
+		private final RuleCall cResourcesEntityMockResourceParserRuleCall_3_0 = (RuleCall)cResourcesAssignment_3.eContents().get(0);
+		private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
+		
+		//EntityMockResources:
+		//	{EntityMockResources} "resources" "{" resources+=EntityMockResource* "}";
+		public ParserRule getRule() { return rule; }
+
+		//{EntityMockResources} "resources" "{" resources+=EntityMockResource* "}"
+		public Group getGroup() { return cGroup; }
+
+		//{EntityMockResources}
+		public Action getEntityMockResourcesAction_0() { return cEntityMockResourcesAction_0; }
+
+		//"resources"
+		public Keyword getResourcesKeyword_1() { return cResourcesKeyword_1; }
+
+		//"{"
+		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
+
+		//resources+=EntityMockResource*
+		public Assignment getResourcesAssignment_3() { return cResourcesAssignment_3; }
+
+		//EntityMockResource
+		public RuleCall getResourcesEntityMockResourceParserRuleCall_3_0() { return cResourcesEntityMockResourceParserRuleCall_3_0; }
+
+		//"}"
+		public Keyword getRightCurlyBracketKeyword_4() { return cRightCurlyBracketKeyword_4; }
+	}
+
+	public class EntityMockResourceElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "EntityMockResource");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Keyword cResourceKeyword_0 = (Keyword)cGroup.eContents().get(0);
+		private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
+		private final RuleCall cNameQualifiedNameParserRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
+		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
+		private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
+		private final Keyword cAttributesKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
+		private final Keyword cLeftParenthesisKeyword_3_1 = (Keyword)cGroup_3.eContents().get(1);
+		private final Group cGroup_3_2 = (Group)cGroup_3.eContents().get(2);
+		private final Assignment cAttributesAssignment_3_2_0 = (Assignment)cGroup_3_2.eContents().get(0);
+		private final RuleCall cAttributesEntityMockResourceAttributeParserRuleCall_3_2_0_0 = (RuleCall)cAttributesAssignment_3_2_0.eContents().get(0);
+		private final Keyword cCommaKeyword_3_2_1 = (Keyword)cGroup_3_2.eContents().get(1);
+		private final Keyword cRightParenthesisKeyword_3_3 = (Keyword)cGroup_3.eContents().get(3);
+		private final Keyword cItemsKeyword_4 = (Keyword)cGroup.eContents().get(4);
+		private final Keyword cLeftCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5);
+		private final Assignment cDatarowsAssignment_6 = (Assignment)cGroup.eContents().get(6);
+		private final RuleCall cDatarowsEntityMockResourceDataRowParserRuleCall_6_0 = (RuleCall)cDatarowsAssignment_6.eContents().get(0);
+		private final Keyword cRightCurlyBracketKeyword_7 = (Keyword)cGroup.eContents().get(7);
+		private final Keyword cRightCurlyBracketKeyword_8 = (Keyword)cGroup.eContents().get(8);
+		
+		//EntityMockResource:
+		//	"resource" name=QualifiedName "{" ("attributes" "(" (attributes+=EntityMockResourceAttribute ","?)* ")")? "items" "{"
+		//	datarows+=EntityMockResourceDataRow* "}" "}";
+		public ParserRule getRule() { return rule; }
+
+		//"resource" name=QualifiedName "{" ("attributes" "(" (attributes+=EntityMockResourceAttribute ","?)* ")")? "items" "{"
+		//datarows+=EntityMockResourceDataRow* "}" "}"
+		public Group getGroup() { return cGroup; }
+
+		//"resource"
+		public Keyword getResourceKeyword_0() { return cResourceKeyword_0; }
+
+		//name=QualifiedName
+		public Assignment getNameAssignment_1() { return cNameAssignment_1; }
+
+		//QualifiedName
+		public RuleCall getNameQualifiedNameParserRuleCall_1_0() { return cNameQualifiedNameParserRuleCall_1_0; }
+
+		//"{"
+		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
+
+		//("attributes" "(" (attributes+=EntityMockResourceAttribute ","?)* ")")?
+		public Group getGroup_3() { return cGroup_3; }
+
+		//"attributes"
+		public Keyword getAttributesKeyword_3_0() { return cAttributesKeyword_3_0; }
+
+		//"("
+		public Keyword getLeftParenthesisKeyword_3_1() { return cLeftParenthesisKeyword_3_1; }
+
+		//(attributes+=EntityMockResourceAttribute ","?)*
+		public Group getGroup_3_2() { return cGroup_3_2; }
+
+		//attributes+=EntityMockResourceAttribute
+		public Assignment getAttributesAssignment_3_2_0() { return cAttributesAssignment_3_2_0; }
+
+		//EntityMockResourceAttribute
+		public RuleCall getAttributesEntityMockResourceAttributeParserRuleCall_3_2_0_0() { return cAttributesEntityMockResourceAttributeParserRuleCall_3_2_0_0; }
+
+		//","?
+		public Keyword getCommaKeyword_3_2_1() { return cCommaKeyword_3_2_1; }
+
+		//")"
+		public Keyword getRightParenthesisKeyword_3_3() { return cRightParenthesisKeyword_3_3; }
+
+		//"items"
+		public Keyword getItemsKeyword_4() { return cItemsKeyword_4; }
+
+		//"{"
+		public Keyword getLeftCurlyBracketKeyword_5() { return cLeftCurlyBracketKeyword_5; }
+
+		//datarows+=EntityMockResourceDataRow*
+		public Assignment getDatarowsAssignment_6() { return cDatarowsAssignment_6; }
+
+		//EntityMockResourceDataRow
+		public RuleCall getDatarowsEntityMockResourceDataRowParserRuleCall_6_0() { return cDatarowsEntityMockResourceDataRowParserRuleCall_6_0; }
+
+		//"}"
+		public Keyword getRightCurlyBracketKeyword_7() { return cRightCurlyBracketKeyword_7; }
+
+		//"}"
+		public Keyword getRightCurlyBracketKeyword_8() { return cRightCurlyBracketKeyword_8; }
+	}
+
+	public class EntityMockResourceAttributeElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "EntityMockResourceAttribute");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Action cEntityMockResourceAttributeAction_0 = (Action)cGroup.eContents().get(0);
+		private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
+		private final RuleCall cNameQualifiedNameParserRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
+		
+		//EntityMockResourceAttribute:
+		//	{EntityMockResourceAttribute} name=QualifiedName;
+		public ParserRule getRule() { return rule; }
+
+		//{EntityMockResourceAttribute} name=QualifiedName
+		public Group getGroup() { return cGroup; }
+
+		//{EntityMockResourceAttribute}
+		public Action getEntityMockResourceAttributeAction_0() { return cEntityMockResourceAttributeAction_0; }
+
+		//name=QualifiedName
+		public Assignment getNameAssignment_1() { return cNameAssignment_1; }
+
+		//QualifiedName
+		public RuleCall getNameQualifiedNameParserRuleCall_1_0() { return cNameQualifiedNameParserRuleCall_1_0; }
+	}
+
+	public class EntityMockResourceDataRowElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "EntityMockResourceDataRow");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Action cEntityMockResourceDataRowAction_0 = (Action)cGroup.eContents().get(0);
+		private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
+		private final RuleCall cNameQualifiedNameParserRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
+		private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
+		private final Keyword cLeftParenthesisKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
+		private final Group cGroup_2_1 = (Group)cGroup_2.eContents().get(1);
+		private final Assignment cValuesAssignment_2_1_0 = (Assignment)cGroup_2_1.eContents().get(0);
+		private final RuleCall cValuesSTRINGTerminalRuleCall_2_1_0_0 = (RuleCall)cValuesAssignment_2_1_0.eContents().get(0);
+		private final Keyword cCommaKeyword_2_1_1 = (Keyword)cGroup_2_1.eContents().get(1);
+		private final Keyword cRightParenthesisKeyword_2_2 = (Keyword)cGroup_2.eContents().get(2);
+		
+		//EntityMockResourceDataRow:
+		//	{EntityMockResourceDataRow} name=QualifiedName ("(" (values+=STRING ","?)* ")")?;
+		public ParserRule getRule() { return rule; }
+
+		//{EntityMockResourceDataRow} name=QualifiedName ("(" (values+=STRING ","?)* ")")?
+		public Group getGroup() { return cGroup; }
+
+		//{EntityMockResourceDataRow}
+		public Action getEntityMockResourceDataRowAction_0() { return cEntityMockResourceDataRowAction_0; }
+
+		//name=QualifiedName
+		public Assignment getNameAssignment_1() { return cNameAssignment_1; }
+
+		//QualifiedName
+		public RuleCall getNameQualifiedNameParserRuleCall_1_0() { return cNameQualifiedNameParserRuleCall_1_0; }
+
+		//("(" (values+=STRING ","?)* ")")?
+		public Group getGroup_2() { return cGroup_2; }
+
+		//"("
+		public Keyword getLeftParenthesisKeyword_2_0() { return cLeftParenthesisKeyword_2_0; }
+
+		//(values+=STRING ","?)*
+		public Group getGroup_2_1() { return cGroup_2_1; }
+
+		//values+=STRING
+		public Assignment getValuesAssignment_2_1_0() { return cValuesAssignment_2_1_0; }
+
+		//STRING
+		public RuleCall getValuesSTRINGTerminalRuleCall_2_1_0_0() { return cValuesSTRINGTerminalRuleCall_2_1_0_0; }
+
+		//","?
+		public Keyword getCommaKeyword_2_1_1() { return cCommaKeyword_2_1_1; }
+
+		//")"
+		public Keyword getRightParenthesisKeyword_2_2() { return cRightParenthesisKeyword_2_2; }
+	}
+
+	public class EntityMockObjectsElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "EntityMockObjects");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Action cEntityMockObjectsAction_0 = (Action)cGroup.eContents().get(0);
+		private final Keyword cObjectsKeyword_1 = (Keyword)cGroup.eContents().get(1);
+		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
+		private final Assignment cObjectsAssignment_3 = (Assignment)cGroup.eContents().get(3);
+		private final RuleCall cObjectsEntityMockObjectParserRuleCall_3_0 = (RuleCall)cObjectsAssignment_3.eContents().get(0);
+		private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
+		
+		//EntityMockObjects:
+		//	{EntityMockObjects} "objects" "{" objects+=EntityMockObject* "}";
+		public ParserRule getRule() { return rule; }
+
+		//{EntityMockObjects} "objects" "{" objects+=EntityMockObject* "}"
+		public Group getGroup() { return cGroup; }
+
+		//{EntityMockObjects}
+		public Action getEntityMockObjectsAction_0() { return cEntityMockObjectsAction_0; }
+
+		//"objects"
+		public Keyword getObjectsKeyword_1() { return cObjectsKeyword_1; }
+
+		//"{"
+		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
+
+		//objects+=EntityMockObject*
+		public Assignment getObjectsAssignment_3() { return cObjectsAssignment_3; }
+
+		//EntityMockObject
+		public RuleCall getObjectsEntityMockObjectParserRuleCall_3_0() { return cObjectsEntityMockObjectParserRuleCall_3_0; }
+
+		//"}"
+		public Keyword getRightCurlyBracketKeyword_4() { return cRightCurlyBracketKeyword_4; }
+	}
+
+	public class EntityMockObjectElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "EntityMockObject");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Keyword cObjectKeyword_0 = (Keyword)cGroup.eContents().get(0);
+		private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
+		private final RuleCall cNameQualifiedNameParserRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
+		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
+		private final Assignment cEnumerationsAssignment_3 = (Assignment)cGroup.eContents().get(3);
+		private final RuleCall cEnumerationsEntityMockObjectEnumParserRuleCall_3_0 = (RuleCall)cEnumerationsAssignment_3.eContents().get(0);
+		private final Assignment cAttributesAssignment_4 = (Assignment)cGroup.eContents().get(4);
+		private final RuleCall cAttributesIEntityMockObjectAttributeParserRuleCall_4_0 = (RuleCall)cAttributesAssignment_4.eContents().get(0);
+		private final Assignment cCalculationsAssignment_5 = (Assignment)cGroup.eContents().get(5);
+		private final RuleCall cCalculationsEntityMockObjectFunctionParserRuleCall_5_0 = (RuleCall)cCalculationsAssignment_5.eContents().get(0);
+		private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6);
+		
+		//EntityMockObject:
+		//	"object" name=QualifiedName "{" enumerations+=EntityMockObjectEnum* attributes+=IEntityMockObjectAttribute*
+		//	calculations+=EntityMockObjectFunction* "}";
+		public ParserRule getRule() { return rule; }
+
+		//"object" name=QualifiedName "{" enumerations+=EntityMockObjectEnum* attributes+=IEntityMockObjectAttribute*
+		//calculations+=EntityMockObjectFunction* "}"
+		public Group getGroup() { return cGroup; }
+
+		//"object"
+		public Keyword getObjectKeyword_0() { return cObjectKeyword_0; }
+
+		//name=QualifiedName
+		public Assignment getNameAssignment_1() { return cNameAssignment_1; }
+
+		//QualifiedName
+		public RuleCall getNameQualifiedNameParserRuleCall_1_0() { return cNameQualifiedNameParserRuleCall_1_0; }
+
+		//"{"
+		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
+
+		//enumerations+=EntityMockObjectEnum*
+		public Assignment getEnumerationsAssignment_3() { return cEnumerationsAssignment_3; }
+
+		//EntityMockObjectEnum
+		public RuleCall getEnumerationsEntityMockObjectEnumParserRuleCall_3_0() { return cEnumerationsEntityMockObjectEnumParserRuleCall_3_0; }
+
+		//attributes+=IEntityMockObjectAttribute*
+		public Assignment getAttributesAssignment_4() { return cAttributesAssignment_4; }
+
+		//IEntityMockObjectAttribute
+		public RuleCall getAttributesIEntityMockObjectAttributeParserRuleCall_4_0() { return cAttributesIEntityMockObjectAttributeParserRuleCall_4_0; }
+
+		//calculations+=EntityMockObjectFunction*
+		public Assignment getCalculationsAssignment_5() { return cCalculationsAssignment_5; }
+
+		//EntityMockObjectFunction
+		public RuleCall getCalculationsEntityMockObjectFunctionParserRuleCall_5_0() { return cCalculationsEntityMockObjectFunctionParserRuleCall_5_0; }
+
+		//"}"
+		public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; }
+	}
+
+	public class EntityMockObjectEnumElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "EntityMockObjectEnum");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Keyword cVarKeyword_0 = (Keyword)cGroup.eContents().get(0);
+		private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
+		private final RuleCall cNameQualifiedNameParserRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
+		private final Keyword cByEnumKeyword_2 = (Keyword)cGroup.eContents().get(2);
+		private final Assignment cUsingResourceAssignment_3 = (Assignment)cGroup.eContents().get(3);
+		private final CrossReference cUsingResourceLEnumCrossReference_3_0 = (CrossReference)cUsingResourceAssignment_3.eContents().get(0);
+		private final RuleCall cUsingResourceLEnumIDTerminalRuleCall_3_0_1 = (RuleCall)cUsingResourceLEnumCrossReference_3_0.eContents().get(1);
+		
+		//EntityMockObjectEnum:
+		//	"var" name=QualifiedName "by enum" usingResource=[types::LEnum];
+		public ParserRule getRule() { return rule; }
+
+		//"var" name=QualifiedName "by enum" usingResource=[types::LEnum]
+		public Group getGroup() { return cGroup; }
+
+		//"var"
+		public Keyword getVarKeyword_0() { return cVarKeyword_0; }
+
+		//name=QualifiedName
+		public Assignment getNameAssignment_1() { return cNameAssignment_1; }
+
+		//QualifiedName
+		public RuleCall getNameQualifiedNameParserRuleCall_1_0() { return cNameQualifiedNameParserRuleCall_1_0; }
+
+		//"by enum"
+		public Keyword getByEnumKeyword_2() { return cByEnumKeyword_2; }
+
+		//usingResource=[types::LEnum]
+		public Assignment getUsingResourceAssignment_3() { return cUsingResourceAssignment_3; }
+
+		//[types::LEnum]
+		public CrossReference getUsingResourceLEnumCrossReference_3_0() { return cUsingResourceLEnumCrossReference_3_0; }
+
+		//ID
+		public RuleCall getUsingResourceLEnumIDTerminalRuleCall_3_0_1() { return cUsingResourceLEnumIDTerminalRuleCall_3_0_1; }
+	}
+
+	public class EntityMockDataTypesElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "EntityMockDataTypes");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Action cEntityMockDataTypesAction_0 = (Action)cGroup.eContents().get(0);
+		private final Keyword cDatatypesKeyword_1 = (Keyword)cGroup.eContents().get(1);
+		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
+		private final Assignment cDatatypesAssignment_3 = (Assignment)cGroup.eContents().get(3);
+		private final RuleCall cDatatypesEntityMockDataTypeParserRuleCall_3_0 = (RuleCall)cDatatypesAssignment_3.eContents().get(0);
+		private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
+		
+		//EntityMockDataTypes:
+		//	{EntityMockDataTypes} "datatypes" "{" datatypes+=EntityMockDataType* "}";
+		public ParserRule getRule() { return rule; }
+
+		//{EntityMockDataTypes} "datatypes" "{" datatypes+=EntityMockDataType* "}"
+		public Group getGroup() { return cGroup; }
+
+		//{EntityMockDataTypes}
+		public Action getEntityMockDataTypesAction_0() { return cEntityMockDataTypesAction_0; }
+
+		//"datatypes"
+		public Keyword getDatatypesKeyword_1() { return cDatatypesKeyword_1; }
+
+		//"{"
+		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
+
+		//datatypes+=EntityMockDataType*
+		public Assignment getDatatypesAssignment_3() { return cDatatypesAssignment_3; }
+
+		//EntityMockDataType
+		public RuleCall getDatatypesEntityMockDataTypeParserRuleCall_3_0() { return cDatatypesEntityMockDataTypeParserRuleCall_3_0; }
+
+		//"}"
+		public Keyword getRightCurlyBracketKeyword_4() { return cRightCurlyBracketKeyword_4; }
+	}
+
+	public class IEntityMockObjectUsableElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "IEntityMockObjectUsable");
+		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+		private final RuleCall cEntityMockObjectFunctionParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
+		private final RuleCall cEntityMockObjectEnumParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
+		private final RuleCall cEntityMockObjectPlainValueParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
+		private final RuleCall cEntityMockObjectArrayValueParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3);
+		private final RuleCall cEntityMockObjectEmbedParserRuleCall_4 = (RuleCall)cAlternatives.eContents().get(4);
+		private final RuleCall cEntityMockObjectFillParserRuleCall_5 = (RuleCall)cAlternatives.eContents().get(5);
+		
+		//IEntityMockObjectUsable:
+		//	EntityMockObjectFunction | EntityMockObjectEnum | EntityMockObjectPlainValue | EntityMockObjectArrayValue |
+		//	EntityMockObjectEmbed | EntityMockObjectFill;
+		public ParserRule getRule() { return rule; }
+
+		//EntityMockObjectFunction | EntityMockObjectEnum | EntityMockObjectPlainValue | EntityMockObjectArrayValue |
+		//EntityMockObjectEmbed | EntityMockObjectFill
+		public Alternatives getAlternatives() { return cAlternatives; }
+
+		//EntityMockObjectFunction
+		public RuleCall getEntityMockObjectFunctionParserRuleCall_0() { return cEntityMockObjectFunctionParserRuleCall_0; }
+
+		//EntityMockObjectEnum
+		public RuleCall getEntityMockObjectEnumParserRuleCall_1() { return cEntityMockObjectEnumParserRuleCall_1; }
+
+		//EntityMockObjectPlainValue
+		public RuleCall getEntityMockObjectPlainValueParserRuleCall_2() { return cEntityMockObjectPlainValueParserRuleCall_2; }
+
+		//EntityMockObjectArrayValue
+		public RuleCall getEntityMockObjectArrayValueParserRuleCall_3() { return cEntityMockObjectArrayValueParserRuleCall_3; }
+
+		//EntityMockObjectEmbed
+		public RuleCall getEntityMockObjectEmbedParserRuleCall_4() { return cEntityMockObjectEmbedParserRuleCall_4; }
+
+		//EntityMockObjectFill
+		public RuleCall getEntityMockObjectFillParserRuleCall_5() { return cEntityMockObjectFillParserRuleCall_5; }
+	}
+
+	public class IEntityMockObjectAttributeElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "IEntityMockObjectAttribute");
+		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+		private final RuleCall cEntityMockObjectResourceValueParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
+		private final RuleCall cEntityMockObjectPlainValueParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
+		private final RuleCall cEntityMockObjectArrayValueParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
+		private final RuleCall cEntityMockObjectEmbedParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3);
+		private final RuleCall cEntityMockObjectFillParserRuleCall_4 = (RuleCall)cAlternatives.eContents().get(4);
+		
+		//IEntityMockObjectAttribute:
+		//	EntityMockObjectResourceValue | EntityMockObjectPlainValue | EntityMockObjectArrayValue | EntityMockObjectEmbed |
+		//	EntityMockObjectFill;
+		public ParserRule getRule() { return rule; }
+
+		//EntityMockObjectResourceValue | EntityMockObjectPlainValue | EntityMockObjectArrayValue | EntityMockObjectEmbed |
+		//EntityMockObjectFill
+		public Alternatives getAlternatives() { return cAlternatives; }
+
+		//EntityMockObjectResourceValue
+		public RuleCall getEntityMockObjectResourceValueParserRuleCall_0() { return cEntityMockObjectResourceValueParserRuleCall_0; }
+
+		//EntityMockObjectPlainValue
+		public RuleCall getEntityMockObjectPlainValueParserRuleCall_1() { return cEntityMockObjectPlainValueParserRuleCall_1; }
+
+		//EntityMockObjectArrayValue
+		public RuleCall getEntityMockObjectArrayValueParserRuleCall_2() { return cEntityMockObjectArrayValueParserRuleCall_2; }
+
+		//EntityMockObjectEmbed
+		public RuleCall getEntityMockObjectEmbedParserRuleCall_3() { return cEntityMockObjectEmbedParserRuleCall_3; }
+
+		//EntityMockObjectFill
+		public RuleCall getEntityMockObjectFillParserRuleCall_4() { return cEntityMockObjectFillParserRuleCall_4; }
+	}
+
+	public class EntityMockObjectPlainValueElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "EntityMockObjectPlainValue");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Keyword cVarKeyword_0 = (Keyword)cGroup.eContents().get(0);
+		private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
+		private final RuleCall cNameQualifiedNameParserRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
+		private final Keyword cLeftParenthesisKeyword_2 = (Keyword)cGroup.eContents().get(2);
+		private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
+		private final Assignment cValuesAssignment_3_0 = (Assignment)cGroup_3.eContents().get(0);
+		private final RuleCall cValuesSTRINGTerminalRuleCall_3_0_0 = (RuleCall)cValuesAssignment_3_0.eContents().get(0);
+		private final Keyword cCommaKeyword_3_1 = (Keyword)cGroup_3.eContents().get(1);
+		private final Keyword cRightParenthesisKeyword_4 = (Keyword)cGroup.eContents().get(4);
+		
+		//EntityMockObjectPlainValue:
+		//	"var" name=QualifiedName "(" (values+=STRING ","?)* ")";
+		public ParserRule getRule() { return rule; }
+
+		//"var" name=QualifiedName "(" (values+=STRING ","?)* ")"
+		public Group getGroup() { return cGroup; }
+
+		//"var"
+		public Keyword getVarKeyword_0() { return cVarKeyword_0; }
+
+		//name=QualifiedName
+		public Assignment getNameAssignment_1() { return cNameAssignment_1; }
+
+		//QualifiedName
+		public RuleCall getNameQualifiedNameParserRuleCall_1_0() { return cNameQualifiedNameParserRuleCall_1_0; }
+
+		//"("
+		public Keyword getLeftParenthesisKeyword_2() { return cLeftParenthesisKeyword_2; }
+
+		//(values+=STRING ","?)*
+		public Group getGroup_3() { return cGroup_3; }
+
+		//values+=STRING
+		public Assignment getValuesAssignment_3_0() { return cValuesAssignment_3_0; }
+
+		//STRING
+		public RuleCall getValuesSTRINGTerminalRuleCall_3_0_0() { return cValuesSTRINGTerminalRuleCall_3_0_0; }
+
+		//","?
+		public Keyword getCommaKeyword_3_1() { return cCommaKeyword_3_1; }
+
+		//")"
+		public Keyword getRightParenthesisKeyword_4() { return cRightParenthesisKeyword_4; }
+	}
+
+	public class EntityMockObjectResourceValueElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "EntityMockObjectResourceValue");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Keyword cVarKeyword_0 = (Keyword)cGroup.eContents().get(0);
+		private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
+		private final RuleCall cNameQualifiedNameParserRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
+		private final Keyword cWithKeyword_2 = (Keyword)cGroup.eContents().get(2);
+		private final Assignment cResourceEnumAssignment_3 = (Assignment)cGroup.eContents().get(3);
+		private final CrossReference cResourceEnumEntityMockObjectEnumCrossReference_3_0 = (CrossReference)cResourceEnumAssignment_3.eContents().get(0);
+		private final RuleCall cResourceEnumEntityMockObjectEnumIDTerminalRuleCall_3_0_1 = (RuleCall)cResourceEnumEntityMockObjectEnumCrossReference_3_0.eContents().get(1);
+		private final Group cGroup_4 = (Group)cGroup.eContents().get(4);
+		private final Keyword cFullStopKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0);
+		private final Assignment cResourceAttributeAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1);
+		private final CrossReference cResourceAttributeEntityMockResourceAttributeCrossReference_4_1_0 = (CrossReference)cResourceAttributeAssignment_4_1.eContents().get(0);
+		private final RuleCall cResourceAttributeEntityMockResourceAttributeIDTerminalRuleCall_4_1_0_1 = (RuleCall)cResourceAttributeEntityMockResourceAttributeCrossReference_4_1_0.eContents().get(1);
+		
+		//EntityMockObjectResourceValue:
+		//	"var" name=QualifiedName "with" resourceEnum=[EntityMockObjectEnum] ("."
+		//	resourceAttribute=[EntityMockResourceAttribute])?;
+		public ParserRule getRule() { return rule; }
+
+		//"var" name=QualifiedName "with" resourceEnum=[EntityMockObjectEnum] ("."
+		//resourceAttribute=[EntityMockResourceAttribute])?
+		public Group getGroup() { return cGroup; }
+
+		//"var"
+		public Keyword getVarKeyword_0() { return cVarKeyword_0; }
+
+		//name=QualifiedName
+		public Assignment getNameAssignment_1() { return cNameAssignment_1; }
+
+		//QualifiedName
+		public RuleCall getNameQualifiedNameParserRuleCall_1_0() { return cNameQualifiedNameParserRuleCall_1_0; }
+
+		//"with"
+		public Keyword getWithKeyword_2() { return cWithKeyword_2; }
+
+		//resourceEnum=[EntityMockObjectEnum]
+		public Assignment getResourceEnumAssignment_3() { return cResourceEnumAssignment_3; }
+
+		//[EntityMockObjectEnum]
+		public CrossReference getResourceEnumEntityMockObjectEnumCrossReference_3_0() { return cResourceEnumEntityMockObjectEnumCrossReference_3_0; }
+
+		//ID
+		public RuleCall getResourceEnumEntityMockObjectEnumIDTerminalRuleCall_3_0_1() { return cResourceEnumEntityMockObjectEnumIDTerminalRuleCall_3_0_1; }
+
+		//("." resourceAttribute=[EntityMockResourceAttribute])?
+		public Group getGroup_4() { return cGroup_4; }
+
+		//"."
+		public Keyword getFullStopKeyword_4_0() { return cFullStopKeyword_4_0; }
+
+		//resourceAttribute=[EntityMockResourceAttribute]
+		public Assignment getResourceAttributeAssignment_4_1() { return cResourceAttributeAssignment_4_1; }
+
+		//[EntityMockResourceAttribute]
+		public CrossReference getResourceAttributeEntityMockResourceAttributeCrossReference_4_1_0() { return cResourceAttributeEntityMockResourceAttributeCrossReference_4_1_0; }
+
+		//ID
+		public RuleCall getResourceAttributeEntityMockResourceAttributeIDTerminalRuleCall_4_1_0_1() { return cResourceAttributeEntityMockResourceAttributeIDTerminalRuleCall_4_1_0_1; }
+	}
+
+	public class EntityMockObjectArrayValueElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "EntityMockObjectArrayValue");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Keyword cVarKeyword_0 = (Keyword)cGroup.eContents().get(0);
+		private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
+		private final RuleCall cNameQualifiedNameParserRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
+		private final Keyword cSwitchOnKeyword_2 = (Keyword)cGroup.eContents().get(2);
+		private final Assignment cEnumerationAssignment_3 = (Assignment)cGroup.eContents().get(3);
+		private final CrossReference cEnumerationEntityMockObjectEnumCrossReference_3_0 = (CrossReference)cEnumerationAssignment_3.eContents().get(0);
+		private final RuleCall cEnumerationEntityMockObjectEnumIDTerminalRuleCall_3_0_1 = (RuleCall)cEnumerationEntityMockObjectEnumCrossReference_3_0.eContents().get(1);
+		private final Keyword cLeftCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
+		private final Assignment cItemsAssignment_5 = (Assignment)cGroup.eContents().get(5);
+		private final RuleCall cItemsEntityMockObjectItemValueParserRuleCall_5_0 = (RuleCall)cItemsAssignment_5.eContents().get(0);
+		private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6);
+		
+		//EntityMockObjectArrayValue:
+		//	"var" name=QualifiedName "switch on" enumeration=[EntityMockObjectEnum] "{" items+=EntityMockObjectItemValue* "}";
+		public ParserRule getRule() { return rule; }
+
+		//"var" name=QualifiedName "switch on" enumeration=[EntityMockObjectEnum] "{" items+=EntityMockObjectItemValue* "}"
+		public Group getGroup() { return cGroup; }
+
+		//"var"
+		public Keyword getVarKeyword_0() { return cVarKeyword_0; }
+
+		//name=QualifiedName
+		public Assignment getNameAssignment_1() { return cNameAssignment_1; }
+
+		//QualifiedName
+		public RuleCall getNameQualifiedNameParserRuleCall_1_0() { return cNameQualifiedNameParserRuleCall_1_0; }
+
+		//"switch on"
+		public Keyword getSwitchOnKeyword_2() { return cSwitchOnKeyword_2; }
+
+		//enumeration=[EntityMockObjectEnum]
+		public Assignment getEnumerationAssignment_3() { return cEnumerationAssignment_3; }
+
+		//[EntityMockObjectEnum]
+		public CrossReference getEnumerationEntityMockObjectEnumCrossReference_3_0() { return cEnumerationEntityMockObjectEnumCrossReference_3_0; }
+
+		//ID
+		public RuleCall getEnumerationEntityMockObjectEnumIDTerminalRuleCall_3_0_1() { return cEnumerationEntityMockObjectEnumIDTerminalRuleCall_3_0_1; }
+
+		//"{"
+		public Keyword getLeftCurlyBracketKeyword_4() { return cLeftCurlyBracketKeyword_4; }
+
+		//items+=EntityMockObjectItemValue*
+		public Assignment getItemsAssignment_5() { return cItemsAssignment_5; }
+
+		//EntityMockObjectItemValue
+		public RuleCall getItemsEntityMockObjectItemValueParserRuleCall_5_0() { return cItemsEntityMockObjectItemValueParserRuleCall_5_0; }
+
+		//"}"
+		public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; }
+	}
+
+	public class EntityMockObjectItemValueElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "EntityMockObjectItemValue");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Keyword cWhenKeyword_0 = (Keyword)cGroup.eContents().get(0);
+		private final Assignment cDatarowAssignment_1 = (Assignment)cGroup.eContents().get(1);
+		private final CrossReference cDatarowLEnumLiteralCrossReference_1_0 = (CrossReference)cDatarowAssignment_1.eContents().get(0);
+		private final RuleCall cDatarowLEnumLiteralIDTerminalRuleCall_1_0_1 = (RuleCall)cDatarowLEnumLiteralCrossReference_1_0.eContents().get(1);
+		private final Keyword cLeftParenthesisKeyword_2 = (Keyword)cGroup.eContents().get(2);
+		private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
+		private final Assignment cValuesAssignment_3_0 = (Assignment)cGroup_3.eContents().get(0);
+		private final RuleCall cValuesSTRINGTerminalRuleCall_3_0_0 = (RuleCall)cValuesAssignment_3_0.eContents().get(0);
+		private final Keyword cCommaKeyword_3_1 = (Keyword)cGroup_3.eContents().get(1);
+		private final Keyword cRightParenthesisKeyword_4 = (Keyword)cGroup.eContents().get(4);
+		
+		//EntityMockObjectItemValue:
+		//	"when" datarow=[types::LEnumLiteral] "(" (values+=STRING ","?)* ")";
+		public ParserRule getRule() { return rule; }
+
+		//"when" datarow=[types::LEnumLiteral] "(" (values+=STRING ","?)* ")"
+		public Group getGroup() { return cGroup; }
+
+		//"when"
+		public Keyword getWhenKeyword_0() { return cWhenKeyword_0; }
+
+		//datarow=[types::LEnumLiteral]
+		public Assignment getDatarowAssignment_1() { return cDatarowAssignment_1; }
+
+		//[types::LEnumLiteral]
+		public CrossReference getDatarowLEnumLiteralCrossReference_1_0() { return cDatarowLEnumLiteralCrossReference_1_0; }
+
+		//ID
+		public RuleCall getDatarowLEnumLiteralIDTerminalRuleCall_1_0_1() { return cDatarowLEnumLiteralIDTerminalRuleCall_1_0_1; }
+
+		//"("
+		public Keyword getLeftParenthesisKeyword_2() { return cLeftParenthesisKeyword_2; }
+
+		//(values+=STRING ","?)*
+		public Group getGroup_3() { return cGroup_3; }
+
+		//values+=STRING
+		public Assignment getValuesAssignment_3_0() { return cValuesAssignment_3_0; }
+
+		//STRING
+		public RuleCall getValuesSTRINGTerminalRuleCall_3_0_0() { return cValuesSTRINGTerminalRuleCall_3_0_0; }
+
+		//","?
+		public Keyword getCommaKeyword_3_1() { return cCommaKeyword_3_1; }
+
+		//")"
+		public Keyword getRightParenthesisKeyword_4() { return cRightParenthesisKeyword_4; }
+	}
+
+	public class EntityMockObjectEmbedElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "EntityMockObjectEmbed");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Action cEntityMockObjectEmbedAction_0 = (Action)cGroup.eContents().get(0);
+		private final Keyword cEmbedKeyword_1 = (Keyword)cGroup.eContents().get(1);
+		private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2);
+		private final RuleCall cNameQualifiedNameParserRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0);
+		private final Keyword cDefinedAsKeyword_3 = (Keyword)cGroup.eContents().get(3);
+		private final Assignment cObjectAssignment_4 = (Assignment)cGroup.eContents().get(4);
+		private final CrossReference cObjectEntityMockObjectCrossReference_4_0 = (CrossReference)cObjectAssignment_4.eContents().get(0);
+		private final RuleCall cObjectEntityMockObjectIDTerminalRuleCall_4_0_1 = (RuleCall)cObjectEntityMockObjectCrossReference_4_0.eContents().get(1);
+		
+		//EntityMockObjectEmbed:
+		//	{EntityMockObjectEmbed} "embed" name=QualifiedName "defined as" object=[EntityMockObject];
+		public ParserRule getRule() { return rule; }
+
+		//{EntityMockObjectEmbed} "embed" name=QualifiedName "defined as" object=[EntityMockObject]
+		public Group getGroup() { return cGroup; }
+
+		//{EntityMockObjectEmbed}
+		public Action getEntityMockObjectEmbedAction_0() { return cEntityMockObjectEmbedAction_0; }
+
+		//"embed"
+		public Keyword getEmbedKeyword_1() { return cEmbedKeyword_1; }
+
+		//name=QualifiedName
+		public Assignment getNameAssignment_2() { return cNameAssignment_2; }
+
+		//QualifiedName
+		public RuleCall getNameQualifiedNameParserRuleCall_2_0() { return cNameQualifiedNameParserRuleCall_2_0; }
+
+		//"defined as"
+		public Keyword getDefinedAsKeyword_3() { return cDefinedAsKeyword_3; }
+
+		//object=[EntityMockObject]
+		public Assignment getObjectAssignment_4() { return cObjectAssignment_4; }
+
+		//[EntityMockObject]
+		public CrossReference getObjectEntityMockObjectCrossReference_4_0() { return cObjectEntityMockObjectCrossReference_4_0; }
+
+		//ID
+		public RuleCall getObjectEntityMockObjectIDTerminalRuleCall_4_0_1() { return cObjectEntityMockObjectIDTerminalRuleCall_4_0_1; }
+	}
+
+	public class EntityMockObjectFunctionElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "EntityMockObjectFunction");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Keyword cVarKeyword_0 = (Keyword)cGroup.eContents().get(0);
+		private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
+		private final RuleCall cNameQualifiedNameParserRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
+		private final Keyword cCalculateAsKeyword_2 = (Keyword)cGroup.eContents().get(2);
+		private final Assignment cOftypeAssignment_3 = (Assignment)cGroup.eContents().get(3);
+		private final RuleCall cOftypeJvmParameterizedTypeReferenceParserRuleCall_3_0 = (RuleCall)cOftypeAssignment_3.eContents().get(0);
+		private final Keyword cBasedOnKeyword_4 = (Keyword)cGroup.eContents().get(4);
+		private final Keyword cLeftParenthesisKeyword_5 = (Keyword)cGroup.eContents().get(5);
+		private final Group cGroup_6 = (Group)cGroup.eContents().get(6);
+		private final Assignment cParamsAssignment_6_0 = (Assignment)cGroup_6.eContents().get(0);
+		private final RuleCall cParamsEntityMockObjectFunctionParameterParserRuleCall_6_0_0 = (RuleCall)cParamsAssignment_6_0.eContents().get(0);
+		private final Group cGroup_6_1 = (Group)cGroup_6.eContents().get(1);
+		private final Keyword cCommaKeyword_6_1_0 = (Keyword)cGroup_6_1.eContents().get(0);
+		private final Assignment cParamsAssignment_6_1_1 = (Assignment)cGroup_6_1.eContents().get(1);
+		private final RuleCall cParamsEntityMockObjectFunctionParameterParserRuleCall_6_1_1_0 = (RuleCall)cParamsAssignment_6_1_1.eContents().get(0);
+		private final Keyword cRightParenthesisKeyword_7 = (Keyword)cGroup.eContents().get(7);
+		private final Assignment cBodyAssignment_8 = (Assignment)cGroup.eContents().get(8);
+		private final RuleCall cBodyXBlockExpressionParserRuleCall_8_0 = (RuleCall)cBodyAssignment_8.eContents().get(0);
+		
+		//EntityMockObjectFunction:
+		//	"var" name=QualifiedName "calculate as" oftype=JvmParameterizedTypeReference "based on" "("
+		//	(params+=EntityMockObjectFunctionParameter ("," params+=EntityMockObjectFunctionParameter)*)? ")"
+		//	body=XBlockExpression;
+		public ParserRule getRule() { return rule; }
+
+		//"var" name=QualifiedName "calculate as" oftype=JvmParameterizedTypeReference "based on" "("
+		//(params+=EntityMockObjectFunctionParameter ("," params+=EntityMockObjectFunctionParameter)*)? ")"
+		//body=XBlockExpression
+		public Group getGroup() { return cGroup; }
+
+		//"var"
+		public Keyword getVarKeyword_0() { return cVarKeyword_0; }
+
+		//name=QualifiedName
+		public Assignment getNameAssignment_1() { return cNameAssignment_1; }
+
+		//QualifiedName
+		public RuleCall getNameQualifiedNameParserRuleCall_1_0() { return cNameQualifiedNameParserRuleCall_1_0; }
+
+		//"calculate as"
+		public Keyword getCalculateAsKeyword_2() { return cCalculateAsKeyword_2; }
+
+		//oftype=JvmParameterizedTypeReference
+		public Assignment getOftypeAssignment_3() { return cOftypeAssignment_3; }
+
+		//JvmParameterizedTypeReference
+		public RuleCall getOftypeJvmParameterizedTypeReferenceParserRuleCall_3_0() { return cOftypeJvmParameterizedTypeReferenceParserRuleCall_3_0; }
+
+		//"based on"
+		public Keyword getBasedOnKeyword_4() { return cBasedOnKeyword_4; }
+
+		//"("
+		public Keyword getLeftParenthesisKeyword_5() { return cLeftParenthesisKeyword_5; }
+
+		//(params+=EntityMockObjectFunctionParameter ("," params+=EntityMockObjectFunctionParameter)*)?
+		public Group getGroup_6() { return cGroup_6; }
+
+		//params+=EntityMockObjectFunctionParameter
+		public Assignment getParamsAssignment_6_0() { return cParamsAssignment_6_0; }
+
+		//EntityMockObjectFunctionParameter
+		public RuleCall getParamsEntityMockObjectFunctionParameterParserRuleCall_6_0_0() { return cParamsEntityMockObjectFunctionParameterParserRuleCall_6_0_0; }
+
+		//("," params+=EntityMockObjectFunctionParameter)*
+		public Group getGroup_6_1() { return cGroup_6_1; }
+
+		//","
+		public Keyword getCommaKeyword_6_1_0() { return cCommaKeyword_6_1_0; }
+
+		//params+=EntityMockObjectFunctionParameter
+		public Assignment getParamsAssignment_6_1_1() { return cParamsAssignment_6_1_1; }
+
+		//EntityMockObjectFunctionParameter
+		public RuleCall getParamsEntityMockObjectFunctionParameterParserRuleCall_6_1_1_0() { return cParamsEntityMockObjectFunctionParameterParserRuleCall_6_1_1_0; }
+
+		//")"
+		public Keyword getRightParenthesisKeyword_7() { return cRightParenthesisKeyword_7; }
+
+		//body=XBlockExpression
+		public Assignment getBodyAssignment_8() { return cBodyAssignment_8; }
+
+		//XBlockExpression
+		public RuleCall getBodyXBlockExpressionParserRuleCall_8_0() { return cBodyXBlockExpressionParserRuleCall_8_0; }
+	}
+
+	public class EntityMockObjectFunctionParameterElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "EntityMockObjectFunctionParameter");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Assignment cParameterTypeAssignment_0 = (Assignment)cGroup.eContents().get(0);
+		private final RuleCall cParameterTypeJvmTypeReferenceParserRuleCall_0_0 = (RuleCall)cParameterTypeAssignment_0.eContents().get(0);
+		private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
+		private final CrossReference cNameIEntityMockObjectUsableCrossReference_1_0 = (CrossReference)cNameAssignment_1.eContents().get(0);
+		private final RuleCall cNameIEntityMockObjectUsableIDTerminalRuleCall_1_0_1 = (RuleCall)cNameIEntityMockObjectUsableCrossReference_1_0.eContents().get(1);
+		
+		//EntityMockObjectFunctionParameter:
+		//	parameterType=JvmTypeReference name=[IEntityMockObjectUsable];
+		public ParserRule getRule() { return rule; }
+
+		//parameterType=JvmTypeReference name=[IEntityMockObjectUsable]
+		public Group getGroup() { return cGroup; }
+
+		//parameterType=JvmTypeReference
+		public Assignment getParameterTypeAssignment_0() { return cParameterTypeAssignment_0; }
+
+		//JvmTypeReference
+		public RuleCall getParameterTypeJvmTypeReferenceParserRuleCall_0_0() { return cParameterTypeJvmTypeReferenceParserRuleCall_0_0; }
+
+		//name=[IEntityMockObjectUsable]
+		public Assignment getNameAssignment_1() { return cNameAssignment_1; }
+
+		//[IEntityMockObjectUsable]
+		public CrossReference getNameIEntityMockObjectUsableCrossReference_1_0() { return cNameIEntityMockObjectUsableCrossReference_1_0; }
+
+		//ID
+		public RuleCall getNameIEntityMockObjectUsableIDTerminalRuleCall_1_0_1() { return cNameIEntityMockObjectUsableIDTerminalRuleCall_1_0_1; }
+	}
+
+	public class EntityMockObjectFillElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "EntityMockObjectFill");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Keyword cVarKeyword_0 = (Keyword)cGroup.eContents().get(0);
+		private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
+		private final RuleCall cNameQualifiedNameParserRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
+		private final Keyword cRandomizeKeyword_2 = (Keyword)cGroup.eContents().get(2);
+		private final Assignment cFillerTypeAssignment_3 = (Assignment)cGroup.eContents().get(3);
+		private final RuleCall cFillerTypePropertyFillerTypeParserRuleCall_3_0 = (RuleCall)cFillerTypeAssignment_3.eContents().get(0);
+		
+		//EntityMockObjectFill:
+		//	"var" name=QualifiedName "randomize" fillerType=PropertyFillerType;
+		public ParserRule getRule() { return rule; }
+
+		//"var" name=QualifiedName "randomize" fillerType=PropertyFillerType
+		public Group getGroup() { return cGroup; }
+
+		//"var"
+		public Keyword getVarKeyword_0() { return cVarKeyword_0; }
+
+		//name=QualifiedName
+		public Assignment getNameAssignment_1() { return cNameAssignment_1; }
+
+		//QualifiedName
+		public RuleCall getNameQualifiedNameParserRuleCall_1_0() { return cNameQualifiedNameParserRuleCall_1_0; }
+
+		//"randomize"
+		public Keyword getRandomizeKeyword_2() { return cRandomizeKeyword_2; }
+
+		//fillerType=PropertyFillerType
+		public Assignment getFillerTypeAssignment_3() { return cFillerTypeAssignment_3; }
+
+		//PropertyFillerType
+		public RuleCall getFillerTypePropertyFillerTypeParserRuleCall_3_0() { return cFillerTypePropertyFillerTypeParserRuleCall_3_0; }
+	}
+
+	public class PropertyFillerTypeElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "PropertyFillerType");
+		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+		private final RuleCall cPropertyFillerDateFutureParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
+		private final RuleCall cPropertyFillerDatePastParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
+		private final RuleCall cPropertyFillerDateRangeParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
+		private final RuleCall cPropertyFillerBooleanParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3);
+		private final RuleCall cPropertyFillerSignedDoubleRangeParserRuleCall_4 = (RuleCall)cAlternatives.eContents().get(4);
+		private final RuleCall cPropertyFillerSignedDoubleRandomParserRuleCall_5 = (RuleCall)cAlternatives.eContents().get(5);
+		private final RuleCall cPropertyFillerSignedIntegerRangeParserRuleCall_6 = (RuleCall)cAlternatives.eContents().get(6);
+		private final RuleCall cPropertyFillerSignedIntegerRandomParserRuleCall_7 = (RuleCall)cAlternatives.eContents().get(7);
+		private final RuleCall cPropertyFillerTextRandomParserRuleCall_8 = (RuleCall)cAlternatives.eContents().get(8);
+		private final RuleCall cPropertyFillerTextParagraphsParserRuleCall_9 = (RuleCall)cAlternatives.eContents().get(9);
+		private final RuleCall cPropertyFillerTextSentencesParserRuleCall_10 = (RuleCall)cAlternatives.eContents().get(10);
+		private final RuleCall cPropertyFillerTextWordsParserRuleCall_11 = (RuleCall)cAlternatives.eContents().get(11);
+		private final RuleCall cPropertyFillerUnsignedDoubleRangeParserRuleCall_12 = (RuleCall)cAlternatives.eContents().get(12);
+		private final RuleCall cPropertyFillerUnsignedDoubleRandomParserRuleCall_13 = (RuleCall)cAlternatives.eContents().get(13);
+		private final RuleCall cPropertyFillerUnsignedIntegerRangeParserRuleCall_14 = (RuleCall)cAlternatives.eContents().get(14);
+		private final RuleCall cPropertyFillerUnsignedIntegerRandomParserRuleCall_15 = (RuleCall)cAlternatives.eContents().get(15);
+		
+		//PropertyFillerType:
+		//	PropertyFillerDateFuture | PropertyFillerDatePast | PropertyFillerDateRange | PropertyFillerBoolean |
+		//	PropertyFillerSignedDoubleRange | PropertyFillerSignedDoubleRandom | PropertyFillerSignedIntegerRange |
+		//	PropertyFillerSignedIntegerRandom | PropertyFillerTextRandom | PropertyFillerTextParagraphs |
+		//	PropertyFillerTextSentences | PropertyFillerTextWords | PropertyFillerUnsignedDoubleRange |
+		//	PropertyFillerUnsignedDoubleRandom | PropertyFillerUnsignedIntegerRange | PropertyFillerUnsignedIntegerRandom;
+		public ParserRule getRule() { return rule; }
+
+		//PropertyFillerDateFuture | PropertyFillerDatePast | PropertyFillerDateRange | PropertyFillerBoolean |
+		//PropertyFillerSignedDoubleRange | PropertyFillerSignedDoubleRandom | PropertyFillerSignedIntegerRange |
+		//PropertyFillerSignedIntegerRandom | PropertyFillerTextRandom | PropertyFillerTextParagraphs |
+		//PropertyFillerTextSentences | PropertyFillerTextWords | PropertyFillerUnsignedDoubleRange |
+		//PropertyFillerUnsignedDoubleRandom | PropertyFillerUnsignedIntegerRange | PropertyFillerUnsignedIntegerRandom
+		public Alternatives getAlternatives() { return cAlternatives; }
+
+		//PropertyFillerDateFuture
+		public RuleCall getPropertyFillerDateFutureParserRuleCall_0() { return cPropertyFillerDateFutureParserRuleCall_0; }
+
+		//PropertyFillerDatePast
+		public RuleCall getPropertyFillerDatePastParserRuleCall_1() { return cPropertyFillerDatePastParserRuleCall_1; }
+
+		//PropertyFillerDateRange
+		public RuleCall getPropertyFillerDateRangeParserRuleCall_2() { return cPropertyFillerDateRangeParserRuleCall_2; }
+
+		//PropertyFillerBoolean
+		public RuleCall getPropertyFillerBooleanParserRuleCall_3() { return cPropertyFillerBooleanParserRuleCall_3; }
+
+		//PropertyFillerSignedDoubleRange
+		public RuleCall getPropertyFillerSignedDoubleRangeParserRuleCall_4() { return cPropertyFillerSignedDoubleRangeParserRuleCall_4; }
+
+		//PropertyFillerSignedDoubleRandom
+		public RuleCall getPropertyFillerSignedDoubleRandomParserRuleCall_5() { return cPropertyFillerSignedDoubleRandomParserRuleCall_5; }
+
+		//PropertyFillerSignedIntegerRange
+		public RuleCall getPropertyFillerSignedIntegerRangeParserRuleCall_6() { return cPropertyFillerSignedIntegerRangeParserRuleCall_6; }
+
+		//PropertyFillerSignedIntegerRandom
+		public RuleCall getPropertyFillerSignedIntegerRandomParserRuleCall_7() { return cPropertyFillerSignedIntegerRandomParserRuleCall_7; }
+
+		//PropertyFillerTextRandom
+		public RuleCall getPropertyFillerTextRandomParserRuleCall_8() { return cPropertyFillerTextRandomParserRuleCall_8; }
+
+		//PropertyFillerTextParagraphs
+		public RuleCall getPropertyFillerTextParagraphsParserRuleCall_9() { return cPropertyFillerTextParagraphsParserRuleCall_9; }
+
+		//PropertyFillerTextSentences
+		public RuleCall getPropertyFillerTextSentencesParserRuleCall_10() { return cPropertyFillerTextSentencesParserRuleCall_10; }
+
+		//PropertyFillerTextWords
+		public RuleCall getPropertyFillerTextWordsParserRuleCall_11() { return cPropertyFillerTextWordsParserRuleCall_11; }
+
+		//PropertyFillerUnsignedDoubleRange
+		public RuleCall getPropertyFillerUnsignedDoubleRangeParserRuleCall_12() { return cPropertyFillerUnsignedDoubleRangeParserRuleCall_12; }
+
+		//PropertyFillerUnsignedDoubleRandom
+		public RuleCall getPropertyFillerUnsignedDoubleRandomParserRuleCall_13() { return cPropertyFillerUnsignedDoubleRandomParserRuleCall_13; }
+
+		//PropertyFillerUnsignedIntegerRange
+		public RuleCall getPropertyFillerUnsignedIntegerRangeParserRuleCall_14() { return cPropertyFillerUnsignedIntegerRangeParserRuleCall_14; }
+
+		//PropertyFillerUnsignedIntegerRandom
+		public RuleCall getPropertyFillerUnsignedIntegerRandomParserRuleCall_15() { return cPropertyFillerUnsignedIntegerRandomParserRuleCall_15; }
+	}
+
+	public class PropertyFillerDateFutureElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "PropertyFillerDateFuture");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Keyword cFutureDateKeyword_0 = (Keyword)cGroup.eContents().get(0);
+		private final Assignment cDateFutureYearsAssignment_1 = (Assignment)cGroup.eContents().get(1);
+		private final RuleCall cDateFutureYearsINTTerminalRuleCall_1_0 = (RuleCall)cDateFutureYearsAssignment_1.eContents().get(0);
+		private final Keyword cYearsKeyword_2 = (Keyword)cGroup.eContents().get(2);
+		
+		//PropertyFillerDateFuture:
+		//	"future date" dateFutureYears=INT "years";
+		public ParserRule getRule() { return rule; }
+
+		//"future date" dateFutureYears=INT "years"
+		public Group getGroup() { return cGroup; }
+
+		//"future date"
+		public Keyword getFutureDateKeyword_0() { return cFutureDateKeyword_0; }
+
+		//dateFutureYears=INT
+		public Assignment getDateFutureYearsAssignment_1() { return cDateFutureYearsAssignment_1; }
+
+		//INT
+		public RuleCall getDateFutureYearsINTTerminalRuleCall_1_0() { return cDateFutureYearsINTTerminalRuleCall_1_0; }
+
+		//"years"
+		public Keyword getYearsKeyword_2() { return cYearsKeyword_2; }
+	}
+
+	public class PropertyFillerDatePastElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "PropertyFillerDatePast");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Keyword cPastDateKeyword_0 = (Keyword)cGroup.eContents().get(0);
+		private final Assignment cDatePastYearsAssignment_1 = (Assignment)cGroup.eContents().get(1);
+		private final RuleCall cDatePastYearsINTTerminalRuleCall_1_0 = (RuleCall)cDatePastYearsAssignment_1.eContents().get(0);
+		private final Keyword cYearsKeyword_2 = (Keyword)cGroup.eContents().get(2);
+		
+		//PropertyFillerDatePast:
+		//	"past date" datePastYears=INT "years";
+		public ParserRule getRule() { return rule; }
+
+		//"past date" datePastYears=INT "years"
+		public Group getGroup() { return cGroup; }
+
+		//"past date"
+		public Keyword getPastDateKeyword_0() { return cPastDateKeyword_0; }
+
+		//datePastYears=INT
+		public Assignment getDatePastYearsAssignment_1() { return cDatePastYearsAssignment_1; }
+
+		//INT
+		public RuleCall getDatePastYearsINTTerminalRuleCall_1_0() { return cDatePastYearsINTTerminalRuleCall_1_0; }
+
+		//"years"
+		public Keyword getYearsKeyword_2() { return cYearsKeyword_2; }
+	}
+
+	public class PropertyFillerBooleanElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "PropertyFillerBoolean");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Action cPropertyFillerBooleanAction_0 = (Action)cGroup.eContents().get(0);
+		private final Keyword cBooleanKeyword_1 = (Keyword)cGroup.eContents().get(1);
+		
+		//PropertyFillerBoolean:
+		//	{PropertyFillerBoolean} "boolean";
+		public ParserRule getRule() { return rule; }
+
+		//{PropertyFillerBoolean} "boolean"
+		public Group getGroup() { return cGroup; }
+
+		//{PropertyFillerBoolean}
+		public Action getPropertyFillerBooleanAction_0() { return cPropertyFillerBooleanAction_0; }
+
+		//"boolean"
+		public Keyword getBooleanKeyword_1() { return cBooleanKeyword_1; }
+	}
+
+	public class PropertyFillerDateRangeElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "PropertyFillerDateRange");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Keyword cDateInRangeKeyword_0 = (Keyword)cGroup.eContents().get(0);
+		private final Assignment cDateBeginYearsAssignment_1 = (Assignment)cGroup.eContents().get(1);
+		private final RuleCall cDateBeginYearsSINTParserRuleCall_1_0 = (RuleCall)cDateBeginYearsAssignment_1.eContents().get(0);
+		private final Keyword cUpToAndIncludingKeyword_2 = (Keyword)cGroup.eContents().get(2);
+		private final Assignment cDateEndYearsAssignment_3 = (Assignment)cGroup.eContents().get(3);
+		private final RuleCall cDateEndYearsSINTParserRuleCall_3_0 = (RuleCall)cDateEndYearsAssignment_3.eContents().get(0);
+		private final Keyword cYearsKeyword_4 = (Keyword)cGroup.eContents().get(4);
+		
+		//PropertyFillerDateRange:
+		//	"date in range" dateBeginYears=SINT "up to and including" dateEndYears=SINT "years";
+		public ParserRule getRule() { return rule; }
+
+		//"date in range" dateBeginYears=SINT "up to and including" dateEndYears=SINT "years"
+		public Group getGroup() { return cGroup; }
+
+		//"date in range"
+		public Keyword getDateInRangeKeyword_0() { return cDateInRangeKeyword_0; }
+
+		//dateBeginYears=SINT
+		public Assignment getDateBeginYearsAssignment_1() { return cDateBeginYearsAssignment_1; }
+
+		//SINT
+		public RuleCall getDateBeginYearsSINTParserRuleCall_1_0() { return cDateBeginYearsSINTParserRuleCall_1_0; }
+
+		//"up to and including"
+		public Keyword getUpToAndIncludingKeyword_2() { return cUpToAndIncludingKeyword_2; }
+
+		//dateEndYears=SINT
+		public Assignment getDateEndYearsAssignment_3() { return cDateEndYearsAssignment_3; }
+
+		//SINT
+		public RuleCall getDateEndYearsSINTParserRuleCall_3_0() { return cDateEndYearsSINTParserRuleCall_3_0; }
+
+		//"years"
+		public Keyword getYearsKeyword_4() { return cYearsKeyword_4; }
+	}
+
+	public class PropertyFillerSignedDoubleRangeElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "PropertyFillerSignedDoubleRange");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Keyword cSignedDoubleInRangeKeyword_0 = (Keyword)cGroup.eContents().get(0);
+		private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
+		private final Alternatives cAlternatives_1_0 = (Alternatives)cGroup_1.eContents().get(0);
+		private final Assignment cBeginRangeAssignment_1_0_0 = (Assignment)cAlternatives_1_0.eContents().get(0);
+		private final RuleCall cBeginRangeSignedNumberParserRuleCall_1_0_0_0 = (RuleCall)cBeginRangeAssignment_1_0_0.eContents().get(0);
+		private final Assignment cBeginRangeRefAssignment_1_0_1 = (Assignment)cAlternatives_1_0.eContents().get(1);
+		private final CrossReference cBeginRangeRefLEntityAttributeCrossReference_1_0_1_0 = (CrossReference)cBeginRangeRefAssignment_1_0_1.eContents().get(0);
+		private final RuleCall cBeginRangeRefLEntityAttributeIDTerminalRuleCall_1_0_1_0_1 = (RuleCall)cBeginRangeRefLEntityAttributeCrossReference_1_0_1_0.eContents().get(1);
+		private final Keyword cUpToAndIncludingKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1);
+		private final Alternatives cAlternatives_1_2 = (Alternatives)cGroup_1.eContents().get(2);
+		private final Assignment cEndRangeAssignment_1_2_0 = (Assignment)cAlternatives_1_2.eContents().get(0);
+		private final RuleCall cEndRangeSignedNumberParserRuleCall_1_2_0_0 = (RuleCall)cEndRangeAssignment_1_2_0.eContents().get(0);
+		private final Assignment cEndRangeRefAssignment_1_2_1 = (Assignment)cAlternatives_1_2.eContents().get(1);
+		private final CrossReference cEndRangeRefLEntityAttributeCrossReference_1_2_1_0 = (CrossReference)cEndRangeRefAssignment_1_2_1.eContents().get(0);
+		private final RuleCall cEndRangeRefLEntityAttributeIDTerminalRuleCall_1_2_1_0_1 = (RuleCall)cEndRangeRefLEntityAttributeCrossReference_1_2_1_0.eContents().get(1);
+		private final Keyword cWithKeyword_2 = (Keyword)cGroup.eContents().get(2);
+		private final Assignment cDecimalsAssignment_3 = (Assignment)cGroup.eContents().get(3);
+		private final RuleCall cDecimalsINTTerminalRuleCall_3_0 = (RuleCall)cDecimalsAssignment_3.eContents().get(0);
+		private final Keyword cDecimalsKeyword_4 = (Keyword)cGroup.eContents().get(4);
+		private final Group cGroup_5 = (Group)cGroup.eContents().get(5);
+		private final Keyword cRoundToKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0);
+		private final Assignment cRoundedAssignment_5_1 = (Assignment)cGroup_5.eContents().get(1);
+		private final RuleCall cRoundedUnsignedNumberParserRuleCall_5_1_0 = (RuleCall)cRoundedAssignment_5_1.eContents().get(0);
+		
+		//PropertyFillerSignedDoubleRange:
+		//	"signed double in range" ((beginRange=SignedNumber | beginRangeRef=[entity::LEntityAttribute])? "up to and including"
+		//	(endRange=SignedNumber | endRangeRef=[entity::LEntityAttribute]))? "with" decimals=INT "decimals" ("round to"
+		//	rounded=UnsignedNumber)?;
+		public ParserRule getRule() { return rule; }
+
+		//"signed double in range" ((beginRange=SignedNumber | beginRangeRef=[entity::LEntityAttribute])? "up to and including"
+		//(endRange=SignedNumber | endRangeRef=[entity::LEntityAttribute]))? "with" decimals=INT "decimals" ("round to"
+		//rounded=UnsignedNumber)?
+		public Group getGroup() { return cGroup; }
+
+		//"signed double in range"
+		public Keyword getSignedDoubleInRangeKeyword_0() { return cSignedDoubleInRangeKeyword_0; }
+
+		//((beginRange=SignedNumber | beginRangeRef=[entity::LEntityAttribute])? "up to and including" (endRange=SignedNumber |
+		//endRangeRef=[entity::LEntityAttribute]))?
+		public Group getGroup_1() { return cGroup_1; }
+
+		//(beginRange=SignedNumber | beginRangeRef=[entity::LEntityAttribute])?
+		public Alternatives getAlternatives_1_0() { return cAlternatives_1_0; }
+
+		//beginRange=SignedNumber
+		public Assignment getBeginRangeAssignment_1_0_0() { return cBeginRangeAssignment_1_0_0; }
+
+		//SignedNumber
+		public RuleCall getBeginRangeSignedNumberParserRuleCall_1_0_0_0() { return cBeginRangeSignedNumberParserRuleCall_1_0_0_0; }
+
+		//beginRangeRef=[entity::LEntityAttribute]
+		public Assignment getBeginRangeRefAssignment_1_0_1() { return cBeginRangeRefAssignment_1_0_1; }
+
+		//[entity::LEntityAttribute]
+		public CrossReference getBeginRangeRefLEntityAttributeCrossReference_1_0_1_0() { return cBeginRangeRefLEntityAttributeCrossReference_1_0_1_0; }
+
+		//ID
+		public RuleCall getBeginRangeRefLEntityAttributeIDTerminalRuleCall_1_0_1_0_1() { return cBeginRangeRefLEntityAttributeIDTerminalRuleCall_1_0_1_0_1; }
+
+		//"up to and including"
+		public Keyword getUpToAndIncludingKeyword_1_1() { return cUpToAndIncludingKeyword_1_1; }
+
+		//endRange=SignedNumber | endRangeRef=[entity::LEntityAttribute]
+		public Alternatives getAlternatives_1_2() { return cAlternatives_1_2; }
+
+		//endRange=SignedNumber
+		public Assignment getEndRangeAssignment_1_2_0() { return cEndRangeAssignment_1_2_0; }
+
+		//SignedNumber
+		public RuleCall getEndRangeSignedNumberParserRuleCall_1_2_0_0() { return cEndRangeSignedNumberParserRuleCall_1_2_0_0; }
+
+		//endRangeRef=[entity::LEntityAttribute]
+		public Assignment getEndRangeRefAssignment_1_2_1() { return cEndRangeRefAssignment_1_2_1; }
+
+		//[entity::LEntityAttribute]
+		public CrossReference getEndRangeRefLEntityAttributeCrossReference_1_2_1_0() { return cEndRangeRefLEntityAttributeCrossReference_1_2_1_0; }
+
+		//ID
+		public RuleCall getEndRangeRefLEntityAttributeIDTerminalRuleCall_1_2_1_0_1() { return cEndRangeRefLEntityAttributeIDTerminalRuleCall_1_2_1_0_1; }
+
+		//"with"
+		public Keyword getWithKeyword_2() { return cWithKeyword_2; }
+
+		//decimals=INT
+		public Assignment getDecimalsAssignment_3() { return cDecimalsAssignment_3; }
+
+		//INT
+		public RuleCall getDecimalsINTTerminalRuleCall_3_0() { return cDecimalsINTTerminalRuleCall_3_0; }
+
+		//"decimals"
+		public Keyword getDecimalsKeyword_4() { return cDecimalsKeyword_4; }
+
+		//("round to" rounded=UnsignedNumber)?
+		public Group getGroup_5() { return cGroup_5; }
+
+		//"round to"
+		public Keyword getRoundToKeyword_5_0() { return cRoundToKeyword_5_0; }
+
+		//rounded=UnsignedNumber
+		public Assignment getRoundedAssignment_5_1() { return cRoundedAssignment_5_1; }
+
+		//UnsignedNumber
+		public RuleCall getRoundedUnsignedNumberParserRuleCall_5_1_0() { return cRoundedUnsignedNumberParserRuleCall_5_1_0; }
+	}
+
+	public class PropertyFillerSignedDoubleRandomElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "PropertyFillerSignedDoubleRandom");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Keyword cSignedDoubleFromKeyword_0 = (Keyword)cGroup.eContents().get(0);
+		private final Keyword cLeftParenthesisKeyword_1 = (Keyword)cGroup.eContents().get(1);
+		private final Assignment cItemsAssignment_2 = (Assignment)cGroup.eContents().get(2);
+		private final RuleCall cItemsSignedNumberParserRuleCall_2_0 = (RuleCall)cItemsAssignment_2.eContents().get(0);
+		private final Keyword cRightParenthesisKeyword_3 = (Keyword)cGroup.eContents().get(3);
+		
+		//PropertyFillerSignedDoubleRandom:
+		//	"signed double from" "(" items+=SignedNumber+ ")";
+		public ParserRule getRule() { return rule; }
+
+		//"signed double from" "(" items+=SignedNumber+ ")"
+		public Group getGroup() { return cGroup; }
+
+		//"signed double from"
+		public Keyword getSignedDoubleFromKeyword_0() { return cSignedDoubleFromKeyword_0; }
+
+		//"("
+		public Keyword getLeftParenthesisKeyword_1() { return cLeftParenthesisKeyword_1; }
+
+		//items+=SignedNumber+
+		public Assignment getItemsAssignment_2() { return cItemsAssignment_2; }
+
+		//SignedNumber
+		public RuleCall getItemsSignedNumberParserRuleCall_2_0() { return cItemsSignedNumberParserRuleCall_2_0; }
+
+		//")"
+		public Keyword getRightParenthesisKeyword_3() { return cRightParenthesisKeyword_3; }
+	}
+
+	public class PropertyFillerSignedIntegerRangeElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "PropertyFillerSignedIntegerRange");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Action cPropertyFillerSignedIntegerRangeAction_0 = (Action)cGroup.eContents().get(0);
+		private final Keyword cSignedIntegerInRangeKeyword_1 = (Keyword)cGroup.eContents().get(1);
+		private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
+		private final Alternatives cAlternatives_2_0 = (Alternatives)cGroup_2.eContents().get(0);
+		private final Assignment cBeginRangeAssignment_2_0_0 = (Assignment)cAlternatives_2_0.eContents().get(0);
+		private final RuleCall cBeginRangeSINTParserRuleCall_2_0_0_0 = (RuleCall)cBeginRangeAssignment_2_0_0.eContents().get(0);
+		private final Assignment cBeginRangeRefAssignment_2_0_1 = (Assignment)cAlternatives_2_0.eContents().get(1);
+		private final CrossReference cBeginRangeRefLEntityAttributeCrossReference_2_0_1_0 = (CrossReference)cBeginRangeRefAssignment_2_0_1.eContents().get(0);
+		private final RuleCall cBeginRangeRefLEntityAttributeIDTerminalRuleCall_2_0_1_0_1 = (RuleCall)cBeginRangeRefLEntityAttributeCrossReference_2_0_1_0.eContents().get(1);
+		private final Keyword cUpToAndIncludingKeyword_2_1 = (Keyword)cGroup_2.eContents().get(1);
+		private final Alternatives cAlternatives_2_2 = (Alternatives)cGroup_2.eContents().get(2);
+		private final Assignment cEndRangeAssignment_2_2_0 = (Assignment)cAlternatives_2_2.eContents().get(0);
+		private final RuleCall cEndRangeSINTParserRuleCall_2_2_0_0 = (RuleCall)cEndRangeAssignment_2_2_0.eContents().get(0);
+		private final Assignment cEndRangeRefAssignment_2_2_1 = (Assignment)cAlternatives_2_2.eContents().get(1);
+		private final CrossReference cEndRangeRefLEntityAttributeCrossReference_2_2_1_0 = (CrossReference)cEndRangeRefAssignment_2_2_1.eContents().get(0);
+		private final RuleCall cEndRangeRefLEntityAttributeIDTerminalRuleCall_2_2_1_0_1 = (RuleCall)cEndRangeRefLEntityAttributeCrossReference_2_2_1_0.eContents().get(1);
+		private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
+		private final Keyword cRoundToKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
+		private final Assignment cRoundedAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
+		private final RuleCall cRoundedINTTerminalRuleCall_3_1_0 = (RuleCall)cRoundedAssignment_3_1.eContents().get(0);
+		
+		//PropertyFillerSignedIntegerRange:
+		//	{PropertyFillerSignedIntegerRange} "signed integer in range" ((beginRange=SINT |
+		//	beginRangeRef=[entity::LEntityAttribute])? "up to and including" (endRange=SINT |
+		//	endRangeRef=[entity::LEntityAttribute]))? ("round to" rounded=INT)?;
+		public ParserRule getRule() { return rule; }
+
+		//{PropertyFillerSignedIntegerRange} "signed integer in range" ((beginRange=SINT |
+		//beginRangeRef=[entity::LEntityAttribute])? "up to and including" (endRange=SINT |
+		//endRangeRef=[entity::LEntityAttribute]))? ("round to" rounded=INT)?
+		public Group getGroup() { return cGroup; }
+
+		//{PropertyFillerSignedIntegerRange}
+		public Action getPropertyFillerSignedIntegerRangeAction_0() { return cPropertyFillerSignedIntegerRangeAction_0; }
+
+		//"signed integer in range"
+		public Keyword getSignedIntegerInRangeKeyword_1() { return cSignedIntegerInRangeKeyword_1; }
+
+		//((beginRange=SINT | beginRangeRef=[entity::LEntityAttribute])? "up to and including" (endRange=SINT |
+		//endRangeRef=[entity::LEntityAttribute]))?
+		public Group getGroup_2() { return cGroup_2; }
+
+		//(beginRange=SINT | beginRangeRef=[entity::LEntityAttribute])?
+		public Alternatives getAlternatives_2_0() { return cAlternatives_2_0; }
+
+		//beginRange=SINT
+		public Assignment getBeginRangeAssignment_2_0_0() { return cBeginRangeAssignment_2_0_0; }
+
+		//SINT
+		public RuleCall getBeginRangeSINTParserRuleCall_2_0_0_0() { return cBeginRangeSINTParserRuleCall_2_0_0_0; }
+
+		//beginRangeRef=[entity::LEntityAttribute]
+		public Assignment getBeginRangeRefAssignment_2_0_1() { return cBeginRangeRefAssignment_2_0_1; }
+
+		//[entity::LEntityAttribute]
+		public CrossReference getBeginRangeRefLEntityAttributeCrossReference_2_0_1_0() { return cBeginRangeRefLEntityAttributeCrossReference_2_0_1_0; }
+
+		//ID
+		public RuleCall getBeginRangeRefLEntityAttributeIDTerminalRuleCall_2_0_1_0_1() { return cBeginRangeRefLEntityAttributeIDTerminalRuleCall_2_0_1_0_1; }
+
+		//"up to and including"
+		public Keyword getUpToAndIncludingKeyword_2_1() { return cUpToAndIncludingKeyword_2_1; }
+
+		//endRange=SINT | endRangeRef=[entity::LEntityAttribute]
+		public Alternatives getAlternatives_2_2() { return cAlternatives_2_2; }
+
+		//endRange=SINT
+		public Assignment getEndRangeAssignment_2_2_0() { return cEndRangeAssignment_2_2_0; }
+
+		//SINT
+		public RuleCall getEndRangeSINTParserRuleCall_2_2_0_0() { return cEndRangeSINTParserRuleCall_2_2_0_0; }
+
+		//endRangeRef=[entity::LEntityAttribute]
+		public Assignment getEndRangeRefAssignment_2_2_1() { return cEndRangeRefAssignment_2_2_1; }
+
+		//[entity::LEntityAttribute]
+		public CrossReference getEndRangeRefLEntityAttributeCrossReference_2_2_1_0() { return cEndRangeRefLEntityAttributeCrossReference_2_2_1_0; }
+
+		//ID
+		public RuleCall getEndRangeRefLEntityAttributeIDTerminalRuleCall_2_2_1_0_1() { return cEndRangeRefLEntityAttributeIDTerminalRuleCall_2_2_1_0_1; }
+
+		//("round to" rounded=INT)?
+		public Group getGroup_3() { return cGroup_3; }
+
+		//"round to"
+		public Keyword getRoundToKeyword_3_0() { return cRoundToKeyword_3_0; }
+
+		//rounded=INT
+		public Assignment getRoundedAssignment_3_1() { return cRoundedAssignment_3_1; }
+
+		//INT
+		public RuleCall getRoundedINTTerminalRuleCall_3_1_0() { return cRoundedINTTerminalRuleCall_3_1_0; }
+	}
+
+	public class PropertyFillerSignedIntegerRandomElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "PropertyFillerSignedIntegerRandom");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Keyword cSignedIntegerFromKeyword_0 = (Keyword)cGroup.eContents().get(0);
+		private final Keyword cLeftParenthesisKeyword_1 = (Keyword)cGroup.eContents().get(1);
+		private final Assignment cItemsAssignment_2 = (Assignment)cGroup.eContents().get(2);
+		private final RuleCall cItemsSINTParserRuleCall_2_0 = (RuleCall)cItemsAssignment_2.eContents().get(0);
+		private final Keyword cRightParenthesisKeyword_3 = (Keyword)cGroup.eContents().get(3);
+		
+		//PropertyFillerSignedIntegerRandom:
+		//	"signed integer from" "(" items+=SINT+ ")";
+		public ParserRule getRule() { return rule; }
+
+		//"signed integer from" "(" items+=SINT+ ")"
+		public Group getGroup() { return cGroup; }
+
+		//"signed integer from"
+		public Keyword getSignedIntegerFromKeyword_0() { return cSignedIntegerFromKeyword_0; }
+
+		//"("
+		public Keyword getLeftParenthesisKeyword_1() { return cLeftParenthesisKeyword_1; }
+
+		//items+=SINT+
+		public Assignment getItemsAssignment_2() { return cItemsAssignment_2; }
+
+		//SINT
+		public RuleCall getItemsSINTParserRuleCall_2_0() { return cItemsSINTParserRuleCall_2_0; }
+
+		//")"
+		public Keyword getRightParenthesisKeyword_3() { return cRightParenthesisKeyword_3; }
+	}
+
+	public class PropertyFillerTextRandomElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "PropertyFillerTextRandom");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Keyword cTextFromKeyword_0 = (Keyword)cGroup.eContents().get(0);
+		private final Keyword cLeftParenthesisKeyword_1 = (Keyword)cGroup.eContents().get(1);
+		private final Assignment cItemsAssignment_2 = (Assignment)cGroup.eContents().get(2);
+		private final RuleCall cItemsSTRINGTerminalRuleCall_2_0 = (RuleCall)cItemsAssignment_2.eContents().get(0);
+		private final Keyword cRightParenthesisKeyword_3 = (Keyword)cGroup.eContents().get(3);
+		
+		//PropertyFillerTextRandom:
+		//	"text from" "(" items+=STRING+ ")";
+		public ParserRule getRule() { return rule; }
+
+		//"text from" "(" items+=STRING+ ")"
+		public Group getGroup() { return cGroup; }
+
+		//"text from"
+		public Keyword getTextFromKeyword_0() { return cTextFromKeyword_0; }
+
+		//"("
+		public Keyword getLeftParenthesisKeyword_1() { return cLeftParenthesisKeyword_1; }
+
+		//items+=STRING+
+		public Assignment getItemsAssignment_2() { return cItemsAssignment_2; }
+
+		//STRING
+		public RuleCall getItemsSTRINGTerminalRuleCall_2_0() { return cItemsSTRINGTerminalRuleCall_2_0; }
+
+		//")"
+		public Keyword getRightParenthesisKeyword_3() { return cRightParenthesisKeyword_3; }
+	}
+
+	public class PropertyFillerTextParagraphsElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "PropertyFillerTextParagraphs");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Action cPropertyFillerTextParagraphsAction_0 = (Action)cGroup.eContents().get(0);
+		private final Keyword cParagrapsKeyword_1 = (Keyword)cGroup.eContents().get(1);
+		private final Assignment cCountAssignment_2 = (Assignment)cGroup.eContents().get(2);
+		private final RuleCall cCountINTTerminalRuleCall_2_0 = (RuleCall)cCountAssignment_2.eContents().get(0);
+		
+		//PropertyFillerTextParagraphs:
+		//	{PropertyFillerTextParagraphs} "paragraps" count=INT?;
+		public ParserRule getRule() { return rule; }
+
+		//{PropertyFillerTextParagraphs} "paragraps" count=INT?
+		public Group getGroup() { return cGroup; }
+
+		//{PropertyFillerTextParagraphs}
+		public Action getPropertyFillerTextParagraphsAction_0() { return cPropertyFillerTextParagraphsAction_0; }
+
+		//"paragraps"
+		public Keyword getParagrapsKeyword_1() { return cParagrapsKeyword_1; }
+
+		//count=INT?
+		public Assignment getCountAssignment_2() { return cCountAssignment_2; }
+
+		//INT
+		public RuleCall getCountINTTerminalRuleCall_2_0() { return cCountINTTerminalRuleCall_2_0; }
+	}
+
+	public class PropertyFillerTextSentencesElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "PropertyFillerTextSentences");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Action cPropertyFillerTextSentencesAction_0 = (Action)cGroup.eContents().get(0);
+		private final Keyword cSentencesKeyword_1 = (Keyword)cGroup.eContents().get(1);
+		private final Assignment cCountAssignment_2 = (Assignment)cGroup.eContents().get(2);
+		private final RuleCall cCountINTTerminalRuleCall_2_0 = (RuleCall)cCountAssignment_2.eContents().get(0);
+		
+		//PropertyFillerTextSentences:
+		//	{PropertyFillerTextSentences} "sentences" count=INT?;
+		public ParserRule getRule() { return rule; }
+
+		//{PropertyFillerTextSentences} "sentences" count=INT?
+		public Group getGroup() { return cGroup; }
+
+		//{PropertyFillerTextSentences}
+		public Action getPropertyFillerTextSentencesAction_0() { return cPropertyFillerTextSentencesAction_0; }
+
+		//"sentences"
+		public Keyword getSentencesKeyword_1() { return cSentencesKeyword_1; }
+
+		//count=INT?
+		public Assignment getCountAssignment_2() { return cCountAssignment_2; }
+
+		//INT
+		public RuleCall getCountINTTerminalRuleCall_2_0() { return cCountINTTerminalRuleCall_2_0; }
+	}
+
+	public class PropertyFillerTextWordsElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "PropertyFillerTextWords");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Action cPropertyFillerTextWordsAction_0 = (Action)cGroup.eContents().get(0);
+		private final Keyword cWordsKeyword_1 = (Keyword)cGroup.eContents().get(1);
+		private final Assignment cCountAssignment_2 = (Assignment)cGroup.eContents().get(2);
+		private final RuleCall cCountINTTerminalRuleCall_2_0 = (RuleCall)cCountAssignment_2.eContents().get(0);
+		
+		//PropertyFillerTextWords:
+		//	{PropertyFillerTextWords} "words" count=INT?;
+		public ParserRule getRule() { return rule; }
+
+		//{PropertyFillerTextWords} "words" count=INT?
+		public Group getGroup() { return cGroup; }
+
+		//{PropertyFillerTextWords}
+		public Action getPropertyFillerTextWordsAction_0() { return cPropertyFillerTextWordsAction_0; }
+
+		//"words"
+		public Keyword getWordsKeyword_1() { return cWordsKeyword_1; }
+
+		//count=INT?
+		public Assignment getCountAssignment_2() { return cCountAssignment_2; }
+
+		//INT
+		public RuleCall getCountINTTerminalRuleCall_2_0() { return cCountINTTerminalRuleCall_2_0; }
+	}
+
+	public class PropertyFillerUnsignedDoubleRangeElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "PropertyFillerUnsignedDoubleRange");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Keyword cUnsignedDoubleInRangeKeyword_0 = (Keyword)cGroup.eContents().get(0);
+		private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
+		private final Alternatives cAlternatives_1_0 = (Alternatives)cGroup_1.eContents().get(0);
+		private final Assignment cBeginRangeAssignment_1_0_0 = (Assignment)cAlternatives_1_0.eContents().get(0);
+		private final RuleCall cBeginRangeUnsignedNumberParserRuleCall_1_0_0_0 = (RuleCall)cBeginRangeAssignment_1_0_0.eContents().get(0);
+		private final Assignment cBeginRangeRefAssignment_1_0_1 = (Assignment)cAlternatives_1_0.eContents().get(1);
+		private final CrossReference cBeginRangeRefLEntityAttributeCrossReference_1_0_1_0 = (CrossReference)cBeginRangeRefAssignment_1_0_1.eContents().get(0);
+		private final RuleCall cBeginRangeRefLEntityAttributeIDTerminalRuleCall_1_0_1_0_1 = (RuleCall)cBeginRangeRefLEntityAttributeCrossReference_1_0_1_0.eContents().get(1);
+		private final Keyword cUpToAndIncludingKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1);
+		private final Alternatives cAlternatives_1_2 = (Alternatives)cGroup_1.eContents().get(2);
+		private final Assignment cEndRangeAssignment_1_2_0 = (Assignment)cAlternatives_1_2.eContents().get(0);
+		private final RuleCall cEndRangeUnsignedNumberParserRuleCall_1_2_0_0 = (RuleCall)cEndRangeAssignment_1_2_0.eContents().get(0);
+		private final Assignment cEndRangeRefAssignment_1_2_1 = (Assignment)cAlternatives_1_2.eContents().get(1);
+		private final CrossReference cEndRangeRefLEntityAttributeCrossReference_1_2_1_0 = (CrossReference)cEndRangeRefAssignment_1_2_1.eContents().get(0);
+		private final RuleCall cEndRangeRefLEntityAttributeIDTerminalRuleCall_1_2_1_0_1 = (RuleCall)cEndRangeRefLEntityAttributeCrossReference_1_2_1_0.eContents().get(1);
+		private final Keyword cWithKeyword_2 = (Keyword)cGroup.eContents().get(2);
+		private final Assignment cDecimalsAssignment_3 = (Assignment)cGroup.eContents().get(3);
+		private final RuleCall cDecimalsINTTerminalRuleCall_3_0 = (RuleCall)cDecimalsAssignment_3.eContents().get(0);
+		private final Keyword cDecimalsKeyword_4 = (Keyword)cGroup.eContents().get(4);
+		private final Group cGroup_5 = (Group)cGroup.eContents().get(5);
+		private final Keyword cRoundToKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0);
+		private final Assignment cRoundedAssignment_5_1 = (Assignment)cGroup_5.eContents().get(1);
+		private final RuleCall cRoundedUnsignedNumberParserRuleCall_5_1_0 = (RuleCall)cRoundedAssignment_5_1.eContents().get(0);
+		
+		//PropertyFillerUnsignedDoubleRange:
+		//	"unsigned double in range" ((beginRange=UnsignedNumber | beginRangeRef=[entity::LEntityAttribute])?
+		//	"up to and including" (endRange=UnsignedNumber | endRangeRef=[entity::LEntityAttribute]))? "with" decimals=INT
+		//	"decimals" ("round to" rounded=UnsignedNumber)?;
+		public ParserRule getRule() { return rule; }
+
+		//"unsigned double in range" ((beginRange=UnsignedNumber | beginRangeRef=[entity::LEntityAttribute])?
+		//"up to and including" (endRange=UnsignedNumber | endRangeRef=[entity::LEntityAttribute]))? "with" decimals=INT
+		//"decimals" ("round to" rounded=UnsignedNumber)?
+		public Group getGroup() { return cGroup; }
+
+		//"unsigned double in range"
+		public Keyword getUnsignedDoubleInRangeKeyword_0() { return cUnsignedDoubleInRangeKeyword_0; }
+
+		//((beginRange=UnsignedNumber | beginRangeRef=[entity::LEntityAttribute])? "up to and including" (endRange=UnsignedNumber
+		//| endRangeRef=[entity::LEntityAttribute]))?
+		public Group getGroup_1() { return cGroup_1; }
+
+		//(beginRange=UnsignedNumber | beginRangeRef=[entity::LEntityAttribute])?
+		public Alternatives getAlternatives_1_0() { return cAlternatives_1_0; }
+
+		//beginRange=UnsignedNumber
+		public Assignment getBeginRangeAssignment_1_0_0() { return cBeginRangeAssignment_1_0_0; }
+
+		//UnsignedNumber
+		public RuleCall getBeginRangeUnsignedNumberParserRuleCall_1_0_0_0() { return cBeginRangeUnsignedNumberParserRuleCall_1_0_0_0; }
+
+		//beginRangeRef=[entity::LEntityAttribute]
+		public Assignment getBeginRangeRefAssignment_1_0_1() { return cBeginRangeRefAssignment_1_0_1; }
+
+		//[entity::LEntityAttribute]
+		public CrossReference getBeginRangeRefLEntityAttributeCrossReference_1_0_1_0() { return cBeginRangeRefLEntityAttributeCrossReference_1_0_1_0; }
+
+		//ID
+		public RuleCall getBeginRangeRefLEntityAttributeIDTerminalRuleCall_1_0_1_0_1() { return cBeginRangeRefLEntityAttributeIDTerminalRuleCall_1_0_1_0_1; }
+
+		//"up to and including"
+		public Keyword getUpToAndIncludingKeyword_1_1() { return cUpToAndIncludingKeyword_1_1; }
+
+		//endRange=UnsignedNumber | endRangeRef=[entity::LEntityAttribute]
+		public Alternatives getAlternatives_1_2() { return cAlternatives_1_2; }
+
+		//endRange=UnsignedNumber
+		public Assignment getEndRangeAssignment_1_2_0() { return cEndRangeAssignment_1_2_0; }
+
+		//UnsignedNumber
+		public RuleCall getEndRangeUnsignedNumberParserRuleCall_1_2_0_0() { return cEndRangeUnsignedNumberParserRuleCall_1_2_0_0; }
+
+		//endRangeRef=[entity::LEntityAttribute]
+		public Assignment getEndRangeRefAssignment_1_2_1() { return cEndRangeRefAssignment_1_2_1; }
+
+		//[entity::LEntityAttribute]
+		public CrossReference getEndRangeRefLEntityAttributeCrossReference_1_2_1_0() { return cEndRangeRefLEntityAttributeCrossReference_1_2_1_0; }
+
+		//ID
+		public RuleCall getEndRangeRefLEntityAttributeIDTerminalRuleCall_1_2_1_0_1() { return cEndRangeRefLEntityAttributeIDTerminalRuleCall_1_2_1_0_1; }
+
+		//"with"
+		public Keyword getWithKeyword_2() { return cWithKeyword_2; }
+
+		//decimals=INT
+		public Assignment getDecimalsAssignment_3() { return cDecimalsAssignment_3; }
+
+		//INT
+		public RuleCall getDecimalsINTTerminalRuleCall_3_0() { return cDecimalsINTTerminalRuleCall_3_0; }
+
+		//"decimals"
+		public Keyword getDecimalsKeyword_4() { return cDecimalsKeyword_4; }
+
+		//("round to" rounded=UnsignedNumber)?
+		public Group getGroup_5() { return cGroup_5; }
+
+		//"round to"
+		public Keyword getRoundToKeyword_5_0() { return cRoundToKeyword_5_0; }
+
+		//rounded=UnsignedNumber
+		public Assignment getRoundedAssignment_5_1() { return cRoundedAssignment_5_1; }
+
+		//UnsignedNumber
+		public RuleCall getRoundedUnsignedNumberParserRuleCall_5_1_0() { return cRoundedUnsignedNumberParserRuleCall_5_1_0; }
+	}
+
+	public class PropertyFillerUnsignedDoubleRandomElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "PropertyFillerUnsignedDoubleRandom");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Keyword cUnsignedDoubleFromKeyword_0 = (Keyword)cGroup.eContents().get(0);
+		private final Keyword cLeftParenthesisKeyword_1 = (Keyword)cGroup.eContents().get(1);
+		private final Assignment cItemsAssignment_2 = (Assignment)cGroup.eContents().get(2);
+		private final RuleCall cItemsUnsignedNumberParserRuleCall_2_0 = (RuleCall)cItemsAssignment_2.eContents().get(0);
+		private final Keyword cRightParenthesisKeyword_3 = (Keyword)cGroup.eContents().get(3);
+		
+		//PropertyFillerUnsignedDoubleRandom:
+		//	"unsigned double from" "(" items+=UnsignedNumber+ ")";
+		public ParserRule getRule() { return rule; }
+
+		//"unsigned double from" "(" items+=UnsignedNumber+ ")"
+		public Group getGroup() { return cGroup; }
+
+		//"unsigned double from"
+		public Keyword getUnsignedDoubleFromKeyword_0() { return cUnsignedDoubleFromKeyword_0; }
+
+		//"("
+		public Keyword getLeftParenthesisKeyword_1() { return cLeftParenthesisKeyword_1; }
+
+		//items+=UnsignedNumber+
+		public Assignment getItemsAssignment_2() { return cItemsAssignment_2; }
+
+		//UnsignedNumber
+		public RuleCall getItemsUnsignedNumberParserRuleCall_2_0() { return cItemsUnsignedNumberParserRuleCall_2_0; }
+
+		//")"
+		public Keyword getRightParenthesisKeyword_3() { return cRightParenthesisKeyword_3; }
+	}
+
+	public class PropertyFillerUnsignedIntegerRangeElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "PropertyFillerUnsignedIntegerRange");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Action cPropertyFillerUnsignedIntegerRangeAction_0 = (Action)cGroup.eContents().get(0);
+		private final Keyword cUnsignedIntegerInRangeKeyword_1 = (Keyword)cGroup.eContents().get(1);
+		private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
+		private final Alternatives cAlternatives_2_0 = (Alternatives)cGroup_2.eContents().get(0);
+		private final Assignment cBeginRangeAssignment_2_0_0 = (Assignment)cAlternatives_2_0.eContents().get(0);
+		private final RuleCall cBeginRangeINTTerminalRuleCall_2_0_0_0 = (RuleCall)cBeginRangeAssignment_2_0_0.eContents().get(0);
+		private final Assignment cBeginRangeRefAssignment_2_0_1 = (Assignment)cAlternatives_2_0.eContents().get(1);
+		private final CrossReference cBeginRangeRefLEntityAttributeCrossReference_2_0_1_0 = (CrossReference)cBeginRangeRefAssignment_2_0_1.eContents().get(0);
+		private final RuleCall cBeginRangeRefLEntityAttributeIDTerminalRuleCall_2_0_1_0_1 = (RuleCall)cBeginRangeRefLEntityAttributeCrossReference_2_0_1_0.eContents().get(1);
+		private final Keyword cUpToAndIncludingKeyword_2_1 = (Keyword)cGroup_2.eContents().get(1);
+		private final Alternatives cAlternatives_2_2 = (Alternatives)cGroup_2.eContents().get(2);
+		private final Assignment cEndRangeAssignment_2_2_0 = (Assignment)cAlternatives_2_2.eContents().get(0);
+		private final RuleCall cEndRangeINTTerminalRuleCall_2_2_0_0 = (RuleCall)cEndRangeAssignment_2_2_0.eContents().get(0);
+		private final Assignment cEndRangeRefAssignment_2_2_1 = (Assignment)cAlternatives_2_2.eContents().get(1);
+		private final CrossReference cEndRangeRefLEntityAttributeCrossReference_2_2_1_0 = (CrossReference)cEndRangeRefAssignment_2_2_1.eContents().get(0);
+		private final RuleCall cEndRangeRefLEntityAttributeIDTerminalRuleCall_2_2_1_0_1 = (RuleCall)cEndRangeRefLEntityAttributeCrossReference_2_2_1_0.eContents().get(1);
+		private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
+		private final Keyword cRoundToKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
+		private final Assignment cRoundedAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
+		private final RuleCall cRoundedINTTerminalRuleCall_3_1_0 = (RuleCall)cRoundedAssignment_3_1.eContents().get(0);
+		
+		//PropertyFillerUnsignedIntegerRange:
+		//	{PropertyFillerUnsignedIntegerRange} "unsigned integer in range" ((beginRange=INT |
+		//	beginRangeRef=[entity::LEntityAttribute])? "up to and including" (endRange=INT |
+		//	endRangeRef=[entity::LEntityAttribute]))? ("round to" rounded=INT)?;
+		public ParserRule getRule() { return rule; }
+
+		//{PropertyFillerUnsignedIntegerRange} "unsigned integer in range" ((beginRange=INT |
+		//beginRangeRef=[entity::LEntityAttribute])? "up to and including" (endRange=INT |
+		//endRangeRef=[entity::LEntityAttribute]))? ("round to" rounded=INT)?
+		public Group getGroup() { return cGroup; }
+
+		//{PropertyFillerUnsignedIntegerRange}
+		public Action getPropertyFillerUnsignedIntegerRangeAction_0() { return cPropertyFillerUnsignedIntegerRangeAction_0; }
+
+		//"unsigned integer in range"
+		public Keyword getUnsignedIntegerInRangeKeyword_1() { return cUnsignedIntegerInRangeKeyword_1; }
+
+		//((beginRange=INT | beginRangeRef=[entity::LEntityAttribute])? "up to and including" (endRange=INT |
+		//endRangeRef=[entity::LEntityAttribute]))?
+		public Group getGroup_2() { return cGroup_2; }
+
+		//(beginRange=INT | beginRangeRef=[entity::LEntityAttribute])?
+		public Alternatives getAlternatives_2_0() { return cAlternatives_2_0; }
+
+		//beginRange=INT
+		public Assignment getBeginRangeAssignment_2_0_0() { return cBeginRangeAssignment_2_0_0; }
+
+		//INT
+		public RuleCall getBeginRangeINTTerminalRuleCall_2_0_0_0() { return cBeginRangeINTTerminalRuleCall_2_0_0_0; }
+
+		//beginRangeRef=[entity::LEntityAttribute]
+		public Assignment getBeginRangeRefAssignment_2_0_1() { return cBeginRangeRefAssignment_2_0_1; }
+
+		//[entity::LEntityAttribute]
+		public CrossReference getBeginRangeRefLEntityAttributeCrossReference_2_0_1_0() { return cBeginRangeRefLEntityAttributeCrossReference_2_0_1_0; }
+
+		//ID
+		public RuleCall getBeginRangeRefLEntityAttributeIDTerminalRuleCall_2_0_1_0_1() { return cBeginRangeRefLEntityAttributeIDTerminalRuleCall_2_0_1_0_1; }
+
+		//"up to and including"
+		public Keyword getUpToAndIncludingKeyword_2_1() { return cUpToAndIncludingKeyword_2_1; }
+
+		//endRange=INT | endRangeRef=[entity::LEntityAttribute]
+		public Alternatives getAlternatives_2_2() { return cAlternatives_2_2; }
+
+		//endRange=INT
+		public Assignment getEndRangeAssignment_2_2_0() { return cEndRangeAssignment_2_2_0; }
+
+		//INT
+		public RuleCall getEndRangeINTTerminalRuleCall_2_2_0_0() { return cEndRangeINTTerminalRuleCall_2_2_0_0; }
+
+		//endRangeRef=[entity::LEntityAttribute]
+		public Assignment getEndRangeRefAssignment_2_2_1() { return cEndRangeRefAssignment_2_2_1; }
+
+		//[entity::LEntityAttribute]
+		public CrossReference getEndRangeRefLEntityAttributeCrossReference_2_2_1_0() { return cEndRangeRefLEntityAttributeCrossReference_2_2_1_0; }
+
+		//ID
+		public RuleCall getEndRangeRefLEntityAttributeIDTerminalRuleCall_2_2_1_0_1() { return cEndRangeRefLEntityAttributeIDTerminalRuleCall_2_2_1_0_1; }
+
+		//("round to" rounded=INT)?
+		public Group getGroup_3() { return cGroup_3; }
+
+		//"round to"
+		public Keyword getRoundToKeyword_3_0() { return cRoundToKeyword_3_0; }
+
+		//rounded=INT
+		public Assignment getRoundedAssignment_3_1() { return cRoundedAssignment_3_1; }
+
+		//INT
+		public RuleCall getRoundedINTTerminalRuleCall_3_1_0() { return cRoundedINTTerminalRuleCall_3_1_0; }
+	}
+
+	public class PropertyFillerUnsignedIntegerRandomElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "PropertyFillerUnsignedIntegerRandom");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Keyword cUnsignedIntegerFromKeyword_0 = (Keyword)cGroup.eContents().get(0);
+		private final Keyword cLeftParenthesisKeyword_1 = (Keyword)cGroup.eContents().get(1);
+		private final Assignment cItemsAssignment_2 = (Assignment)cGroup.eContents().get(2);
+		private final RuleCall cItemsINTTerminalRuleCall_2_0 = (RuleCall)cItemsAssignment_2.eContents().get(0);
+		private final Keyword cRightParenthesisKeyword_3 = (Keyword)cGroup.eContents().get(3);
+		
+		//PropertyFillerUnsignedIntegerRandom:
+		//	"unsigned integer from" "(" items+=INT+ ")";
+		public ParserRule getRule() { return rule; }
+
+		//"unsigned integer from" "(" items+=INT+ ")"
+		public Group getGroup() { return cGroup; }
+
+		//"unsigned integer from"
+		public Keyword getUnsignedIntegerFromKeyword_0() { return cUnsignedIntegerFromKeyword_0; }
+
+		//"("
+		public Keyword getLeftParenthesisKeyword_1() { return cLeftParenthesisKeyword_1; }
+
+		//items+=INT+
+		public Assignment getItemsAssignment_2() { return cItemsAssignment_2; }
+
+		//INT
+		public RuleCall getItemsINTTerminalRuleCall_2_0() { return cItemsINTTerminalRuleCall_2_0; }
+
+		//")"
+		public Keyword getRightParenthesisKeyword_3() { return cRightParenthesisKeyword_3; }
+	}
+
+	public class EntityMockDataTypeElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "EntityMockDataType");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Keyword cDatatypeKeyword_0 = (Keyword)cGroup.eContents().get(0);
+		private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
+		private final RuleCall cNameQualifiedNameParserRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
+		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
+		private final Keyword cRightCurlyBracketKeyword_3 = (Keyword)cGroup.eContents().get(3);
+		
+		//EntityMockDataType:
+		//	"datatype" name=QualifiedName "{" "}";
+		public ParserRule getRule() { return rule; }
+
+		//"datatype" name=QualifiedName "{" "}"
+		public Group getGroup() { return cGroup; }
+
+		//"datatype"
+		public Keyword getDatatypeKeyword_0() { return cDatatypeKeyword_0; }
+
+		//name=QualifiedName
+		public Assignment getNameAssignment_1() { return cNameAssignment_1; }
+
+		//QualifiedName
+		public RuleCall getNameQualifiedNameParserRuleCall_1_0() { return cNameQualifiedNameParserRuleCall_1_0; }
+
+		//"{"
+		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
+
+		//"}"
+		public Keyword getRightCurlyBracketKeyword_3() { return cRightCurlyBracketKeyword_3; }
+	}
+
+	public class EntityMockEntitiesElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "EntityMockEntities");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Action cEntityMockEntitiesAction_0 = (Action)cGroup.eContents().get(0);
+		private final Keyword cMockEntitiesKeyword_1 = (Keyword)cGroup.eContents().get(1);
+		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
+		private final Assignment cEntitiesAssignment_3 = (Assignment)cGroup.eContents().get(3);
+		private final RuleCall cEntitiesEntityMockEntityParserRuleCall_3_0 = (RuleCall)cEntitiesAssignment_3.eContents().get(0);
+		private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
+		
+		//EntityMockEntities:
+		//	{EntityMockEntities} "mock entities" "{" entities+=EntityMockEntity* "}";
+		public ParserRule getRule() { return rule; }
+
+		//{EntityMockEntities} "mock entities" "{" entities+=EntityMockEntity* "}"
+		public Group getGroup() { return cGroup; }
+
+		//{EntityMockEntities}
+		public Action getEntityMockEntitiesAction_0() { return cEntityMockEntitiesAction_0; }
+
+		//"mock entities"
+		public Keyword getMockEntitiesKeyword_1() { return cMockEntitiesKeyword_1; }
+
+		//"{"
+		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
+
+		//entities+=EntityMockEntity*
+		public Assignment getEntitiesAssignment_3() { return cEntitiesAssignment_3; }
+
+		//EntityMockEntity
+		public RuleCall getEntitiesEntityMockEntityParserRuleCall_3_0() { return cEntitiesEntityMockEntityParserRuleCall_3_0; }
+
+		//"}"
+		public Keyword getRightCurlyBracketKeyword_4() { return cRightCurlyBracketKeyword_4; }
+	}
+
+	public class EntityMockEntityElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "EntityMockEntity");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Keyword cMockingKeyword_0 = (Keyword)cGroup.eContents().get(0);
+		private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
+		private final RuleCall cNameQualifiedNameParserRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
+		private final Keyword cForEntityKeyword_2 = (Keyword)cGroup.eContents().get(2);
+		private final Assignment cEntityRefAssignment_3 = (Assignment)cGroup.eContents().get(3);
+		private final CrossReference cEntityRefLEntityCrossReference_3_0 = (CrossReference)cEntityRefAssignment_3.eContents().get(0);
+		private final RuleCall cEntityRefLEntityIDTerminalRuleCall_3_0_1 = (RuleCall)cEntityRefLEntityCrossReference_3_0.eContents().get(1);
+		private final Alternatives cAlternatives_4 = (Alternatives)cGroup.eContents().get(4);
+		private final Group cGroup_4_0 = (Group)cAlternatives_4.eContents().get(0);
+		private final Keyword cRowsKeyword_4_0_0 = (Keyword)cGroup_4_0.eContents().get(0);
+		private final Assignment cMinRowsAssignment_4_0_1 = (Assignment)cGroup_4_0.eContents().get(1);
+		private final RuleCall cMinRowsINTTerminalRuleCall_4_0_1_0 = (RuleCall)cMinRowsAssignment_4_0_1.eContents().get(0);
+		private final Keyword cToKeyword_4_0_2 = (Keyword)cGroup_4_0.eContents().get(2);
+		private final Assignment cMaxRowsAssignment_4_0_3 = (Assignment)cGroup_4_0.eContents().get(3);
+		private final RuleCall cMaxRowsINTTerminalRuleCall_4_0_3_0 = (RuleCall)cMaxRowsAssignment_4_0_3.eContents().get(0);
+		private final Keyword cLeftCurlyBracketKeyword_4_0_4 = (Keyword)cGroup_4_0.eContents().get(4);
+		private final Assignment cTemporariesAssignment_4_0_5 = (Assignment)cGroup_4_0.eContents().get(5);
+		private final RuleCall cTemporariesEntityMockTemporaryParserRuleCall_4_0_5_0 = (RuleCall)cTemporariesAssignment_4_0_5.eContents().get(0);
+		private final Assignment cAttributesAssignment_4_0_6 = (Assignment)cGroup_4_0.eContents().get(6);
+		private final RuleCall cAttributesIEntityMockAttributeParserRuleCall_4_0_6_0 = (RuleCall)cAttributesAssignment_4_0_6.eContents().get(0);
+		private final Assignment cCalculationsAssignment_4_0_7 = (Assignment)cGroup_4_0.eContents().get(7);
+		private final RuleCall cCalculationsEntityMockEntityFunctionParserRuleCall_4_0_7_0 = (RuleCall)cCalculationsAssignment_4_0_7.eContents().get(0);
+		private final Keyword cRightCurlyBracketKeyword_4_0_8 = (Keyword)cGroup_4_0.eContents().get(8);
+		private final Group cGroup_4_1 = (Group)cAlternatives_4.eContents().get(1);
+		private final Keyword cByResourceKeyword_4_1_0 = (Keyword)cGroup_4_1.eContents().get(0);
+		private final Assignment cByResourceAssignment_4_1_1 = (Assignment)cGroup_4_1.eContents().get(1);
+		private final CrossReference cByResourceEntityMockResourceCrossReference_4_1_1_0 = (CrossReference)cByResourceAssignment_4_1_1.eContents().get(0);
+		private final RuleCall cByResourceEntityMockResourceIDTerminalRuleCall_4_1_1_0_1 = (RuleCall)cByResourceEntityMockResourceCrossReference_4_1_1_0.eContents().get(1);
+		private final Keyword cLeftCurlyBracketKeyword_4_1_2 = (Keyword)cGroup_4_1.eContents().get(2);
+		private final Assignment cByResourceAttributesAssignment_4_1_3 = (Assignment)cGroup_4_1.eContents().get(3);
+		private final RuleCall cByResourceAttributesEntityMockByResourceAttributeParserRuleCall_4_1_3_0 = (RuleCall)cByResourceAttributesAssignment_4_1_3.eContents().get(0);
+		private final Assignment cCreateBlobMappingAssignment_4_1_4 = (Assignment)cGroup_4_1.eContents().get(4);
+		private final Keyword cCreateBlobMappingCreateBlobMappingKeyword_4_1_4_0 = (Keyword)cCreateBlobMappingAssignment_4_1_4.eContents().get(0);
+		private final Keyword cRightCurlyBracketKeyword_4_1_5 = (Keyword)cGroup_4_1.eContents().get(5);
+		private final Group cGroup_4_2 = (Group)cAlternatives_4.eContents().get(2);
+		private final Keyword cIterateKeyword_4_2_0 = (Keyword)cGroup_4_2.eContents().get(0);
+		private final Assignment cIteratorAssignment_4_2_1 = (Assignment)cGroup_4_2.eContents().get(1);
+		private final CrossReference cIteratorLEntityAttributeCrossReference_4_2_1_0 = (CrossReference)cIteratorAssignment_4_2_1.eContents().get(0);
+		private final RuleCall cIteratorLEntityAttributeIDTerminalRuleCall_4_2_1_0_1 = (RuleCall)cIteratorLEntityAttributeCrossReference_4_2_1_0.eContents().get(1);
+		private final Keyword cWithKeyword_4_2_2 = (Keyword)cGroup_4_2.eContents().get(2);
+		private final Assignment cIterateAssignment_4_2_3 = (Assignment)cGroup_4_2.eContents().get(3);
+		private final RuleCall cIterateIIterateParserRuleCall_4_2_3_0 = (RuleCall)cIterateAssignment_4_2_3.eContents().get(0);
+		private final Keyword cLeftCurlyBracketKeyword_4_2_4 = (Keyword)cGroup_4_2.eContents().get(4);
+		private final Assignment cTemporariesAssignment_4_2_5 = (Assignment)cGroup_4_2.eContents().get(5);
+		private final RuleCall cTemporariesEntityMockTemporaryParserRuleCall_4_2_5_0 = (RuleCall)cTemporariesAssignment_4_2_5.eContents().get(0);
+		private final Assignment cAttributesAssignment_4_2_6 = (Assignment)cGroup_4_2.eContents().get(6);
+		private final RuleCall cAttributesIEntityMockAttributeParserRuleCall_4_2_6_0 = (RuleCall)cAttributesAssignment_4_2_6.eContents().get(0);
+		private final Assignment cCalculationsAssignment_4_2_7 = (Assignment)cGroup_4_2.eContents().get(7);
+		private final RuleCall cCalculationsEntityMockEntityFunctionParserRuleCall_4_2_7_0 = (RuleCall)cCalculationsAssignment_4_2_7.eContents().get(0);
+		private final Keyword cRightCurlyBracketKeyword_4_2_8 = (Keyword)cGroup_4_2.eContents().get(8);
+		
+		//EntityMockEntity:
+		//	"mocking" name=QualifiedName "for entity" entityRef=[entity::LEntity] ("rows" minRows=INT "to" maxRows=INT "{"
+		//	temporaries+=EntityMockTemporary* attributes+=IEntityMockAttribute* calculations+=EntityMockEntityFunction* "}" |
+		//	"by resource" byResource=[EntityMockResource] "{" byResourceAttributes+=EntityMockByResourceAttribute*
+		//	createBlobMapping?="createBlobMapping"? "}" | "iterate" iterator=[entity::LEntityAttribute] "with" iterate=IIterate
+		//	"{" temporaries+=EntityMockTemporary* attributes+=IEntityMockAttribute* calculations+=EntityMockEntityFunction* "}");
+		public ParserRule getRule() { return rule; }
+
+		//"mocking" name=QualifiedName "for entity" entityRef=[entity::LEntity] ("rows" minRows=INT "to" maxRows=INT "{"
+		//temporaries+=EntityMockTemporary* attributes+=IEntityMockAttribute* calculations+=EntityMockEntityFunction* "}" |
+		//"by resource" byResource=[EntityMockResource] "{" byResourceAttributes+=EntityMockByResourceAttribute*
+		//createBlobMapping?="createBlobMapping"? "}" | "iterate" iterator=[entity::LEntityAttribute] "with" iterate=IIterate
+		//"{" temporaries+=EntityMockTemporary* attributes+=IEntityMockAttribute* calculations+=EntityMockEntityFunction* "}")
+		public Group getGroup() { return cGroup; }
+
+		//"mocking"
+		public Keyword getMockingKeyword_0() { return cMockingKeyword_0; }
+
+		//name=QualifiedName
+		public Assignment getNameAssignment_1() { return cNameAssignment_1; }
+
+		//QualifiedName
+		public RuleCall getNameQualifiedNameParserRuleCall_1_0() { return cNameQualifiedNameParserRuleCall_1_0; }
+
+		//"for entity"
+		public Keyword getForEntityKeyword_2() { return cForEntityKeyword_2; }
+
+		//entityRef=[entity::LEntity]
+		public Assignment getEntityRefAssignment_3() { return cEntityRefAssignment_3; }
+
+		//[entity::LEntity]
+		public CrossReference getEntityRefLEntityCrossReference_3_0() { return cEntityRefLEntityCrossReference_3_0; }
+
+		//ID
+		public RuleCall getEntityRefLEntityIDTerminalRuleCall_3_0_1() { return cEntityRefLEntityIDTerminalRuleCall_3_0_1; }
+
+		//"rows" minRows=INT "to" maxRows=INT "{" temporaries+=EntityMockTemporary* attributes+=IEntityMockAttribute*
+		//calculations+=EntityMockEntityFunction* "}" | "by resource" byResource=[EntityMockResource] "{"
+		//byResourceAttributes+=EntityMockByResourceAttribute* createBlobMapping?="createBlobMapping"? "}" | "iterate"
+		//iterator=[entity::LEntityAttribute] "with" iterate=IIterate "{" temporaries+=EntityMockTemporary*
+		//attributes+=IEntityMockAttribute* calculations+=EntityMockEntityFunction* "}"
+		public Alternatives getAlternatives_4() { return cAlternatives_4; }
+
+		//"rows" minRows=INT "to" maxRows=INT "{" temporaries+=EntityMockTemporary* attributes+=IEntityMockAttribute*
+		//calculations+=EntityMockEntityFunction* "}"
+		public Group getGroup_4_0() { return cGroup_4_0; }
+
+		//"rows"
+		public Keyword getRowsKeyword_4_0_0() { return cRowsKeyword_4_0_0; }
+
+		//minRows=INT
+		public Assignment getMinRowsAssignment_4_0_1() { return cMinRowsAssignment_4_0_1; }
+
+		//INT
+		public RuleCall getMinRowsINTTerminalRuleCall_4_0_1_0() { return cMinRowsINTTerminalRuleCall_4_0_1_0; }
+
+		//"to"
+		public Keyword getToKeyword_4_0_2() { return cToKeyword_4_0_2; }
+
+		//maxRows=INT
+		public Assignment getMaxRowsAssignment_4_0_3() { return cMaxRowsAssignment_4_0_3; }
+
+		//INT
+		public RuleCall getMaxRowsINTTerminalRuleCall_4_0_3_0() { return cMaxRowsINTTerminalRuleCall_4_0_3_0; }
+
+		//"{"
+		public Keyword getLeftCurlyBracketKeyword_4_0_4() { return cLeftCurlyBracketKeyword_4_0_4; }
+
+		//temporaries+=EntityMockTemporary*
+		public Assignment getTemporariesAssignment_4_0_5() { return cTemporariesAssignment_4_0_5; }
+
+		//EntityMockTemporary
+		public RuleCall getTemporariesEntityMockTemporaryParserRuleCall_4_0_5_0() { return cTemporariesEntityMockTemporaryParserRuleCall_4_0_5_0; }
+
+		//attributes+=IEntityMockAttribute*
+		public Assignment getAttributesAssignment_4_0_6() { return cAttributesAssignment_4_0_6; }
+
+		//IEntityMockAttribute
+		public RuleCall getAttributesIEntityMockAttributeParserRuleCall_4_0_6_0() { return cAttributesIEntityMockAttributeParserRuleCall_4_0_6_0; }
+
+		//calculations+=EntityMockEntityFunction*
+		public Assignment getCalculationsAssignment_4_0_7() { return cCalculationsAssignment_4_0_7; }
+
+		//EntityMockEntityFunction
+		public RuleCall getCalculationsEntityMockEntityFunctionParserRuleCall_4_0_7_0() { return cCalculationsEntityMockEntityFunctionParserRuleCall_4_0_7_0; }
+
+		//"}"
+		public Keyword getRightCurlyBracketKeyword_4_0_8() { return cRightCurlyBracketKeyword_4_0_8; }
+
+		//"by resource" byResource=[EntityMockResource] "{" byResourceAttributes+=EntityMockByResourceAttribute*
+		//createBlobMapping?="createBlobMapping"? "}"
+		public Group getGroup_4_1() { return cGroup_4_1; }
+
+		//"by resource"
+		public Keyword getByResourceKeyword_4_1_0() { return cByResourceKeyword_4_1_0; }
+
+		//byResource=[EntityMockResource]
+		public Assignment getByResourceAssignment_4_1_1() { return cByResourceAssignment_4_1_1; }
+
+		//[EntityMockResource]
+		public CrossReference getByResourceEntityMockResourceCrossReference_4_1_1_0() { return cByResourceEntityMockResourceCrossReference_4_1_1_0; }
+
+		//ID
+		public RuleCall getByResourceEntityMockResourceIDTerminalRuleCall_4_1_1_0_1() { return cByResourceEntityMockResourceIDTerminalRuleCall_4_1_1_0_1; }
+
+		//"{"
+		public Keyword getLeftCurlyBracketKeyword_4_1_2() { return cLeftCurlyBracketKeyword_4_1_2; }
+
+		//byResourceAttributes+=EntityMockByResourceAttribute*
+		public Assignment getByResourceAttributesAssignment_4_1_3() { return cByResourceAttributesAssignment_4_1_3; }
+
+		//EntityMockByResourceAttribute
+		public RuleCall getByResourceAttributesEntityMockByResourceAttributeParserRuleCall_4_1_3_0() { return cByResourceAttributesEntityMockByResourceAttributeParserRuleCall_4_1_3_0; }
+
+		//createBlobMapping?="createBlobMapping"?
+		public Assignment getCreateBlobMappingAssignment_4_1_4() { return cCreateBlobMappingAssignment_4_1_4; }
+
+		//"createBlobMapping"
+		public Keyword getCreateBlobMappingCreateBlobMappingKeyword_4_1_4_0() { return cCreateBlobMappingCreateBlobMappingKeyword_4_1_4_0; }
+
+		//"}"
+		public Keyword getRightCurlyBracketKeyword_4_1_5() { return cRightCurlyBracketKeyword_4_1_5; }
+
+		//"iterate" iterator=[entity::LEntityAttribute] "with" iterate=IIterate "{" temporaries+=EntityMockTemporary*
+		//attributes+=IEntityMockAttribute* calculations+=EntityMockEntityFunction* "}"
+		public Group getGroup_4_2() { return cGroup_4_2; }
+
+		//"iterate"
+		public Keyword getIterateKeyword_4_2_0() { return cIterateKeyword_4_2_0; }
+
+		//iterator=[entity::LEntityAttribute]
+		public Assignment getIteratorAssignment_4_2_1() { return cIteratorAssignment_4_2_1; }
+
+		//[entity::LEntityAttribute]
+		public CrossReference getIteratorLEntityAttributeCrossReference_4_2_1_0() { return cIteratorLEntityAttributeCrossReference_4_2_1_0; }
+
+		//ID
+		public RuleCall getIteratorLEntityAttributeIDTerminalRuleCall_4_2_1_0_1() { return cIteratorLEntityAttributeIDTerminalRuleCall_4_2_1_0_1; }
+
+		//"with"
+		public Keyword getWithKeyword_4_2_2() { return cWithKeyword_4_2_2; }
+
+		//iterate=IIterate
+		public Assignment getIterateAssignment_4_2_3() { return cIterateAssignment_4_2_3; }
+
+		//IIterate
+		public RuleCall getIterateIIterateParserRuleCall_4_2_3_0() { return cIterateIIterateParserRuleCall_4_2_3_0; }
+
+		//"{"
+		public Keyword getLeftCurlyBracketKeyword_4_2_4() { return cLeftCurlyBracketKeyword_4_2_4; }
+
+		//temporaries+=EntityMockTemporary*
+		public Assignment getTemporariesAssignment_4_2_5() { return cTemporariesAssignment_4_2_5; }
+
+		//EntityMockTemporary
+		public RuleCall getTemporariesEntityMockTemporaryParserRuleCall_4_2_5_0() { return cTemporariesEntityMockTemporaryParserRuleCall_4_2_5_0; }
+
+		//attributes+=IEntityMockAttribute*
+		public Assignment getAttributesAssignment_4_2_6() { return cAttributesAssignment_4_2_6; }
+
+		//IEntityMockAttribute
+		public RuleCall getAttributesIEntityMockAttributeParserRuleCall_4_2_6_0() { return cAttributesIEntityMockAttributeParserRuleCall_4_2_6_0; }
+
+		//calculations+=EntityMockEntityFunction*
+		public Assignment getCalculationsAssignment_4_2_7() { return cCalculationsAssignment_4_2_7; }
+
+		//EntityMockEntityFunction
+		public RuleCall getCalculationsEntityMockEntityFunctionParserRuleCall_4_2_7_0() { return cCalculationsEntityMockEntityFunctionParserRuleCall_4_2_7_0; }
+
+		//"}"
+		public Keyword getRightCurlyBracketKeyword_4_2_8() { return cRightCurlyBracketKeyword_4_2_8; }
+	}
+
+	public class IIterateElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "IIterate");
+		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+		private final RuleCall cIntegerIterateParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
+		private final RuleCall cDateIterateParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
+		
+		//IIterate:
+		//	IntegerIterate | DateIterate;
+		public ParserRule getRule() { return rule; }
+
+		//IntegerIterate | DateIterate
+		public Alternatives getAlternatives() { return cAlternatives; }
+
+		//IntegerIterate
+		public RuleCall getIntegerIterateParserRuleCall_0() { return cIntegerIterateParserRuleCall_0; }
+
+		//DateIterate
+		public RuleCall getDateIterateParserRuleCall_1() { return cDateIterateParserRuleCall_1; }
+	}
+
+	public class IntegerIterateElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "IntegerIterate");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Keyword cIntegerFromKeyword_0 = (Keyword)cGroup.eContents().get(0);
+		private final Assignment cFromAssignment_1 = (Assignment)cGroup.eContents().get(1);
+		private final RuleCall cFromSINTParserRuleCall_1_0 = (RuleCall)cFromAssignment_1.eContents().get(0);
+		private final Keyword cUntilKeyword_2 = (Keyword)cGroup.eContents().get(2);
+		private final Assignment cUntilAssignment_3 = (Assignment)cGroup.eContents().get(3);
+		private final RuleCall cUntilSINTParserRuleCall_3_0 = (RuleCall)cUntilAssignment_3.eContents().get(0);
+		private final Keyword cStepKeyword_4 = (Keyword)cGroup.eContents().get(4);
+		private final Assignment cStepAssignment_5 = (Assignment)cGroup.eContents().get(5);
+		private final RuleCall cStepINTTerminalRuleCall_5_0 = (RuleCall)cStepAssignment_5.eContents().get(0);
+		
+		//IntegerIterate:
+		//	"integer from" from=SINT "until" until=SINT "step" step=INT;
+		public ParserRule getRule() { return rule; }
+
+		//"integer from" from=SINT "until" until=SINT "step" step=INT
+		public Group getGroup() { return cGroup; }
+
+		//"integer from"
+		public Keyword getIntegerFromKeyword_0() { return cIntegerFromKeyword_0; }
+
+		//from=SINT
+		public Assignment getFromAssignment_1() { return cFromAssignment_1; }
+
+		//SINT
+		public RuleCall getFromSINTParserRuleCall_1_0() { return cFromSINTParserRuleCall_1_0; }
+
+		//"until"
+		public Keyword getUntilKeyword_2() { return cUntilKeyword_2; }
+
+		//until=SINT
+		public Assignment getUntilAssignment_3() { return cUntilAssignment_3; }
+
+		//SINT
+		public RuleCall getUntilSINTParserRuleCall_3_0() { return cUntilSINTParserRuleCall_3_0; }
+
+		//"step"
+		public Keyword getStepKeyword_4() { return cStepKeyword_4; }
+
+		//step=INT
+		public Assignment getStepAssignment_5() { return cStepAssignment_5; }
+
+		//INT
+		public RuleCall getStepINTTerminalRuleCall_5_0() { return cStepINTTerminalRuleCall_5_0; }
+	}
+
+	public class DateIterateElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "DateIterate");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Keyword cDateFromKeyword_0 = (Keyword)cGroup.eContents().get(0);
+		private final Assignment cFromAssignment_1 = (Assignment)cGroup.eContents().get(1);
+		private final RuleCall cFromDateParserRuleCall_1_0 = (RuleCall)cFromAssignment_1.eContents().get(0);
+		private final Keyword cUntilKeyword_2 = (Keyword)cGroup.eContents().get(2);
+		private final Assignment cUntilAssignment_3 = (Assignment)cGroup.eContents().get(3);
+		private final RuleCall cUntilDateParserRuleCall_3_0 = (RuleCall)cUntilAssignment_3.eContents().get(0);
+		private final Keyword cEveryKeyword_4 = (Keyword)cGroup.eContents().get(4);
+		private final Assignment cStepCountAssignment_5 = (Assignment)cGroup.eContents().get(5);
+		private final RuleCall cStepCountINTTerminalRuleCall_5_0 = (RuleCall)cStepCountAssignment_5.eContents().get(0);
+		private final Assignment cStepTypeAssignment_6 = (Assignment)cGroup.eContents().get(6);
+		private final RuleCall cStepTypeEDateStepTypeEnumRuleCall_6_0 = (RuleCall)cStepTypeAssignment_6.eContents().get(0);
+		
+		//DateIterate:
+		//	"date from" from=Date "until" until=Date "every" stepCount=INT stepType=EDateStepType;
+		public ParserRule getRule() { return rule; }
+
+		//"date from" from=Date "until" until=Date "every" stepCount=INT stepType=EDateStepType
+		public Group getGroup() { return cGroup; }
+
+		//"date from"
+		public Keyword getDateFromKeyword_0() { return cDateFromKeyword_0; }
+
+		//from=Date
+		public Assignment getFromAssignment_1() { return cFromAssignment_1; }
+
+		//Date
+		public RuleCall getFromDateParserRuleCall_1_0() { return cFromDateParserRuleCall_1_0; }
+
+		//"until"
+		public Keyword getUntilKeyword_2() { return cUntilKeyword_2; }
+
+		//until=Date
+		public Assignment getUntilAssignment_3() { return cUntilAssignment_3; }
+
+		//Date
+		public RuleCall getUntilDateParserRuleCall_3_0() { return cUntilDateParserRuleCall_3_0; }
+
+		//"every"
+		public Keyword getEveryKeyword_4() { return cEveryKeyword_4; }
+
+		//stepCount=INT
+		public Assignment getStepCountAssignment_5() { return cStepCountAssignment_5; }
+
+		//INT
+		public RuleCall getStepCountINTTerminalRuleCall_5_0() { return cStepCountINTTerminalRuleCall_5_0; }
+
+		//stepType=EDateStepType
+		public Assignment getStepTypeAssignment_6() { return cStepTypeAssignment_6; }
+
+		//EDateStepType
+		public RuleCall getStepTypeEDateStepTypeEnumRuleCall_6_0() { return cStepTypeEDateStepTypeEnumRuleCall_6_0; }
+	}
+
+	public class DateElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Date");
+		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+		private final Assignment cYesterdayAssignment_0 = (Assignment)cAlternatives.eContents().get(0);
+		private final Keyword cYesterdayYesterdayKeyword_0_0 = (Keyword)cYesterdayAssignment_0.eContents().get(0);
+		private final Assignment cTodayAssignment_1 = (Assignment)cAlternatives.eContents().get(1);
+		private final Keyword cTodayTodayKeyword_1_0 = (Keyword)cTodayAssignment_1.eContents().get(0);
+		private final Assignment cTomorrowAssignment_2 = (Assignment)cAlternatives.eContents().get(2);
+		private final Keyword cTomorrowTomorrowKeyword_2_0 = (Keyword)cTomorrowAssignment_2.eContents().get(0);
+		private final Group cGroup_3 = (Group)cAlternatives.eContents().get(3);
+		private final Assignment cYearAssignment_3_0 = (Assignment)cGroup_3.eContents().get(0);
+		private final RuleCall cYearINTTerminalRuleCall_3_0_0 = (RuleCall)cYearAssignment_3_0.eContents().get(0);
+		private final Keyword cHyphenMinusKeyword_3_1 = (Keyword)cGroup_3.eContents().get(1);
+		private final Assignment cMonthAssignment_3_2 = (Assignment)cGroup_3.eContents().get(2);
+		private final RuleCall cMonthINTTerminalRuleCall_3_2_0 = (RuleCall)cMonthAssignment_3_2.eContents().get(0);
+		private final Keyword cHyphenMinusKeyword_3_3 = (Keyword)cGroup_3.eContents().get(3);
+		private final Assignment cDayAssignment_3_4 = (Assignment)cGroup_3.eContents().get(4);
+		private final RuleCall cDayINTTerminalRuleCall_3_4_0 = (RuleCall)cDayAssignment_3_4.eContents().get(0);
+		
+		//Date:
+		//	yesterday?="yesterday" | today?="today" | tomorrow?="tomorrow" | year=INT "-" month=INT "-" day=INT;
+		public ParserRule getRule() { return rule; }
+
+		//yesterday?="yesterday" | today?="today" | tomorrow?="tomorrow" | year=INT "-" month=INT "-" day=INT
+		public Alternatives getAlternatives() { return cAlternatives; }
+
+		//yesterday?="yesterday"
+		public Assignment getYesterdayAssignment_0() { return cYesterdayAssignment_0; }
+
+		//"yesterday"
+		public Keyword getYesterdayYesterdayKeyword_0_0() { return cYesterdayYesterdayKeyword_0_0; }
+
+		//today?="today"
+		public Assignment getTodayAssignment_1() { return cTodayAssignment_1; }
+
+		//"today"
+		public Keyword getTodayTodayKeyword_1_0() { return cTodayTodayKeyword_1_0; }
+
+		//tomorrow?="tomorrow"
+		public Assignment getTomorrowAssignment_2() { return cTomorrowAssignment_2; }
+
+		//"tomorrow"
+		public Keyword getTomorrowTomorrowKeyword_2_0() { return cTomorrowTomorrowKeyword_2_0; }
+
+		//year=INT "-" month=INT "-" day=INT
+		public Group getGroup_3() { return cGroup_3; }
+
+		//year=INT
+		public Assignment getYearAssignment_3_0() { return cYearAssignment_3_0; }
+
+		//INT
+		public RuleCall getYearINTTerminalRuleCall_3_0_0() { return cYearINTTerminalRuleCall_3_0_0; }
+
+		//"-"
+		public Keyword getHyphenMinusKeyword_3_1() { return cHyphenMinusKeyword_3_1; }
+
+		//month=INT
+		public Assignment getMonthAssignment_3_2() { return cMonthAssignment_3_2; }
+
+		//INT
+		public RuleCall getMonthINTTerminalRuleCall_3_2_0() { return cMonthINTTerminalRuleCall_3_2_0; }
+
+		//"-"
+		public Keyword getHyphenMinusKeyword_3_3() { return cHyphenMinusKeyword_3_3; }
+
+		//day=INT
+		public Assignment getDayAssignment_3_4() { return cDayAssignment_3_4; }
+
+		//INT
+		public RuleCall getDayINTTerminalRuleCall_3_4_0() { return cDayINTTerminalRuleCall_3_4_0; }
+	}
+
+	public class EntityMockByResourceAttributeElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "EntityMockByResourceAttribute");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Action cEntityMockByResourceAttributeAction_0 = (Action)cGroup.eContents().get(0);
+		private final Keyword cVarKeyword_1 = (Keyword)cGroup.eContents().get(1);
+		private final Assignment cAttributeRefAssignment_2 = (Assignment)cGroup.eContents().get(2);
+		private final CrossReference cAttributeRefLEntityAttributeCrossReference_2_0 = (CrossReference)cAttributeRefAssignment_2.eContents().get(0);
+		private final RuleCall cAttributeRefLEntityAttributeIDTerminalRuleCall_2_0_1 = (RuleCall)cAttributeRefLEntityAttributeCrossReference_2_0.eContents().get(1);
+		private final Keyword cAsKeyword_3 = (Keyword)cGroup.eContents().get(3);
+		private final Assignment cResourceAttributeAssignment_4 = (Assignment)cGroup.eContents().get(4);
+		private final CrossReference cResourceAttributeEntityMockResourceAttributeCrossReference_4_0 = (CrossReference)cResourceAttributeAssignment_4.eContents().get(0);
+		private final RuleCall cResourceAttributeEntityMockResourceAttributeIDTerminalRuleCall_4_0_1 = (RuleCall)cResourceAttributeEntityMockResourceAttributeCrossReference_4_0.eContents().get(1);
+		
+		//EntityMockByResourceAttribute:
+		//	{EntityMockByResourceAttribute} "var" attributeRef=[entity::LEntityAttribute] "as"
+		//	resourceAttribute=[EntityMockResourceAttribute];
+		public ParserRule getRule() { return rule; }
+
+		//{EntityMockByResourceAttribute} "var" attributeRef=[entity::LEntityAttribute] "as"
+		//resourceAttribute=[EntityMockResourceAttribute]
+		public Group getGroup() { return cGroup; }
+
+		//{EntityMockByResourceAttribute}
+		public Action getEntityMockByResourceAttributeAction_0() { return cEntityMockByResourceAttributeAction_0; }
+
+		//"var"
+		public Keyword getVarKeyword_1() { return cVarKeyword_1; }
+
+		//attributeRef=[entity::LEntityAttribute]
+		public Assignment getAttributeRefAssignment_2() { return cAttributeRefAssignment_2; }
+
+		//[entity::LEntityAttribute]
+		public CrossReference getAttributeRefLEntityAttributeCrossReference_2_0() { return cAttributeRefLEntityAttributeCrossReference_2_0; }
+
+		//ID
+		public RuleCall getAttributeRefLEntityAttributeIDTerminalRuleCall_2_0_1() { return cAttributeRefLEntityAttributeIDTerminalRuleCall_2_0_1; }
+
+		//"as"
+		public Keyword getAsKeyword_3() { return cAsKeyword_3; }
+
+		//resourceAttribute=[EntityMockResourceAttribute]
+		public Assignment getResourceAttributeAssignment_4() { return cResourceAttributeAssignment_4; }
+
+		//[EntityMockResourceAttribute]
+		public CrossReference getResourceAttributeEntityMockResourceAttributeCrossReference_4_0() { return cResourceAttributeEntityMockResourceAttributeCrossReference_4_0; }
+
+		//ID
+		public RuleCall getResourceAttributeEntityMockResourceAttributeIDTerminalRuleCall_4_0_1() { return cResourceAttributeEntityMockResourceAttributeIDTerminalRuleCall_4_0_1; }
+	}
+
+	public class EntityMockTemporaryElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "EntityMockTemporary");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Keyword cTemporaryKeyword_0 = (Keyword)cGroup.eContents().get(0);
+		private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
+		private final RuleCall cNameQualifiedNameParserRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
+		private final Keyword cByObjectKeyword_2 = (Keyword)cGroup.eContents().get(2);
+		private final Assignment cObjectAssignment_3 = (Assignment)cGroup.eContents().get(3);
+		private final CrossReference cObjectEntityMockObjectCrossReference_3_0 = (CrossReference)cObjectAssignment_3.eContents().get(0);
+		private final RuleCall cObjectEntityMockObjectIDTerminalRuleCall_3_0_1 = (RuleCall)cObjectEntityMockObjectCrossReference_3_0.eContents().get(1);
+		
+		//EntityMockTemporary:
+		//	"temporary" name=QualifiedName "by object" object=[EntityMockObject];
+		public ParserRule getRule() { return rule; }
+
+		//"temporary" name=QualifiedName "by object" object=[EntityMockObject]
+		public Group getGroup() { return cGroup; }
+
+		//"temporary"
+		public Keyword getTemporaryKeyword_0() { return cTemporaryKeyword_0; }
+
+		//name=QualifiedName
+		public Assignment getNameAssignment_1() { return cNameAssignment_1; }
+
+		//QualifiedName
+		public RuleCall getNameQualifiedNameParserRuleCall_1_0() { return cNameQualifiedNameParserRuleCall_1_0; }
+
+		//"by object"
+		public Keyword getByObjectKeyword_2() { return cByObjectKeyword_2; }
+
+		//object=[EntityMockObject]
+		public Assignment getObjectAssignment_3() { return cObjectAssignment_3; }
+
+		//[EntityMockObject]
+		public CrossReference getObjectEntityMockObjectCrossReference_3_0() { return cObjectEntityMockObjectCrossReference_3_0; }
+
+		//ID
+		public RuleCall getObjectEntityMockObjectIDTerminalRuleCall_3_0_1() { return cObjectEntityMockObjectIDTerminalRuleCall_3_0_1; }
+	}
+
+	public class IEntityMockEntityUsableElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "IEntityMockEntityUsable");
+		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+		private final RuleCall cIEntityMockAttributeParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
+		private final RuleCall cEntityMockEntityFunctionParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
+		
+		//IEntityMockEntityUsable:
+		//	IEntityMockAttribute | EntityMockEntityFunction;
+		public ParserRule getRule() { return rule; }
+
+		//IEntityMockAttribute | EntityMockEntityFunction
+		public Alternatives getAlternatives() { return cAlternatives; }
+
+		//IEntityMockAttribute
+		public RuleCall getIEntityMockAttributeParserRuleCall_0() { return cIEntityMockAttributeParserRuleCall_0; }
+
+		//EntityMockEntityFunction
+		public RuleCall getEntityMockEntityFunctionParserRuleCall_1() { return cEntityMockEntityFunctionParserRuleCall_1; }
+	}
+
+	public class IEntityMockAttributeElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "IEntityMockAttribute");
+		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+		private final RuleCall cEntityMockAttributeByObjectParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
+		private final RuleCall cEntityMockAttributeFillerParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
+		private final RuleCall cEntityMockAttributeByReferenceParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
+		
+		//IEntityMockAttribute:
+		//	EntityMockAttributeByObject | EntityMockAttributeFiller | EntityMockAttributeByReference;
+		public ParserRule getRule() { return rule; }
+
+		//EntityMockAttributeByObject | EntityMockAttributeFiller | EntityMockAttributeByReference
+		public Alternatives getAlternatives() { return cAlternatives; }
+
+		//EntityMockAttributeByObject
+		public RuleCall getEntityMockAttributeByObjectParserRuleCall_0() { return cEntityMockAttributeByObjectParserRuleCall_0; }
+
+		//EntityMockAttributeFiller
+		public RuleCall getEntityMockAttributeFillerParserRuleCall_1() { return cEntityMockAttributeFillerParserRuleCall_1; }
+
+		//EntityMockAttributeByReference
+		public RuleCall getEntityMockAttributeByReferenceParserRuleCall_2() { return cEntityMockAttributeByReferenceParserRuleCall_2; }
+	}
+
+	public class EntityMockEntityFunctionElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "EntityMockEntityFunction");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Keyword cVarKeyword_0 = (Keyword)cGroup.eContents().get(0);
+		private final Assignment cAttributeRefAssignment_1 = (Assignment)cGroup.eContents().get(1);
+		private final CrossReference cAttributeRefLEntityAttributeCrossReference_1_0 = (CrossReference)cAttributeRefAssignment_1.eContents().get(0);
+		private final RuleCall cAttributeRefLEntityAttributeIDTerminalRuleCall_1_0_1 = (RuleCall)cAttributeRefLEntityAttributeCrossReference_1_0.eContents().get(1);
+		private final Keyword cCalculateBasedOnKeyword_2 = (Keyword)cGroup.eContents().get(2);
+		private final Keyword cLeftParenthesisKeyword_3 = (Keyword)cGroup.eContents().get(3);
+		private final Group cGroup_4 = (Group)cGroup.eContents().get(4);
+		private final Assignment cParamsAssignment_4_0 = (Assignment)cGroup_4.eContents().get(0);
+		private final RuleCall cParamsEntityMockEntityFunctionParameterParserRuleCall_4_0_0 = (RuleCall)cParamsAssignment_4_0.eContents().get(0);
+		private final Group cGroup_4_1 = (Group)cGroup_4.eContents().get(1);
+		private final Keyword cCommaKeyword_4_1_0 = (Keyword)cGroup_4_1.eContents().get(0);
+		private final Assignment cParamsAssignment_4_1_1 = (Assignment)cGroup_4_1.eContents().get(1);
+		private final RuleCall cParamsEntityMockEntityFunctionParameterParserRuleCall_4_1_1_0 = (RuleCall)cParamsAssignment_4_1_1.eContents().get(0);
+		private final Keyword cRightParenthesisKeyword_5 = (Keyword)cGroup.eContents().get(5);
+		private final Assignment cBodyAssignment_6 = (Assignment)cGroup.eContents().get(6);
+		private final RuleCall cBodyXBlockExpressionParserRuleCall_6_0 = (RuleCall)cBodyAssignment_6.eContents().get(0);
+		
+		//EntityMockEntityFunction:
+		//	"var" attributeRef=[entity::LEntityAttribute] "calculate based on" "(" (params+=EntityMockEntityFunctionParameter
+		//	("," params+=EntityMockEntityFunctionParameter)*)? ")" body=XBlockExpression;
+		public ParserRule getRule() { return rule; }
+
+		//"var" attributeRef=[entity::LEntityAttribute] "calculate based on" "(" (params+=EntityMockEntityFunctionParameter (","
+		//params+=EntityMockEntityFunctionParameter)*)? ")" body=XBlockExpression
+		public Group getGroup() { return cGroup; }
+
+		//"var"
+		public Keyword getVarKeyword_0() { return cVarKeyword_0; }
+
+		//attributeRef=[entity::LEntityAttribute]
+		public Assignment getAttributeRefAssignment_1() { return cAttributeRefAssignment_1; }
+
+		//[entity::LEntityAttribute]
+		public CrossReference getAttributeRefLEntityAttributeCrossReference_1_0() { return cAttributeRefLEntityAttributeCrossReference_1_0; }
+
+		//ID
+		public RuleCall getAttributeRefLEntityAttributeIDTerminalRuleCall_1_0_1() { return cAttributeRefLEntityAttributeIDTerminalRuleCall_1_0_1; }
+
+		//"calculate based on"
+		public Keyword getCalculateBasedOnKeyword_2() { return cCalculateBasedOnKeyword_2; }
+
+		//"("
+		public Keyword getLeftParenthesisKeyword_3() { return cLeftParenthesisKeyword_3; }
+
+		//(params+=EntityMockEntityFunctionParameter ("," params+=EntityMockEntityFunctionParameter)*)?
+		public Group getGroup_4() { return cGroup_4; }
+
+		//params+=EntityMockEntityFunctionParameter
+		public Assignment getParamsAssignment_4_0() { return cParamsAssignment_4_0; }
+
+		//EntityMockEntityFunctionParameter
+		public RuleCall getParamsEntityMockEntityFunctionParameterParserRuleCall_4_0_0() { return cParamsEntityMockEntityFunctionParameterParserRuleCall_4_0_0; }
+
+		//("," params+=EntityMockEntityFunctionParameter)*
+		public Group getGroup_4_1() { return cGroup_4_1; }
+
+		//","
+		public Keyword getCommaKeyword_4_1_0() { return cCommaKeyword_4_1_0; }
+
+		//params+=EntityMockEntityFunctionParameter
+		public Assignment getParamsAssignment_4_1_1() { return cParamsAssignment_4_1_1; }
+
+		//EntityMockEntityFunctionParameter
+		public RuleCall getParamsEntityMockEntityFunctionParameterParserRuleCall_4_1_1_0() { return cParamsEntityMockEntityFunctionParameterParserRuleCall_4_1_1_0; }
+
+		//")"
+		public Keyword getRightParenthesisKeyword_5() { return cRightParenthesisKeyword_5; }
+
+		//body=XBlockExpression
+		public Assignment getBodyAssignment_6() { return cBodyAssignment_6; }
+
+		//XBlockExpression
+		public RuleCall getBodyXBlockExpressionParserRuleCall_6_0() { return cBodyXBlockExpressionParserRuleCall_6_0; }
+	}
+
+	public class EntityMockEntityFunctionParameterElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "EntityMockEntityFunctionParameter");
+		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+		private final Assignment cAttributeRefAssignment_0 = (Assignment)cAlternatives.eContents().get(0);
+		private final CrossReference cAttributeRefLEntityAttributeCrossReference_0_0 = (CrossReference)cAttributeRefAssignment_0.eContents().get(0);
+		private final RuleCall cAttributeRefLEntityAttributeIDTerminalRuleCall_0_0_1 = (RuleCall)cAttributeRefLEntityAttributeCrossReference_0_0.eContents().get(1);
+		private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1);
+		private final Assignment cReferencePathsAssignment_1_0 = (Assignment)cGroup_1.eContents().get(0);
+		private final CrossReference cReferencePathsLEntityReferenceCrossReference_1_0_0 = (CrossReference)cReferencePathsAssignment_1_0.eContents().get(0);
+		private final RuleCall cReferencePathsLEntityReferenceIDTerminalRuleCall_1_0_0_1 = (RuleCall)cReferencePathsLEntityReferenceCrossReference_1_0_0.eContents().get(1);
+		private final Group cGroup_1_1 = (Group)cGroup_1.eContents().get(1);
+		private final Keyword cFullStopKeyword_1_1_0 = (Keyword)cGroup_1_1.eContents().get(0);
+		private final Assignment cReferencePathsAssignment_1_1_1 = (Assignment)cGroup_1_1.eContents().get(1);
+		private final CrossReference cReferencePathsLEntityReferenceCrossReference_1_1_1_0 = (CrossReference)cReferencePathsAssignment_1_1_1.eContents().get(0);
+		private final RuleCall cReferencePathsLEntityReferenceIDTerminalRuleCall_1_1_1_0_1 = (RuleCall)cReferencePathsLEntityReferenceCrossReference_1_1_1_0.eContents().get(1);
+		private final Keyword cFullStopKeyword_1_2 = (Keyword)cGroup_1.eContents().get(2);
+		private final Assignment cReferenceRefAssignment_1_3 = (Assignment)cGroup_1.eContents().get(3);
+		private final CrossReference cReferenceRefLEntityAttributeCrossReference_1_3_0 = (CrossReference)cReferenceRefAssignment_1_3.eContents().get(0);
+		private final RuleCall cReferenceRefLEntityAttributeIDTerminalRuleCall_1_3_0_1 = (RuleCall)cReferenceRefLEntityAttributeCrossReference_1_3_0.eContents().get(1);
+		
+		//EntityMockEntityFunctionParameter:
+		//	attributeRef=[entity::LEntityAttribute] | referencePaths+=[entity::LEntityReference] ("."?
+		//	referencePaths+=[entity::LEntityReference])* "." referenceRef=[entity::LEntityAttribute];
+		public ParserRule getRule() { return rule; }
+
+		//attributeRef=[entity::LEntityAttribute] | referencePaths+=[entity::LEntityReference] ("."?
+		//referencePaths+=[entity::LEntityReference])* "." referenceRef=[entity::LEntityAttribute]
+		public Alternatives getAlternatives() { return cAlternatives; }
+
+		//attributeRef=[entity::LEntityAttribute]
+		public Assignment getAttributeRefAssignment_0() { return cAttributeRefAssignment_0; }
+
+		//[entity::LEntityAttribute]
+		public CrossReference getAttributeRefLEntityAttributeCrossReference_0_0() { return cAttributeRefLEntityAttributeCrossReference_0_0; }
+
+		//ID
+		public RuleCall getAttributeRefLEntityAttributeIDTerminalRuleCall_0_0_1() { return cAttributeRefLEntityAttributeIDTerminalRuleCall_0_0_1; }
+
+		//referencePaths+=[entity::LEntityReference] ("."? referencePaths+=[entity::LEntityReference])* "."
+		//referenceRef=[entity::LEntityAttribute]
+		public Group getGroup_1() { return cGroup_1; }
+
+		//referencePaths+=[entity::LEntityReference]
+		public Assignment getReferencePathsAssignment_1_0() { return cReferencePathsAssignment_1_0; }
+
+		//[entity::LEntityReference]
+		public CrossReference getReferencePathsLEntityReferenceCrossReference_1_0_0() { return cReferencePathsLEntityReferenceCrossReference_1_0_0; }
+
+		//ID
+		public RuleCall getReferencePathsLEntityReferenceIDTerminalRuleCall_1_0_0_1() { return cReferencePathsLEntityReferenceIDTerminalRuleCall_1_0_0_1; }
+
+		//("."? referencePaths+=[entity::LEntityReference])*
+		public Group getGroup_1_1() { return cGroup_1_1; }
+
+		//"."?
+		public Keyword getFullStopKeyword_1_1_0() { return cFullStopKeyword_1_1_0; }
+
+		//referencePaths+=[entity::LEntityReference]
+		public Assignment getReferencePathsAssignment_1_1_1() { return cReferencePathsAssignment_1_1_1; }
+
+		//[entity::LEntityReference]
+		public CrossReference getReferencePathsLEntityReferenceCrossReference_1_1_1_0() { return cReferencePathsLEntityReferenceCrossReference_1_1_1_0; }
+
+		//ID
+		public RuleCall getReferencePathsLEntityReferenceIDTerminalRuleCall_1_1_1_0_1() { return cReferencePathsLEntityReferenceIDTerminalRuleCall_1_1_1_0_1; }
+
+		//"."
+		public Keyword getFullStopKeyword_1_2() { return cFullStopKeyword_1_2; }
+
+		//referenceRef=[entity::LEntityAttribute]
+		public Assignment getReferenceRefAssignment_1_3() { return cReferenceRefAssignment_1_3; }
+
+		//[entity::LEntityAttribute]
+		public CrossReference getReferenceRefLEntityAttributeCrossReference_1_3_0() { return cReferenceRefLEntityAttributeCrossReference_1_3_0; }
+
+		//ID
+		public RuleCall getReferenceRefLEntityAttributeIDTerminalRuleCall_1_3_0_1() { return cReferenceRefLEntityAttributeIDTerminalRuleCall_1_3_0_1; }
+	}
+
+	public class EntityMockReferencedObjectAttributeElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "EntityMockReferencedObjectAttribute");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Action cEntityMockReferencedObjectAttributeAction_0 = (Action)cGroup.eContents().get(0);
+		private final Assignment cTemporaryAssignment_1 = (Assignment)cGroup.eContents().get(1);
+		private final CrossReference cTemporaryEntityMockTemporaryCrossReference_1_0 = (CrossReference)cTemporaryAssignment_1.eContents().get(0);
+		private final RuleCall cTemporaryEntityMockTemporaryIDTerminalRuleCall_1_0_1 = (RuleCall)cTemporaryEntityMockTemporaryCrossReference_1_0.eContents().get(1);
+		private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
+		private final Keyword cFullStopKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
+		private final Assignment cEmbeddedAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1);
+		private final CrossReference cEmbeddedEntityMockObjectEmbedCrossReference_2_1_0 = (CrossReference)cEmbeddedAssignment_2_1.eContents().get(0);
+		private final RuleCall cEmbeddedEntityMockObjectEmbedIDTerminalRuleCall_2_1_0_1 = (RuleCall)cEmbeddedEntityMockObjectEmbedCrossReference_2_1_0.eContents().get(1);
+		private final Keyword cFullStopKeyword_3 = (Keyword)cGroup.eContents().get(3);
+		private final Assignment cAttributeAssignment_4 = (Assignment)cGroup.eContents().get(4);
+		private final CrossReference cAttributeIEntityMockObjectUsableCrossReference_4_0 = (CrossReference)cAttributeAssignment_4.eContents().get(0);
+		private final RuleCall cAttributeIEntityMockObjectUsableIDTerminalRuleCall_4_0_1 = (RuleCall)cAttributeIEntityMockObjectUsableCrossReference_4_0.eContents().get(1);
+		
+		//EntityMockReferencedObjectAttribute:
+		//	{EntityMockReferencedObjectAttribute} temporary=[EntityMockTemporary] ("."? embedded+=[EntityMockObjectEmbed])* "."
+		//	attribute=[IEntityMockObjectUsable];
+		public ParserRule getRule() { return rule; }
+
+		//{EntityMockReferencedObjectAttribute} temporary=[EntityMockTemporary] ("."? embedded+=[EntityMockObjectEmbed])* "."
+		//attribute=[IEntityMockObjectUsable]
+		public Group getGroup() { return cGroup; }
+
+		//{EntityMockReferencedObjectAttribute}
+		public Action getEntityMockReferencedObjectAttributeAction_0() { return cEntityMockReferencedObjectAttributeAction_0; }
+
+		//temporary=[EntityMockTemporary]
+		public Assignment getTemporaryAssignment_1() { return cTemporaryAssignment_1; }
+
+		//[EntityMockTemporary]
+		public CrossReference getTemporaryEntityMockTemporaryCrossReference_1_0() { return cTemporaryEntityMockTemporaryCrossReference_1_0; }
+
+		//ID
+		public RuleCall getTemporaryEntityMockTemporaryIDTerminalRuleCall_1_0_1() { return cTemporaryEntityMockTemporaryIDTerminalRuleCall_1_0_1; }
+
+		//("."? embedded+=[EntityMockObjectEmbed])*
+		public Group getGroup_2() { return cGroup_2; }
+
+		//"."?
+		public Keyword getFullStopKeyword_2_0() { return cFullStopKeyword_2_0; }
+
+		//embedded+=[EntityMockObjectEmbed]
+		public Assignment getEmbeddedAssignment_2_1() { return cEmbeddedAssignment_2_1; }
+
+		//[EntityMockObjectEmbed]
+		public CrossReference getEmbeddedEntityMockObjectEmbedCrossReference_2_1_0() { return cEmbeddedEntityMockObjectEmbedCrossReference_2_1_0; }
+
+		//ID
+		public RuleCall getEmbeddedEntityMockObjectEmbedIDTerminalRuleCall_2_1_0_1() { return cEmbeddedEntityMockObjectEmbedIDTerminalRuleCall_2_1_0_1; }
+
+		//"."
+		public Keyword getFullStopKeyword_3() { return cFullStopKeyword_3; }
+
+		//attribute=[IEntityMockObjectUsable]
+		public Assignment getAttributeAssignment_4() { return cAttributeAssignment_4; }
+
+		//[IEntityMockObjectUsable]
+		public CrossReference getAttributeIEntityMockObjectUsableCrossReference_4_0() { return cAttributeIEntityMockObjectUsableCrossReference_4_0; }
+
+		//ID
+		public RuleCall getAttributeIEntityMockObjectUsableIDTerminalRuleCall_4_0_1() { return cAttributeIEntityMockObjectUsableIDTerminalRuleCall_4_0_1; }
+	}
+
+	public class EntityMockAttributeByObjectElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "EntityMockAttributeByObject");
+		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+		private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0);
+		private final Keyword cVarKeyword_0_0 = (Keyword)cGroup_0.eContents().get(0);
+		private final Assignment cAttributeRefAssignment_0_1 = (Assignment)cGroup_0.eContents().get(1);
+		private final CrossReference cAttributeRefLEntityAttributeCrossReference_0_1_0 = (CrossReference)cAttributeRefAssignment_0_1.eContents().get(0);
+		private final RuleCall cAttributeRefLEntityAttributeIDTerminalRuleCall_0_1_0_1 = (RuleCall)cAttributeRefLEntityAttributeCrossReference_0_1_0.eContents().get(1);
+		private final Group cGroup_0_2 = (Group)cGroup_0.eContents().get(2);
+		private final Keyword cAsKeyword_0_2_0 = (Keyword)cGroup_0_2.eContents().get(0);
+		private final Assignment cReferenceAssignment_0_2_1 = (Assignment)cGroup_0_2.eContents().get(1);
+		private final RuleCall cReferenceEntityMockReferencedObjectAttributeParserRuleCall_0_2_1_0 = (RuleCall)cReferenceAssignment_0_2_1.eContents().get(0);
+		private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1);
+		private final Keyword cUsingKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
+		private final Assignment cResourceEnumAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
+		private final CrossReference cResourceEnumEntityMockObjectEnumCrossReference_1_1_0 = (CrossReference)cResourceEnumAssignment_1_1.eContents().get(0);
+		private final RuleCall cResourceEnumEntityMockObjectEnumIDTerminalRuleCall_1_1_0_1 = (RuleCall)cResourceEnumEntityMockObjectEnumCrossReference_1_1_0.eContents().get(1);
+		private final Keyword cFullStopKeyword_1_2 = (Keyword)cGroup_1.eContents().get(2);
+		private final Assignment cResourceAttributeAssignment_1_3 = (Assignment)cGroup_1.eContents().get(3);
+		private final CrossReference cResourceAttributeEntityMockResourceAttributeCrossReference_1_3_0 = (CrossReference)cResourceAttributeAssignment_1_3.eContents().get(0);
+		private final RuleCall cResourceAttributeEntityMockResourceAttributeIDTerminalRuleCall_1_3_0_1 = (RuleCall)cResourceAttributeEntityMockResourceAttributeCrossReference_1_3_0.eContents().get(1);
+		
+		//EntityMockAttributeByObject:
+		//	"var" attributeRef=[entity::LEntityAttribute] ("as" reference=EntityMockReferencedObjectAttribute) | "using"
+		//	resourceEnum=[EntityMockObjectEnum] "." resourceAttribute=[EntityMockResourceAttribute];
+		public ParserRule getRule() { return rule; }
+
+		//"var" attributeRef=[entity::LEntityAttribute] ("as" reference=EntityMockReferencedObjectAttribute) | "using"
+		//resourceEnum=[EntityMockObjectEnum] "." resourceAttribute=[EntityMockResourceAttribute]
+		public Alternatives getAlternatives() { return cAlternatives; }
+
+		//"var" attributeRef=[entity::LEntityAttribute] ("as" reference=EntityMockReferencedObjectAttribute)
+		public Group getGroup_0() { return cGroup_0; }
+
+		//"var"
+		public Keyword getVarKeyword_0_0() { return cVarKeyword_0_0; }
+
+		//attributeRef=[entity::LEntityAttribute]
+		public Assignment getAttributeRefAssignment_0_1() { return cAttributeRefAssignment_0_1; }
+
+		//[entity::LEntityAttribute]
+		public CrossReference getAttributeRefLEntityAttributeCrossReference_0_1_0() { return cAttributeRefLEntityAttributeCrossReference_0_1_0; }
+
+		//ID
+		public RuleCall getAttributeRefLEntityAttributeIDTerminalRuleCall_0_1_0_1() { return cAttributeRefLEntityAttributeIDTerminalRuleCall_0_1_0_1; }
+
+		//"as" reference=EntityMockReferencedObjectAttribute
+		public Group getGroup_0_2() { return cGroup_0_2; }
+
+		//"as"
+		public Keyword getAsKeyword_0_2_0() { return cAsKeyword_0_2_0; }
+
+		//reference=EntityMockReferencedObjectAttribute
+		public Assignment getReferenceAssignment_0_2_1() { return cReferenceAssignment_0_2_1; }
+
+		//EntityMockReferencedObjectAttribute
+		public RuleCall getReferenceEntityMockReferencedObjectAttributeParserRuleCall_0_2_1_0() { return cReferenceEntityMockReferencedObjectAttributeParserRuleCall_0_2_1_0; }
+
+		//"using" resourceEnum=[EntityMockObjectEnum] "." resourceAttribute=[EntityMockResourceAttribute]
+		public Group getGroup_1() { return cGroup_1; }
+
+		//"using"
+		public Keyword getUsingKeyword_1_0() { return cUsingKeyword_1_0; }
+
+		//resourceEnum=[EntityMockObjectEnum]
+		public Assignment getResourceEnumAssignment_1_1() { return cResourceEnumAssignment_1_1; }
+
+		//[EntityMockObjectEnum]
+		public CrossReference getResourceEnumEntityMockObjectEnumCrossReference_1_1_0() { return cResourceEnumEntityMockObjectEnumCrossReference_1_1_0; }
+
+		//ID
+		public RuleCall getResourceEnumEntityMockObjectEnumIDTerminalRuleCall_1_1_0_1() { return cResourceEnumEntityMockObjectEnumIDTerminalRuleCall_1_1_0_1; }
+
+		//"."
+		public Keyword getFullStopKeyword_1_2() { return cFullStopKeyword_1_2; }
+
+		//resourceAttribute=[EntityMockResourceAttribute]
+		public Assignment getResourceAttributeAssignment_1_3() { return cResourceAttributeAssignment_1_3; }
+
+		//[EntityMockResourceAttribute]
+		public CrossReference getResourceAttributeEntityMockResourceAttributeCrossReference_1_3_0() { return cResourceAttributeEntityMockResourceAttributeCrossReference_1_3_0; }
+
+		//ID
+		public RuleCall getResourceAttributeEntityMockResourceAttributeIDTerminalRuleCall_1_3_0_1() { return cResourceAttributeEntityMockResourceAttributeIDTerminalRuleCall_1_3_0_1; }
+	}
+
+	public class EntityMockAttributeFillerElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "EntityMockAttributeFiller");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Keyword cVarKeyword_0 = (Keyword)cGroup.eContents().get(0);
+		private final Assignment cAttributeRefAssignment_1 = (Assignment)cGroup.eContents().get(1);
+		private final CrossReference cAttributeRefLEntityAttributeCrossReference_1_0 = (CrossReference)cAttributeRefAssignment_1.eContents().get(0);
+		private final RuleCall cAttributeRefLEntityAttributeIDTerminalRuleCall_1_0_1 = (RuleCall)cAttributeRefLEntityAttributeCrossReference_1_0.eContents().get(1);
+		private final Keyword cRandomizeKeyword_2 = (Keyword)cGroup.eContents().get(2);
+		private final Assignment cFillerTypeAssignment_3 = (Assignment)cGroup.eContents().get(3);
+		private final RuleCall cFillerTypePropertyFillerTypeParserRuleCall_3_0 = (RuleCall)cFillerTypeAssignment_3.eContents().get(0);
+		
+		//EntityMockAttributeFiller:
+		//	"var" attributeRef=[entity::LEntityAttribute] "randomize" fillerType=PropertyFillerType;
+		public ParserRule getRule() { return rule; }
+
+		//"var" attributeRef=[entity::LEntityAttribute] "randomize" fillerType=PropertyFillerType
+		public Group getGroup() { return cGroup; }
+
+		//"var"
+		public Keyword getVarKeyword_0() { return cVarKeyword_0; }
+
+		//attributeRef=[entity::LEntityAttribute]
+		public Assignment getAttributeRefAssignment_1() { return cAttributeRefAssignment_1; }
+
+		//[entity::LEntityAttribute]
+		public CrossReference getAttributeRefLEntityAttributeCrossReference_1_0() { return cAttributeRefLEntityAttributeCrossReference_1_0; }
+
+		//ID
+		public RuleCall getAttributeRefLEntityAttributeIDTerminalRuleCall_1_0_1() { return cAttributeRefLEntityAttributeIDTerminalRuleCall_1_0_1; }
+
+		//"randomize"
+		public Keyword getRandomizeKeyword_2() { return cRandomizeKeyword_2; }
+
+		//fillerType=PropertyFillerType
+		public Assignment getFillerTypeAssignment_3() { return cFillerTypeAssignment_3; }
+
+		//PropertyFillerType
+		public RuleCall getFillerTypePropertyFillerTypeParserRuleCall_3_0() { return cFillerTypePropertyFillerTypeParserRuleCall_3_0; }
+	}
+
+	public class EntityMockAttributeByReferenceElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "EntityMockAttributeByReference");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Keyword cRefKeyword_0 = (Keyword)cGroup.eContents().get(0);
+		private final Assignment cAttributeRefAssignment_1 = (Assignment)cGroup.eContents().get(1);
+		private final CrossReference cAttributeRefLEntityReferenceCrossReference_1_0 = (CrossReference)cAttributeRefAssignment_1.eContents().get(0);
+		private final RuleCall cAttributeRefLEntityReferenceIDTerminalRuleCall_1_0_1 = (RuleCall)cAttributeRefLEntityReferenceCrossReference_1_0.eContents().get(1);
+		private final Keyword cToKeyword_2 = (Keyword)cGroup.eContents().get(2);
+		private final Alternatives cAlternatives_3 = (Alternatives)cGroup.eContents().get(3);
+		private final Keyword cExistingEntitiesKeyword_3_0 = (Keyword)cAlternatives_3.eContents().get(0);
+		private final Assignment cMockedEntityAssignment_3_1 = (Assignment)cAlternatives_3.eContents().get(1);
+		private final CrossReference cMockedEntityEntityMockEntityCrossReference_3_1_0 = (CrossReference)cMockedEntityAssignment_3_1.eContents().get(0);
+		private final RuleCall cMockedEntityEntityMockEntityIDTerminalRuleCall_3_1_0_1 = (RuleCall)cMockedEntityEntityMockEntityCrossReference_3_1_0.eContents().get(1);
+		private final Group cGroup_4 = (Group)cGroup.eContents().get(4);
+		private final Keyword cOptionalForKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0);
+		private final Assignment cOptionalForAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1);
+		private final RuleCall cOptionalForINTTerminalRuleCall_4_1_0 = (RuleCall)cOptionalForAssignment_4_1.eContents().get(0);
+		private final Keyword cPercentKeyword_4_2 = (Keyword)cGroup_4.eContents().get(2);
+		
+		//EntityMockAttributeByReference:
+		//	"ref" attributeRef=[entity::LEntityReference] "to" ("existing entities" | mockedEntity=[EntityMockEntity])
+		//	("optional for" optionalFor=INT "percent")?;
+		public ParserRule getRule() { return rule; }
+
+		//"ref" attributeRef=[entity::LEntityReference] "to" ("existing entities" | mockedEntity=[EntityMockEntity])
+		//("optional for" optionalFor=INT "percent")?
+		public Group getGroup() { return cGroup; }
+
+		//"ref"
+		public Keyword getRefKeyword_0() { return cRefKeyword_0; }
+
+		//attributeRef=[entity::LEntityReference]
+		public Assignment getAttributeRefAssignment_1() { return cAttributeRefAssignment_1; }
+
+		//[entity::LEntityReference]
+		public CrossReference getAttributeRefLEntityReferenceCrossReference_1_0() { return cAttributeRefLEntityReferenceCrossReference_1_0; }
+
+		//ID
+		public RuleCall getAttributeRefLEntityReferenceIDTerminalRuleCall_1_0_1() { return cAttributeRefLEntityReferenceIDTerminalRuleCall_1_0_1; }
+
+		//"to"
+		public Keyword getToKeyword_2() { return cToKeyword_2; }
+
+		//"existing entities" | mockedEntity=[EntityMockEntity]
+		public Alternatives getAlternatives_3() { return cAlternatives_3; }
+
+		//"existing entities"
+		public Keyword getExistingEntitiesKeyword_3_0() { return cExistingEntitiesKeyword_3_0; }
+
+		//mockedEntity=[EntityMockEntity]
+		public Assignment getMockedEntityAssignment_3_1() { return cMockedEntityAssignment_3_1; }
+
+		//[EntityMockEntity]
+		public CrossReference getMockedEntityEntityMockEntityCrossReference_3_1_0() { return cMockedEntityEntityMockEntityCrossReference_3_1_0; }
+
+		//ID
+		public RuleCall getMockedEntityEntityMockEntityIDTerminalRuleCall_3_1_0_1() { return cMockedEntityEntityMockEntityIDTerminalRuleCall_3_1_0_1; }
+
+		//("optional for" optionalFor=INT "percent")?
+		public Group getGroup_4() { return cGroup_4; }
+
+		//"optional for"
+		public Keyword getOptionalForKeyword_4_0() { return cOptionalForKeyword_4_0; }
+
+		//optionalFor=INT
+		public Assignment getOptionalForAssignment_4_1() { return cOptionalForAssignment_4_1; }
+
+		//INT
+		public RuleCall getOptionalForINTTerminalRuleCall_4_1_0() { return cOptionalForINTTerminalRuleCall_4_1_0; }
+
+		//"percent"
+		public Keyword getPercentKeyword_4_2() { return cPercentKeyword_4_2; }
+	}
+
+	public class SignedNumberElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SignedNumber");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Keyword cHyphenMinusKeyword_0 = (Keyword)cGroup.eContents().get(0);
+		private final RuleCall cUnsignedNumberParserRuleCall_1 = (RuleCall)cGroup.eContents().get(1);
+		
+		//SignedNumber returns ecore::EDouble:
+		//	"-"? UnsignedNumber;
+		public ParserRule getRule() { return rule; }
+
+		//"-"? UnsignedNumber
+		public Group getGroup() { return cGroup; }
+
+		//"-"?
+		public Keyword getHyphenMinusKeyword_0() { return cHyphenMinusKeyword_0; }
+
+		//UnsignedNumber
+		public RuleCall getUnsignedNumberParserRuleCall_1() { return cUnsignedNumberParserRuleCall_1; }
+	}
+
+	public class UnsignedNumberElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "UnsignedNumber");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final RuleCall cINTTerminalRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
+		private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
+		private final Keyword cFullStopKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
+		private final RuleCall cINTTerminalRuleCall_1_1 = (RuleCall)cGroup_1.eContents().get(1);
+		
+		//UnsignedNumber returns ecore::EDouble:
+		//	INT ("." INT)?;
+		public ParserRule getRule() { return rule; }
+
+		//INT ("." INT)?
+		public Group getGroup() { return cGroup; }
+
+		//INT
+		public RuleCall getINTTerminalRuleCall_0() { return cINTTerminalRuleCall_0; }
+
+		//("." INT)?
+		public Group getGroup_1() { return cGroup_1; }
+
+		//"."
+		public Keyword getFullStopKeyword_1_0() { return cFullStopKeyword_1_0; }
+
+		//INT
+		public RuleCall getINTTerminalRuleCall_1_1() { return cINTTerminalRuleCall_1_1; }
+	}
+
+	public class SINTElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SINT");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Keyword cHyphenMinusKeyword_0 = (Keyword)cGroup.eContents().get(0);
+		private final RuleCall cINTTerminalRuleCall_1 = (RuleCall)cGroup.eContents().get(1);
+		
+		//SINT returns ecore::EInt:
+		//	"-"? INT;
+		public ParserRule getRule() { return rule; }
+
+		//"-"? INT
+		public Group getGroup() { return cGroup; }
+
+		//"-"?
+		public Keyword getHyphenMinusKeyword_0() { return cHyphenMinusKeyword_0; }
+
+		//INT
+		public RuleCall getINTTerminalRuleCall_1() { return cINTTerminalRuleCall_1; }
+	}
+
+	public class QualifiedNameElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "QualifiedName");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final RuleCall cValidIDParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
+		private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
+		private final Keyword cFullStopKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
+		private final RuleCall cValidIDParserRuleCall_1_1 = (RuleCall)cGroup_1.eContents().get(1);
+		
+		//QualifiedName:
+		//	ValidID ("." ValidID)*;
+		public ParserRule getRule() { return rule; }
+
+		//ValidID ("." ValidID)*
+		public Group getGroup() { return cGroup; }
+
+		//ValidID
+		public RuleCall getValidIDParserRuleCall_0() { return cValidIDParserRuleCall_0; }
+
+		//(=> "." ValidID)*
+		public Group getGroup_1() { return cGroup_1; }
+
+		//=> "."
+		public Keyword getFullStopKeyword_1_0() { return cFullStopKeyword_1_0; }
+
+		//ValidID
+		public RuleCall getValidIDParserRuleCall_1_1() { return cValidIDParserRuleCall_1_1; }
+	}
+
+	public class ValidIDElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ValidID");
+		private final RuleCall cIDTerminalRuleCall = (RuleCall)rule.eContents().get(1);
+		
+		//ValidID:
+		//	ID;
+		public ParserRule getRule() { return rule; }
+
+		//ID
+		public RuleCall getIDTerminalRuleCall() { return cIDTerminalRuleCall; }
+	}
+	
+	
+	public class EDateStepTypeElements extends AbstractEnumRuleElementFinder {
+		private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "EDateStepType");
+		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+		private final EnumLiteralDeclaration cDAYSEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
+		private final Keyword cDAYSDaysKeyword_0_0 = (Keyword)cDAYSEnumLiteralDeclaration_0.eContents().get(0);
+		private final EnumLiteralDeclaration cWEEKSEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
+		private final Keyword cWEEKSWeeksKeyword_1_0 = (Keyword)cWEEKSEnumLiteralDeclaration_1.eContents().get(0);
+		private final EnumLiteralDeclaration cMONTHSEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2);
+		private final Keyword cMONTHSMonthsKeyword_2_0 = (Keyword)cMONTHSEnumLiteralDeclaration_2.eContents().get(0);
+		private final EnumLiteralDeclaration cYEARSEnumLiteralDeclaration_3 = (EnumLiteralDeclaration)cAlternatives.eContents().get(3);
+		private final Keyword cYEARSYearsKeyword_3_0 = (Keyword)cYEARSEnumLiteralDeclaration_3.eContents().get(0);
+		
+		//enum EDateStepType:
+		//	DAYS="days" | WEEKS="weeks" | MONTHS="months" | YEARS="years";
+		public EnumRule getRule() { return rule; }
+
+		//DAYS="days" | WEEKS="weeks" | MONTHS="months" | YEARS="years"
+		public Alternatives getAlternatives() { return cAlternatives; }
+
+		//DAYS="days"
+		public EnumLiteralDeclaration getDAYSEnumLiteralDeclaration_0() { return cDAYSEnumLiteralDeclaration_0; }
+
+		//"days"
+		public Keyword getDAYSDaysKeyword_0_0() { return cDAYSDaysKeyword_0_0; }
+
+		//WEEKS="weeks"
+		public EnumLiteralDeclaration getWEEKSEnumLiteralDeclaration_1() { return cWEEKSEnumLiteralDeclaration_1; }
+
+		//"weeks"
+		public Keyword getWEEKSWeeksKeyword_1_0() { return cWEEKSWeeksKeyword_1_0; }
+
+		//MONTHS="months"
+		public EnumLiteralDeclaration getMONTHSEnumLiteralDeclaration_2() { return cMONTHSEnumLiteralDeclaration_2; }
+
+		//"months"
+		public Keyword getMONTHSMonthsKeyword_2_0() { return cMONTHSMonthsKeyword_2_0; }
+
+		//YEARS="years"
+		public EnumLiteralDeclaration getYEARSEnumLiteralDeclaration_3() { return cYEARSEnumLiteralDeclaration_3; }
+
+		//"years"
+		public Keyword getYEARSYearsKeyword_3_0() { return cYEARSYearsKeyword_3_0; }
+	}
+	
+	private final EntityMockModelElements pEntityMockModel;
+	private final EntityMockPackageElements pEntityMockPackage;
+	private final EntityModelImportElements pEntityModelImport;
+	private final EntityMockQualifiedNameWithWildCardElements pEntityMockQualifiedNameWithWildCard;
+	private final RunningDataInterchangesElements pRunningDataInterchanges;
+	private final RunningDataInterchangeElements pRunningDataInterchange;
+	private final EntityMockResourcesElements pEntityMockResources;
+	private final EntityMockResourceElements pEntityMockResource;
+	private final EntityMockResourceAttributeElements pEntityMockResourceAttribute;
+	private final EntityMockResourceDataRowElements pEntityMockResourceDataRow;
+	private final EntityMockObjectsElements pEntityMockObjects;
+	private final EntityMockObjectElements pEntityMockObject;
+	private final EntityMockObjectEnumElements pEntityMockObjectEnum;
+	private final EntityMockDataTypesElements pEntityMockDataTypes;
+	private final IEntityMockObjectUsableElements pIEntityMockObjectUsable;
+	private final IEntityMockObjectAttributeElements pIEntityMockObjectAttribute;
+	private final EntityMockObjectPlainValueElements pEntityMockObjectPlainValue;
+	private final EntityMockObjectResourceValueElements pEntityMockObjectResourceValue;
+	private final EntityMockObjectArrayValueElements pEntityMockObjectArrayValue;
+	private final EntityMockObjectItemValueElements pEntityMockObjectItemValue;
+	private final EntityMockObjectEmbedElements pEntityMockObjectEmbed;
+	private final EntityMockObjectFunctionElements pEntityMockObjectFunction;
+	private final EntityMockObjectFunctionParameterElements pEntityMockObjectFunctionParameter;
+	private final EntityMockObjectFillElements pEntityMockObjectFill;
+	private final PropertyFillerTypeElements pPropertyFillerType;
+	private final PropertyFillerDateFutureElements pPropertyFillerDateFuture;
+	private final PropertyFillerDatePastElements pPropertyFillerDatePast;
+	private final PropertyFillerBooleanElements pPropertyFillerBoolean;
+	private final PropertyFillerDateRangeElements pPropertyFillerDateRange;
+	private final PropertyFillerSignedDoubleRangeElements pPropertyFillerSignedDoubleRange;
+	private final PropertyFillerSignedDoubleRandomElements pPropertyFillerSignedDoubleRandom;
+	private final PropertyFillerSignedIntegerRangeElements pPropertyFillerSignedIntegerRange;
+	private final PropertyFillerSignedIntegerRandomElements pPropertyFillerSignedIntegerRandom;
+	private final PropertyFillerTextRandomElements pPropertyFillerTextRandom;
+	private final PropertyFillerTextParagraphsElements pPropertyFillerTextParagraphs;
+	private final PropertyFillerTextSentencesElements pPropertyFillerTextSentences;
+	private final PropertyFillerTextWordsElements pPropertyFillerTextWords;
+	private final PropertyFillerUnsignedDoubleRangeElements pPropertyFillerUnsignedDoubleRange;
+	private final PropertyFillerUnsignedDoubleRandomElements pPropertyFillerUnsignedDoubleRandom;
+	private final PropertyFillerUnsignedIntegerRangeElements pPropertyFillerUnsignedIntegerRange;
+	private final PropertyFillerUnsignedIntegerRandomElements pPropertyFillerUnsignedIntegerRandom;
+	private final EntityMockDataTypeElements pEntityMockDataType;
+	private final EntityMockEntitiesElements pEntityMockEntities;
+	private final EntityMockEntityElements pEntityMockEntity;
+	private final IIterateElements pIIterate;
+	private final IntegerIterateElements pIntegerIterate;
+	private final DateIterateElements pDateIterate;
+	private final DateElements pDate;
+	private final EDateStepTypeElements unknownRuleEDateStepType;
+	private final EntityMockByResourceAttributeElements pEntityMockByResourceAttribute;
+	private final EntityMockTemporaryElements pEntityMockTemporary;
+	private final IEntityMockEntityUsableElements pIEntityMockEntityUsable;
+	private final IEntityMockAttributeElements pIEntityMockAttribute;
+	private final EntityMockEntityFunctionElements pEntityMockEntityFunction;
+	private final EntityMockEntityFunctionParameterElements pEntityMockEntityFunctionParameter;
+	private final EntityMockReferencedObjectAttributeElements pEntityMockReferencedObjectAttribute;
+	private final EntityMockAttributeByObjectElements pEntityMockAttributeByObject;
+	private final EntityMockAttributeFillerElements pEntityMockAttributeFiller;
+	private final EntityMockAttributeByReferenceElements pEntityMockAttributeByReference;
+	private final SignedNumberElements pSignedNumber;
+	private final UnsignedNumberElements pUnsignedNumber;
+	private final SINTElements pSINT;
+	private final QualifiedNameElements pQualifiedName;
+	private final ValidIDElements pValidID;
+	private final TerminalRule tID;
+	
+	private final Grammar grammar;
+
+	private final XbaseWithAnnotationsGrammarAccess gaXbaseWithAnnotations;
+
+	@Inject
+	public EntityMockDSLGrammarAccess(GrammarProvider grammarProvider,
+		XbaseWithAnnotationsGrammarAccess gaXbaseWithAnnotations) {
+		this.grammar = internalFindGrammar(grammarProvider);
+		this.gaXbaseWithAnnotations = gaXbaseWithAnnotations;
+		this.pEntityMockModel = new EntityMockModelElements();
+		this.pEntityMockPackage = new EntityMockPackageElements();
+		this.pEntityModelImport = new EntityModelImportElements();
+		this.pEntityMockQualifiedNameWithWildCard = new EntityMockQualifiedNameWithWildCardElements();
+		this.pRunningDataInterchanges = new RunningDataInterchangesElements();
+		this.pRunningDataInterchange = new RunningDataInterchangeElements();
+		this.pEntityMockResources = new EntityMockResourcesElements();
+		this.pEntityMockResource = new EntityMockResourceElements();
+		this.pEntityMockResourceAttribute = new EntityMockResourceAttributeElements();
+		this.pEntityMockResourceDataRow = new EntityMockResourceDataRowElements();
+		this.pEntityMockObjects = new EntityMockObjectsElements();
+		this.pEntityMockObject = new EntityMockObjectElements();
+		this.pEntityMockObjectEnum = new EntityMockObjectEnumElements();
+		this.pEntityMockDataTypes = new EntityMockDataTypesElements();
+		this.pIEntityMockObjectUsable = new IEntityMockObjectUsableElements();
+		this.pIEntityMockObjectAttribute = new IEntityMockObjectAttributeElements();
+		this.pEntityMockObjectPlainValue = new EntityMockObjectPlainValueElements();
+		this.pEntityMockObjectResourceValue = new EntityMockObjectResourceValueElements();
+		this.pEntityMockObjectArrayValue = new EntityMockObjectArrayValueElements();
+		this.pEntityMockObjectItemValue = new EntityMockObjectItemValueElements();
+		this.pEntityMockObjectEmbed = new EntityMockObjectEmbedElements();
+		this.pEntityMockObjectFunction = new EntityMockObjectFunctionElements();
+		this.pEntityMockObjectFunctionParameter = new EntityMockObjectFunctionParameterElements();
+		this.pEntityMockObjectFill = new EntityMockObjectFillElements();
+		this.pPropertyFillerType = new PropertyFillerTypeElements();
+		this.pPropertyFillerDateFuture = new PropertyFillerDateFutureElements();
+		this.pPropertyFillerDatePast = new PropertyFillerDatePastElements();
+		this.pPropertyFillerBoolean = new PropertyFillerBooleanElements();
+		this.pPropertyFillerDateRange = new PropertyFillerDateRangeElements();
+		this.pPropertyFillerSignedDoubleRange = new PropertyFillerSignedDoubleRangeElements();
+		this.pPropertyFillerSignedDoubleRandom = new PropertyFillerSignedDoubleRandomElements();
+		this.pPropertyFillerSignedIntegerRange = new PropertyFillerSignedIntegerRangeElements();
+		this.pPropertyFillerSignedIntegerRandom = new PropertyFillerSignedIntegerRandomElements();
+		this.pPropertyFillerTextRandom = new PropertyFillerTextRandomElements();
+		this.pPropertyFillerTextParagraphs = new PropertyFillerTextParagraphsElements();
+		this.pPropertyFillerTextSentences = new PropertyFillerTextSentencesElements();
+		this.pPropertyFillerTextWords = new PropertyFillerTextWordsElements();
+		this.pPropertyFillerUnsignedDoubleRange = new PropertyFillerUnsignedDoubleRangeElements();
+		this.pPropertyFillerUnsignedDoubleRandom = new PropertyFillerUnsignedDoubleRandomElements();
+		this.pPropertyFillerUnsignedIntegerRange = new PropertyFillerUnsignedIntegerRangeElements();
+		this.pPropertyFillerUnsignedIntegerRandom = new PropertyFillerUnsignedIntegerRandomElements();
+		this.pEntityMockDataType = new EntityMockDataTypeElements();
+		this.pEntityMockEntities = new EntityMockEntitiesElements();
+		this.pEntityMockEntity = new EntityMockEntityElements();
+		this.pIIterate = new IIterateElements();
+		this.pIntegerIterate = new IntegerIterateElements();
+		this.pDateIterate = new DateIterateElements();
+		this.pDate = new DateElements();
+		this.unknownRuleEDateStepType = new EDateStepTypeElements();
+		this.pEntityMockByResourceAttribute = new EntityMockByResourceAttributeElements();
+		this.pEntityMockTemporary = new EntityMockTemporaryElements();
+		this.pIEntityMockEntityUsable = new IEntityMockEntityUsableElements();
+		this.pIEntityMockAttribute = new IEntityMockAttributeElements();
+		this.pEntityMockEntityFunction = new EntityMockEntityFunctionElements();
+		this.pEntityMockEntityFunctionParameter = new EntityMockEntityFunctionParameterElements();
+		this.pEntityMockReferencedObjectAttribute = new EntityMockReferencedObjectAttributeElements();
+		this.pEntityMockAttributeByObject = new EntityMockAttributeByObjectElements();
+		this.pEntityMockAttributeFiller = new EntityMockAttributeFillerElements();
+		this.pEntityMockAttributeByReference = new EntityMockAttributeByReferenceElements();
+		this.pSignedNumber = new SignedNumberElements();
+		this.pUnsignedNumber = new UnsignedNumberElements();
+		this.pSINT = new SINTElements();
+		this.pQualifiedName = new QualifiedNameElements();
+		this.pValidID = new ValidIDElements();
+		this.tID = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "ID");
+	}
+	
+	protected Grammar internalFindGrammar(GrammarProvider grammarProvider) {
+		Grammar grammar = grammarProvider.getGrammar(this);
+		while (grammar != null) {
+			if ("org.eclipse.osbp.xtext.entitymock.EntityMockDSL".equals(grammar.getName())) {
+				return grammar;
+			}
+			List<Grammar> grammars = grammar.getUsedGrammars();
+			if (!grammars.isEmpty()) {
+				grammar = grammars.iterator().next();
+			} else {
+				return null;
+			}
+		}
+		return grammar;
+	}
+	
+	
+	public Grammar getGrammar() {
+		return grammar;
+	}
+	
+
+	public XbaseWithAnnotationsGrammarAccess getXbaseWithAnnotationsGrammarAccess() {
+		return gaXbaseWithAnnotations;
+	}
+
+	
+	//EntityMockModel:
+	//	packages+=EntityMockPackage*;
+	public EntityMockModelElements getEntityMockModelAccess() {
+		return pEntityMockModel;
+	}
+	
+	public ParserRule getEntityMockModelRule() {
+		return getEntityMockModelAccess().getRule();
+	}
+
+	//EntityMockPackage:
+	//	"mock entitymodel for" imports+=EntityModelImport "{" ("run with priority" runPriority=INT)? ("import"
+	//	imports+=EntityModelImport)* datainterchanges=RunningDataInterchanges? resources=EntityMockResources?
+	//	objects=EntityMockObjects? datatypes=EntityMockDataTypes? entities=EntityMockEntities "}";
+	public EntityMockPackageElements getEntityMockPackageAccess() {
+		return pEntityMockPackage;
+	}
+	
+	public ParserRule getEntityMockPackageRule() {
+		return getEntityMockPackageAccess().getRule();
+	}
+
+	//EntityModelImport returns types::LImport:
+	//	importedNamespace=EntityMockQualifiedNameWithWildCard;
+	public EntityModelImportElements getEntityModelImportAccess() {
+		return pEntityModelImport;
+	}
+	
+	public ParserRule getEntityModelImportRule() {
+		return getEntityModelImportAccess().getRule();
+	}
+
+	//EntityMockQualifiedNameWithWildCard:
+	//	QualifiedName ("." "*")?;
+	public EntityMockQualifiedNameWithWildCardElements getEntityMockQualifiedNameWithWildCardAccess() {
+		return pEntityMockQualifiedNameWithWildCard;
+	}
+	
+	public ParserRule getEntityMockQualifiedNameWithWildCardRule() {
+		return getEntityMockQualifiedNameWithWildCardAccess().getRule();
+	}
+
+	//RunningDataInterchanges:
+	//	{RunningDataInterchanges} "datainterchanges" "{" datainterchanges+=RunningDataInterchange* "}";
+	public RunningDataInterchangesElements getRunningDataInterchangesAccess() {
+		return pRunningDataInterchanges;
+	}
+	
+	public ParserRule getRunningDataInterchangesRule() {
+		return getRunningDataInterchangesAccess().getRule();
+	}
+
+	//RunningDataInterchange:
+	//	{RunningDataInterchange} "datainterchange import" datainterchangeRef=[datainterchange::DataInterchange] "from file"
+	//	fileURL=STRING;
+	public RunningDataInterchangeElements getRunningDataInterchangeAccess() {
+		return pRunningDataInterchange;
+	}
+	
+	public ParserRule getRunningDataInterchangeRule() {
+		return getRunningDataInterchangeAccess().getRule();
+	}
+
+	//EntityMockResources:
+	//	{EntityMockResources} "resources" "{" resources+=EntityMockResource* "}";
+	public EntityMockResourcesElements getEntityMockResourcesAccess() {
+		return pEntityMockResources;
+	}
+	
+	public ParserRule getEntityMockResourcesRule() {
+		return getEntityMockResourcesAccess().getRule();
+	}
+
+	//EntityMockResource:
+	//	"resource" name=QualifiedName "{" ("attributes" "(" (attributes+=EntityMockResourceAttribute ","?)* ")")? "items" "{"
+	//	datarows+=EntityMockResourceDataRow* "}" "}";
+	public EntityMockResourceElements getEntityMockResourceAccess() {
+		return pEntityMockResource;
+	}
+	
+	public ParserRule getEntityMockResourceRule() {
+		return getEntityMockResourceAccess().getRule();
+	}
+
+	//EntityMockResourceAttribute:
+	//	{EntityMockResourceAttribute} name=QualifiedName;
+	public EntityMockResourceAttributeElements getEntityMockResourceAttributeAccess() {
+		return pEntityMockResourceAttribute;
+	}
+	
+	public ParserRule getEntityMockResourceAttributeRule() {
+		return getEntityMockResourceAttributeAccess().getRule();
+	}
+
+	//EntityMockResourceDataRow:
+	//	{EntityMockResourceDataRow} name=QualifiedName ("(" (values+=STRING ","?)* ")")?;
+	public EntityMockResourceDataRowElements getEntityMockResourceDataRowAccess() {
+		return pEntityMockResourceDataRow;
+	}
+	
+	public ParserRule getEntityMockResourceDataRowRule() {
+		return getEntityMockResourceDataRowAccess().getRule();
+	}
+
+	//EntityMockObjects:
+	//	{EntityMockObjects} "objects" "{" objects+=EntityMockObject* "}";
+	public EntityMockObjectsElements getEntityMockObjectsAccess() {
+		return pEntityMockObjects;
+	}
+	
+	public ParserRule getEntityMockObjectsRule() {
+		return getEntityMockObjectsAccess().getRule();
+	}
+
+	//EntityMockObject:
+	//	"object" name=QualifiedName "{" enumerations+=EntityMockObjectEnum* attributes+=IEntityMockObjectAttribute*
+	//	calculations+=EntityMockObjectFunction* "}";
+	public EntityMockObjectElements getEntityMockObjectAccess() {
+		return pEntityMockObject;
+	}
+	
+	public ParserRule getEntityMockObjectRule() {
+		return getEntityMockObjectAccess().getRule();
+	}
+
+	//EntityMockObjectEnum:
+	//	"var" name=QualifiedName "by enum" usingResource=[types::LEnum];
+	public EntityMockObjectEnumElements getEntityMockObjectEnumAccess() {
+		return pEntityMockObjectEnum;
+	}
+	
+	public ParserRule getEntityMockObjectEnumRule() {
+		return getEntityMockObjectEnumAccess().getRule();
+	}
+
+	//EntityMockDataTypes:
+	//	{EntityMockDataTypes} "datatypes" "{" datatypes+=EntityMockDataType* "}";
+	public EntityMockDataTypesElements getEntityMockDataTypesAccess() {
+		return pEntityMockDataTypes;
+	}
+	
+	public ParserRule getEntityMockDataTypesRule() {
+		return getEntityMockDataTypesAccess().getRule();
+	}
+
+	//IEntityMockObjectUsable:
+	//	EntityMockObjectFunction | EntityMockObjectEnum | EntityMockObjectPlainValue | EntityMockObjectArrayValue |
+	//	EntityMockObjectEmbed | EntityMockObjectFill;
+	public IEntityMockObjectUsableElements getIEntityMockObjectUsableAccess() {
+		return pIEntityMockObjectUsable;
+	}
+	
+	public ParserRule getIEntityMockObjectUsableRule() {
+		return getIEntityMockObjectUsableAccess().getRule();
+	}
+
+	//IEntityMockObjectAttribute:
+	//	EntityMockObjectResourceValue | EntityMockObjectPlainValue | EntityMockObjectArrayValue | EntityMockObjectEmbed |
+	//	EntityMockObjectFill;
+	public IEntityMockObjectAttributeElements getIEntityMockObjectAttributeAccess() {
+		return pIEntityMockObjectAttribute;
+	}
+	
+	public ParserRule getIEntityMockObjectAttributeRule() {
+		return getIEntityMockObjectAttributeAccess().getRule();
+	}
+
+	//EntityMockObjectPlainValue:
+	//	"var" name=QualifiedName "(" (values+=STRING ","?)* ")";
+	public EntityMockObjectPlainValueElements getEntityMockObjectPlainValueAccess() {
+		return pEntityMockObjectPlainValue;
+	}
+	
+	public ParserRule getEntityMockObjectPlainValueRule() {
+		return getEntityMockObjectPlainValueAccess().getRule();
+	}
+
+	//EntityMockObjectResourceValue:
+	//	"var" name=QualifiedName "with" resourceEnum=[EntityMockObjectEnum] ("."
+	//	resourceAttribute=[EntityMockResourceAttribute])?;
+	public EntityMockObjectResourceValueElements getEntityMockObjectResourceValueAccess() {
+		return pEntityMockObjectResourceValue;
+	}
+	
+	public ParserRule getEntityMockObjectResourceValueRule() {
+		return getEntityMockObjectResourceValueAccess().getRule();
+	}
+
+	//EntityMockObjectArrayValue:
+	//	"var" name=QualifiedName "switch on" enumeration=[EntityMockObjectEnum] "{" items+=EntityMockObjectItemValue* "}";
+	public EntityMockObjectArrayValueElements getEntityMockObjectArrayValueAccess() {
+		return pEntityMockObjectArrayValue;
+	}
+	
+	public ParserRule getEntityMockObjectArrayValueRule() {
+		return getEntityMockObjectArrayValueAccess().getRule();
+	}
+
+	//EntityMockObjectItemValue:
+	//	"when" datarow=[types::LEnumLiteral] "(" (values+=STRING ","?)* ")";
+	public EntityMockObjectItemValueElements getEntityMockObjectItemValueAccess() {
+		return pEntityMockObjectItemValue;
+	}
+	
+	public ParserRule getEntityMockObjectItemValueRule() {
+		return getEntityMockObjectItemValueAccess().getRule();
+	}
+
+	//EntityMockObjectEmbed:
+	//	{EntityMockObjectEmbed} "embed" name=QualifiedName "defined as" object=[EntityMockObject];
+	public EntityMockObjectEmbedElements getEntityMockObjectEmbedAccess() {
+		return pEntityMockObjectEmbed;
+	}
+	
+	public ParserRule getEntityMockObjectEmbedRule() {
+		return getEntityMockObjectEmbedAccess().getRule();
+	}
+
+	//EntityMockObjectFunction:
+	//	"var" name=QualifiedName "calculate as" oftype=JvmParameterizedTypeReference "based on" "("
+	//	(params+=EntityMockObjectFunctionParameter ("," params+=EntityMockObjectFunctionParameter)*)? ")"
+	//	body=XBlockExpression;
+	public EntityMockObjectFunctionElements getEntityMockObjectFunctionAccess() {
+		return pEntityMockObjectFunction;
+	}
+	
+	public ParserRule getEntityMockObjectFunctionRule() {
+		return getEntityMockObjectFunctionAccess().getRule();
+	}
+
+	//EntityMockObjectFunctionParameter:
+	//	parameterType=JvmTypeReference name=[IEntityMockObjectUsable];
+	public EntityMockObjectFunctionParameterElements getEntityMockObjectFunctionParameterAccess() {
+		return pEntityMockObjectFunctionParameter;
+	}
+	
+	public ParserRule getEntityMockObjectFunctionParameterRule() {
+		return getEntityMockObjectFunctionParameterAccess().getRule();
+	}
+
+	//EntityMockObjectFill:
+	//	"var" name=QualifiedName "randomize" fillerType=PropertyFillerType;
+	public EntityMockObjectFillElements getEntityMockObjectFillAccess() {
+		return pEntityMockObjectFill;
+	}
+	
+	public ParserRule getEntityMockObjectFillRule() {
+		return getEntityMockObjectFillAccess().getRule();
+	}
+
+	//PropertyFillerType:
+	//	PropertyFillerDateFuture | PropertyFillerDatePast | PropertyFillerDateRange | PropertyFillerBoolean |
+	//	PropertyFillerSignedDoubleRange | PropertyFillerSignedDoubleRandom | PropertyFillerSignedIntegerRange |
+	//	PropertyFillerSignedIntegerRandom | PropertyFillerTextRandom | PropertyFillerTextParagraphs |
+	//	PropertyFillerTextSentences | PropertyFillerTextWords | PropertyFillerUnsignedDoubleRange |
+	//	PropertyFillerUnsignedDoubleRandom | PropertyFillerUnsignedIntegerRange | PropertyFillerUnsignedIntegerRandom;
+	public PropertyFillerTypeElements getPropertyFillerTypeAccess() {
+		return pPropertyFillerType;
+	}
+	
+	public ParserRule getPropertyFillerTypeRule() {
+		return getPropertyFillerTypeAccess().getRule();
+	}
+
+	//PropertyFillerDateFuture:
+	//	"future date" dateFutureYears=INT "years";
+	public PropertyFillerDateFutureElements getPropertyFillerDateFutureAccess() {
+		return pPropertyFillerDateFuture;
+	}
+	
+	public ParserRule getPropertyFillerDateFutureRule() {
+		return getPropertyFillerDateFutureAccess().getRule();
+	}
+
+	//PropertyFillerDatePast:
+	//	"past date" datePastYears=INT "years";
+	public PropertyFillerDatePastElements getPropertyFillerDatePastAccess() {
+		return pPropertyFillerDatePast;
+	}
+	
+	public ParserRule getPropertyFillerDatePastRule() {
+		return getPropertyFillerDatePastAccess().getRule();
+	}
+
+	//PropertyFillerBoolean:
+	//	{PropertyFillerBoolean} "boolean";
+	public PropertyFillerBooleanElements getPropertyFillerBooleanAccess() {
+		return pPropertyFillerBoolean;
+	}
+	
+	public ParserRule getPropertyFillerBooleanRule() {
+		return getPropertyFillerBooleanAccess().getRule();
+	}
+
+	//PropertyFillerDateRange:
+	//	"date in range" dateBeginYears=SINT "up to and including" dateEndYears=SINT "years";
+	public PropertyFillerDateRangeElements getPropertyFillerDateRangeAccess() {
+		return pPropertyFillerDateRange;
+	}
+	
+	public ParserRule getPropertyFillerDateRangeRule() {
+		return getPropertyFillerDateRangeAccess().getRule();
+	}
+
+	//PropertyFillerSignedDoubleRange:
+	//	"signed double in range" ((beginRange=SignedNumber | beginRangeRef=[entity::LEntityAttribute])? "up to and including"
+	//	(endRange=SignedNumber | endRangeRef=[entity::LEntityAttribute]))? "with" decimals=INT "decimals" ("round to"
+	//	rounded=UnsignedNumber)?;
+	public PropertyFillerSignedDoubleRangeElements getPropertyFillerSignedDoubleRangeAccess() {
+		return pPropertyFillerSignedDoubleRange;
+	}
+	
+	public ParserRule getPropertyFillerSignedDoubleRangeRule() {
+		return getPropertyFillerSignedDoubleRangeAccess().getRule();
+	}
+
+	//PropertyFillerSignedDoubleRandom:
+	//	"signed double from" "(" items+=SignedNumber+ ")";
+	public PropertyFillerSignedDoubleRandomElements getPropertyFillerSignedDoubleRandomAccess() {
+		return pPropertyFillerSignedDoubleRandom;
+	}
+	
+	public ParserRule getPropertyFillerSignedDoubleRandomRule() {
+		return getPropertyFillerSignedDoubleRandomAccess().getRule();
+	}
+
+	//PropertyFillerSignedIntegerRange:
+	//	{PropertyFillerSignedIntegerRange} "signed integer in range" ((beginRange=SINT |
+	//	beginRangeRef=[entity::LEntityAttribute])? "up to and including" (endRange=SINT |
+	//	endRangeRef=[entity::LEntityAttribute]))? ("round to" rounded=INT)?;
+	public PropertyFillerSignedIntegerRangeElements getPropertyFillerSignedIntegerRangeAccess() {
+		return pPropertyFillerSignedIntegerRange;
+	}
+	
+	public ParserRule getPropertyFillerSignedIntegerRangeRule() {
+		return getPropertyFillerSignedIntegerRangeAccess().getRule();
+	}
+
+	//PropertyFillerSignedIntegerRandom:
+	//	"signed integer from" "(" items+=SINT+ ")";
+	public PropertyFillerSignedIntegerRandomElements getPropertyFillerSignedIntegerRandomAccess() {
+		return pPropertyFillerSignedIntegerRandom;
+	}
+	
+	public ParserRule getPropertyFillerSignedIntegerRandomRule() {
+		return getPropertyFillerSignedIntegerRandomAccess().getRule();
+	}
+
+	//PropertyFillerTextRandom:
+	//	"text from" "(" items+=STRING+ ")";
+	public PropertyFillerTextRandomElements getPropertyFillerTextRandomAccess() {
+		return pPropertyFillerTextRandom;
+	}
+	
+	public ParserRule getPropertyFillerTextRandomRule() {
+		return getPropertyFillerTextRandomAccess().getRule();
+	}
+
+	//PropertyFillerTextParagraphs:
+	//	{PropertyFillerTextParagraphs} "paragraps" count=INT?;
+	public PropertyFillerTextParagraphsElements getPropertyFillerTextParagraphsAccess() {
+		return pPropertyFillerTextParagraphs;
+	}
+	
+	public ParserRule getPropertyFillerTextParagraphsRule() {
+		return getPropertyFillerTextParagraphsAccess().getRule();
+	}
+
+	//PropertyFillerTextSentences:
+	//	{PropertyFillerTextSentences} "sentences" count=INT?;
+	public PropertyFillerTextSentencesElements getPropertyFillerTextSentencesAccess() {
+		return pPropertyFillerTextSentences;
+	}
+	
+	public ParserRule getPropertyFillerTextSentencesRule() {
+		return getPropertyFillerTextSentencesAccess().getRule();
+	}
+
+	//PropertyFillerTextWords:
+	//	{PropertyFillerTextWords} "words" count=INT?;
+	public PropertyFillerTextWordsElements getPropertyFillerTextWordsAccess() {
+		return pPropertyFillerTextWords;
+	}
+	
+	public ParserRule getPropertyFillerTextWordsRule() {
+		return getPropertyFillerTextWordsAccess().getRule();
+	}
+
+	//PropertyFillerUnsignedDoubleRange:
+	//	"unsigned double in range" ((beginRange=UnsignedNumber | beginRangeRef=[entity::LEntityAttribute])?
+	//	"up to and including" (endRange=UnsignedNumber | endRangeRef=[entity::LEntityAttribute]))? "with" decimals=INT
+	//	"decimals" ("round to" rounded=UnsignedNumber)?;
+	public PropertyFillerUnsignedDoubleRangeElements getPropertyFillerUnsignedDoubleRangeAccess() {
+		return pPropertyFillerUnsignedDoubleRange;
+	}
+	
+	public ParserRule getPropertyFillerUnsignedDoubleRangeRule() {
+		return getPropertyFillerUnsignedDoubleRangeAccess().getRule();
+	}
+
+	//PropertyFillerUnsignedDoubleRandom:
+	//	"unsigned double from" "(" items+=UnsignedNumber+ ")";
+	public PropertyFillerUnsignedDoubleRandomElements getPropertyFillerUnsignedDoubleRandomAccess() {
+		return pPropertyFillerUnsignedDoubleRandom;
+	}
+	
+	public ParserRule getPropertyFillerUnsignedDoubleRandomRule() {
+		return getPropertyFillerUnsignedDoubleRandomAccess().getRule();
+	}
+
+	//PropertyFillerUnsignedIntegerRange:
+	//	{PropertyFillerUnsignedIntegerRange} "unsigned integer in range" ((beginRange=INT |
+	//	beginRangeRef=[entity::LEntityAttribute])? "up to and including" (endRange=INT |
+	//	endRangeRef=[entity::LEntityAttribute]))? ("round to" rounded=INT)?;
+	public PropertyFillerUnsignedIntegerRangeElements getPropertyFillerUnsignedIntegerRangeAccess() {
+		return pPropertyFillerUnsignedIntegerRange;
+	}
+	
+	public ParserRule getPropertyFillerUnsignedIntegerRangeRule() {
+		return getPropertyFillerUnsignedIntegerRangeAccess().getRule();
+	}
+
+	//PropertyFillerUnsignedIntegerRandom:
+	//	"unsigned integer from" "(" items+=INT+ ")";
+	public PropertyFillerUnsignedIntegerRandomElements getPropertyFillerUnsignedIntegerRandomAccess() {
+		return pPropertyFillerUnsignedIntegerRandom;
+	}
+	
+	public ParserRule getPropertyFillerUnsignedIntegerRandomRule() {
+		return getPropertyFillerUnsignedIntegerRandomAccess().getRule();
+	}
+
+	//EntityMockDataType:
+	//	"datatype" name=QualifiedName "{" "}";
+	public EntityMockDataTypeElements getEntityMockDataTypeAccess() {
+		return pEntityMockDataType;
+	}
+	
+	public ParserRule getEntityMockDataTypeRule() {
+		return getEntityMockDataTypeAccess().getRule();
+	}
+
+	//EntityMockEntities:
+	//	{EntityMockEntities} "mock entities" "{" entities+=EntityMockEntity* "}";
+	public EntityMockEntitiesElements getEntityMockEntitiesAccess() {
+		return pEntityMockEntities;
+	}
+	
+	public ParserRule getEntityMockEntitiesRule() {
+		return getEntityMockEntitiesAccess().getRule();
+	}
+
+	//EntityMockEntity:
+	//	"mocking" name=QualifiedName "for entity" entityRef=[entity::LEntity] ("rows" minRows=INT "to" maxRows=INT "{"
+	//	temporaries+=EntityMockTemporary* attributes+=IEntityMockAttribute* calculations+=EntityMockEntityFunction* "}" |
+	//	"by resource" byResource=[EntityMockResource] "{" byResourceAttributes+=EntityMockByResourceAttribute*
+	//	createBlobMapping?="createBlobMapping"? "}" | "iterate" iterator=[entity::LEntityAttribute] "with" iterate=IIterate
+	//	"{" temporaries+=EntityMockTemporary* attributes+=IEntityMockAttribute* calculations+=EntityMockEntityFunction* "}");
+	public EntityMockEntityElements getEntityMockEntityAccess() {
+		return pEntityMockEntity;
+	}
+	
+	public ParserRule getEntityMockEntityRule() {
+		return getEntityMockEntityAccess().getRule();
+	}
+
+	//IIterate:
+	//	IntegerIterate | DateIterate;
+	public IIterateElements getIIterateAccess() {
+		return pIIterate;
+	}
+	
+	public ParserRule getIIterateRule() {
+		return getIIterateAccess().getRule();
+	}
+
+	//IntegerIterate:
+	//	"integer from" from=SINT "until" until=SINT "step" step=INT;
+	public IntegerIterateElements getIntegerIterateAccess() {
+		return pIntegerIterate;
+	}
+	
+	public ParserRule getIntegerIterateRule() {
+		return getIntegerIterateAccess().getRule();
+	}
+
+	//DateIterate:
+	//	"date from" from=Date "until" until=Date "every" stepCount=INT stepType=EDateStepType;
+	public DateIterateElements getDateIterateAccess() {
+		return pDateIterate;
+	}
+	
+	public ParserRule getDateIterateRule() {
+		return getDateIterateAccess().getRule();
+	}
+
+	//Date:
+	//	yesterday?="yesterday" | today?="today" | tomorrow?="tomorrow" | year=INT "-" month=INT "-" day=INT;
+	public DateElements getDateAccess() {
+		return pDate;
+	}
+	
+	public ParserRule getDateRule() {
+		return getDateAccess().getRule();
+	}
+
+	//enum EDateStepType:
+	//	DAYS="days" | WEEKS="weeks" | MONTHS="months" | YEARS="years";
+	public EDateStepTypeElements getEDateStepTypeAccess() {
+		return unknownRuleEDateStepType;
+	}
+	
+	public EnumRule getEDateStepTypeRule() {
+		return getEDateStepTypeAccess().getRule();
+	}
+
+	//EntityMockByResourceAttribute:
+	//	{EntityMockByResourceAttribute} "var" attributeRef=[entity::LEntityAttribute] "as"
+	//	resourceAttribute=[EntityMockResourceAttribute];
+	public EntityMockByResourceAttributeElements getEntityMockByResourceAttributeAccess() {
+		return pEntityMockByResourceAttribute;
+	}
+	
+	public ParserRule getEntityMockByResourceAttributeRule() {
+		return getEntityMockByResourceAttributeAccess().getRule();
+	}
+
+	//EntityMockTemporary:
+	//	"temporary" name=QualifiedName "by object" object=[EntityMockObject];
+	public EntityMockTemporaryElements getEntityMockTemporaryAccess() {
+		return pEntityMockTemporary;
+	}
+	
+	public ParserRule getEntityMockTemporaryRule() {
+		return getEntityMockTemporaryAccess().getRule();
+	}
+
+	//IEntityMockEntityUsable:
+	//	IEntityMockAttribute | EntityMockEntityFunction;
+	public IEntityMockEntityUsableElements getIEntityMockEntityUsableAccess() {
+		return pIEntityMockEntityUsable;
+	}
+	
+	public ParserRule getIEntityMockEntityUsableRule() {
+		return getIEntityMockEntityUsableAccess().getRule();
+	}
+
+	//IEntityMockAttribute:
+	//	EntityMockAttributeByObject | EntityMockAttributeFiller | EntityMockAttributeByReference;
+	public IEntityMockAttributeElements getIEntityMockAttributeAccess() {
+		return pIEntityMockAttribute;
+	}
+	
+	public ParserRule getIEntityMockAttributeRule() {
+		return getIEntityMockAttributeAccess().getRule();
+	}
+
+	//EntityMockEntityFunction:
+	//	"var" attributeRef=[entity::LEntityAttribute] "calculate based on" "(" (params+=EntityMockEntityFunctionParameter
+	//	("," params+=EntityMockEntityFunctionParameter)*)? ")" body=XBlockExpression;
+	public EntityMockEntityFunctionElements getEntityMockEntityFunctionAccess() {
+		return pEntityMockEntityFunction;
+	}
+	
+	public ParserRule getEntityMockEntityFunctionRule() {
+		return getEntityMockEntityFunctionAccess().getRule();
+	}
+
+	//EntityMockEntityFunctionParameter:
+	//	attributeRef=[entity::LEntityAttribute] | referencePaths+=[entity::LEntityReference] ("."?
+	//	referencePaths+=[entity::LEntityReference])* "." referenceRef=[entity::LEntityAttribute];
+	public EntityMockEntityFunctionParameterElements getEntityMockEntityFunctionParameterAccess() {
+		return pEntityMockEntityFunctionParameter;
+	}
+	
+	public ParserRule getEntityMockEntityFunctionParameterRule() {
+		return getEntityMockEntityFunctionParameterAccess().getRule();
+	}
+
+	//EntityMockReferencedObjectAttribute:
+	//	{EntityMockReferencedObjectAttribute} temporary=[EntityMockTemporary] ("."? embedded+=[EntityMockObjectEmbed])* "."
+	//	attribute=[IEntityMockObjectUsable];
+	public EntityMockReferencedObjectAttributeElements getEntityMockReferencedObjectAttributeAccess() {
+		return pEntityMockReferencedObjectAttribute;
+	}
+	
+	public ParserRule getEntityMockReferencedObjectAttributeRule() {
+		return getEntityMockReferencedObjectAttributeAccess().getRule();
+	}
+
+	//EntityMockAttributeByObject:
+	//	"var" attributeRef=[entity::LEntityAttribute] ("as" reference=EntityMockReferencedObjectAttribute) | "using"
+	//	resourceEnum=[EntityMockObjectEnum] "." resourceAttribute=[EntityMockResourceAttribute];
+	public EntityMockAttributeByObjectElements getEntityMockAttributeByObjectAccess() {
+		return pEntityMockAttributeByObject;
+	}
+	
+	public ParserRule getEntityMockAttributeByObjectRule() {
+		return getEntityMockAttributeByObjectAccess().getRule();
+	}
+
+	//EntityMockAttributeFiller:
+	//	"var" attributeRef=[entity::LEntityAttribute] "randomize" fillerType=PropertyFillerType;
+	public EntityMockAttributeFillerElements getEntityMockAttributeFillerAccess() {
+		return pEntityMockAttributeFiller;
+	}
+	
+	public ParserRule getEntityMockAttributeFillerRule() {
+		return getEntityMockAttributeFillerAccess().getRule();
+	}
+
+	//EntityMockAttributeByReference:
+	//	"ref" attributeRef=[entity::LEntityReference] "to" ("existing entities" | mockedEntity=[EntityMockEntity])
+	//	("optional for" optionalFor=INT "percent")?;
+	public EntityMockAttributeByReferenceElements getEntityMockAttributeByReferenceAccess() {
+		return pEntityMockAttributeByReference;
+	}
+	
+	public ParserRule getEntityMockAttributeByReferenceRule() {
+		return getEntityMockAttributeByReferenceAccess().getRule();
+	}
+
+	//SignedNumber returns ecore::EDouble:
+	//	"-"? UnsignedNumber;
+	public SignedNumberElements getSignedNumberAccess() {
+		return pSignedNumber;
+	}
+	
+	public ParserRule getSignedNumberRule() {
+		return getSignedNumberAccess().getRule();
+	}
+
+	//UnsignedNumber returns ecore::EDouble:
+	//	INT ("." INT)?;
+	public UnsignedNumberElements getUnsignedNumberAccess() {
+		return pUnsignedNumber;
+	}
+	
+	public ParserRule getUnsignedNumberRule() {
+		return getUnsignedNumberAccess().getRule();
+	}
+
+	//SINT returns ecore::EInt:
+	//	"-"? INT;
+	public SINTElements getSINTAccess() {
+		return pSINT;
+	}
+	
+	public ParserRule getSINTRule() {
+		return getSINTAccess().getRule();
+	}
+
+	//QualifiedName:
+	//	ValidID ("." ValidID)*;
+	public QualifiedNameElements getQualifiedNameAccess() {
+		return pQualifiedName;
+	}
+	
+	public ParserRule getQualifiedNameRule() {
+		return getQualifiedNameAccess().getRule();
+	}
+
+	//ValidID:
+	//	ID;
+	public ValidIDElements getValidIDAccess() {
+		return pValidID;
+	}
+	
+	public ParserRule getValidIDRule() {
+		return getValidIDAccess().getRule();
+	}
+
+	//terminal ID:
+	//	"^"? ("a".."z" | "A".."Z" | "$" | "_") ("a".."z" | "A".."Z" | "$" | "_" | "0".."9")*;
+	public TerminalRule getIDRule() {
+		return tID;
+	} 
+
+	//XAnnotation:
+	//	{XAnnotation} "@" annotationType=[types::JvmAnnotationType|QualifiedName] ("("
+	//	(elementValuePairs+=XAnnotationElementValuePair ("," elementValuePairs+=XAnnotationElementValuePair)* |
+	//	value=XAnnotationElementValueOrCommaList)? ")")?;
+	public XbaseWithAnnotationsGrammarAccess.XAnnotationElements getXAnnotationAccess() {
+		return gaXbaseWithAnnotations.getXAnnotationAccess();
+	}
+	
+	public ParserRule getXAnnotationRule() {
+		return getXAnnotationAccess().getRule();
+	}
+
+	//XAnnotationElementValuePair:
+	//	=> (element=[types::JvmOperation|ValidID] "=") value=XAnnotationElementValue;
+	public XbaseWithAnnotationsGrammarAccess.XAnnotationElementValuePairElements getXAnnotationElementValuePairAccess() {
+		return gaXbaseWithAnnotations.getXAnnotationElementValuePairAccess();
+	}
+	
+	public ParserRule getXAnnotationElementValuePairRule() {
+		return getXAnnotationElementValuePairAccess().getRule();
+	}
+
+	//XAnnotationElementValueOrCommaList returns xbase::XExpression:
+	//	=> ({xbase::XListLiteral} "#" "[") (elements+=XAnnotationOrExpression ("," elements+=XAnnotationOrExpression)*)? "]"
+	//	| XAnnotationOrExpression ({xbase::XListLiteral.elements+=current} ("," elements+=XAnnotationOrExpression)+)?;
+	public XbaseWithAnnotationsGrammarAccess.XAnnotationElementValueOrCommaListElements getXAnnotationElementValueOrCommaListAccess() {
+		return gaXbaseWithAnnotations.getXAnnotationElementValueOrCommaListAccess();
+	}
+	
+	public ParserRule getXAnnotationElementValueOrCommaListRule() {
+		return getXAnnotationElementValueOrCommaListAccess().getRule();
+	}
+
+	//XAnnotationElementValue returns xbase::XExpression:
+	//	=> ({xbase::XListLiteral} "#" "[") (elements+=XAnnotationOrExpression ("," elements+=XAnnotationOrExpression)*)? "]"
+	//	| XAnnotationOrExpression;
+	public XbaseWithAnnotationsGrammarAccess.XAnnotationElementValueElements getXAnnotationElementValueAccess() {
+		return gaXbaseWithAnnotations.getXAnnotationElementValueAccess();
+	}
+	
+	public ParserRule getXAnnotationElementValueRule() {
+		return getXAnnotationElementValueAccess().getRule();
+	}
+
+	//XAnnotationOrExpression returns xbase::XExpression:
+	//	XAnnotation | XExpression;
+	public XbaseWithAnnotationsGrammarAccess.XAnnotationOrExpressionElements getXAnnotationOrExpressionAccess() {
+		return gaXbaseWithAnnotations.getXAnnotationOrExpressionAccess();
+	}
+	
+	public ParserRule getXAnnotationOrExpressionRule() {
+		return getXAnnotationOrExpressionAccess().getRule();
+	}
+
+	//XExpression:
+	//	XAssignment;
+	public XbaseGrammarAccess.XExpressionElements getXExpressionAccess() {
+		return gaXbaseWithAnnotations.getXExpressionAccess();
+	}
+	
+	public ParserRule getXExpressionRule() {
+		return getXExpressionAccess().getRule();
+	}
+
+	//XAssignment returns XExpression:
+	//	{XAssignment} feature=[types::JvmIdentifiableElement|FeatureCallID] OpSingleAssign value=XAssignment | XOrExpression
+	//	(=> ({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpMultiAssign])
+	//	rightOperand=XAssignment)?;
+	public XbaseGrammarAccess.XAssignmentElements getXAssignmentAccess() {
+		return gaXbaseWithAnnotations.getXAssignmentAccess();
+	}
+	
+	public ParserRule getXAssignmentRule() {
+		return getXAssignmentAccess().getRule();
+	}
+
+	//OpSingleAssign:
+	//	"=";
+	public XbaseGrammarAccess.OpSingleAssignElements getOpSingleAssignAccess() {
+		return gaXbaseWithAnnotations.getOpSingleAssignAccess();
+	}
+	
+	public ParserRule getOpSingleAssignRule() {
+		return getOpSingleAssignAccess().getRule();
+	}
+
+	//OpMultiAssign:
+	//	"+=" | "-=" | "*=" | "/=" | "%=" | "<" "<" "=" | ">" ">"? ">=";
+	public XbaseGrammarAccess.OpMultiAssignElements getOpMultiAssignAccess() {
+		return gaXbaseWithAnnotations.getOpMultiAssignAccess();
+	}
+	
+	public ParserRule getOpMultiAssignRule() {
+		return getOpMultiAssignAccess().getRule();
+	}
+
+	//XOrExpression returns XExpression:
+	//	XAndExpression (=> ({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpOr])
+	//	rightOperand=XAndExpression)*;
+	public XbaseGrammarAccess.XOrExpressionElements getXOrExpressionAccess() {
+		return gaXbaseWithAnnotations.getXOrExpressionAccess();
+	}
+	
+	public ParserRule getXOrExpressionRule() {
+		return getXOrExpressionAccess().getRule();
+	}
+
+	//OpOr:
+	//	"||";
+	public XbaseGrammarAccess.OpOrElements getOpOrAccess() {
+		return gaXbaseWithAnnotations.getOpOrAccess();
+	}
+	
+	public ParserRule getOpOrRule() {
+		return getOpOrAccess().getRule();
+	}
+
+	//XAndExpression returns XExpression:
+	//	XEqualityExpression (=> ({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpAnd])
+	//	rightOperand=XEqualityExpression)*;
+	public XbaseGrammarAccess.XAndExpressionElements getXAndExpressionAccess() {
+		return gaXbaseWithAnnotations.getXAndExpressionAccess();
+	}
+	
+	public ParserRule getXAndExpressionRule() {
+		return getXAndExpressionAccess().getRule();
+	}
+
+	//OpAnd:
+	//	"&&";
+	public XbaseGrammarAccess.OpAndElements getOpAndAccess() {
+		return gaXbaseWithAnnotations.getOpAndAccess();
+	}
+	
+	public ParserRule getOpAndRule() {
+		return getOpAndAccess().getRule();
+	}
+
+	//XEqualityExpression returns XExpression:
+	//	XRelationalExpression (=> ({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpEquality])
+	//	rightOperand=XRelationalExpression)*;
+	public XbaseGrammarAccess.XEqualityExpressionElements getXEqualityExpressionAccess() {
+		return gaXbaseWithAnnotations.getXEqualityExpressionAccess();
+	}
+	
+	public ParserRule getXEqualityExpressionRule() {
+		return getXEqualityExpressionAccess().getRule();
+	}
+
+	//OpEquality:
+	//	"==" | "!=" | "===" | "!==";
+	public XbaseGrammarAccess.OpEqualityElements getOpEqualityAccess() {
+		return gaXbaseWithAnnotations.getOpEqualityAccess();
+	}
+	
+	public ParserRule getOpEqualityRule() {
+		return getOpEqualityAccess().getRule();
+	}
+
+	//XRelationalExpression returns XExpression:
+	//	XOtherOperatorExpression (=> ({XInstanceOfExpression.expression=current} "instanceof") type=JvmTypeReference | =>
+	//	({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpCompare])
+	//	rightOperand=XOtherOperatorExpression)*;
+	public XbaseGrammarAccess.XRelationalExpressionElements getXRelationalExpressionAccess() {
+		return gaXbaseWithAnnotations.getXRelationalExpressionAccess();
+	}
+	
+	public ParserRule getXRelationalExpressionRule() {
+		return getXRelationalExpressionAccess().getRule();
+	}
+
+	//OpCompare:
+	//	">=" | "<" "=" | ">" | "<";
+	public XbaseGrammarAccess.OpCompareElements getOpCompareAccess() {
+		return gaXbaseWithAnnotations.getOpCompareAccess();
+	}
+	
+	public ParserRule getOpCompareRule() {
+		return getOpCompareAccess().getRule();
+	}
+
+	//XOtherOperatorExpression returns XExpression:
+	//	XAdditiveExpression (=> ({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpOther])
+	//	rightOperand=XAdditiveExpression)*;
+	public XbaseGrammarAccess.XOtherOperatorExpressionElements getXOtherOperatorExpressionAccess() {
+		return gaXbaseWithAnnotations.getXOtherOperatorExpressionAccess();
+	}
+	
+	public ParserRule getXOtherOperatorExpressionRule() {
+		return getXOtherOperatorExpressionAccess().getRule();
+	}
+
+	//OpOther:
+	//	"->" | "..<" | ">" ".." | ".." | "=>" | ">" (=> (">" ">") | ">") | "<" (=> ("<" "<") | "<" | "=>") | "<>" | "?:";
+	public XbaseGrammarAccess.OpOtherElements getOpOtherAccess() {
+		return gaXbaseWithAnnotations.getOpOtherAccess();
+	}
+	
+	public ParserRule getOpOtherRule() {
+		return getOpOtherAccess().getRule();
+	}
+
+	//XAdditiveExpression returns XExpression:
+	//	XMultiplicativeExpression (=> ({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpAdd])
+	//	rightOperand=XMultiplicativeExpression)*;
+	public XbaseGrammarAccess.XAdditiveExpressionElements getXAdditiveExpressionAccess() {
+		return gaXbaseWithAnnotations.getXAdditiveExpressionAccess();
+	}
+	
+	public ParserRule getXAdditiveExpressionRule() {
+		return getXAdditiveExpressionAccess().getRule();
+	}
+
+	//OpAdd:
+	//	"+" | "-";
+	public XbaseGrammarAccess.OpAddElements getOpAddAccess() {
+		return gaXbaseWithAnnotations.getOpAddAccess();
+	}
+	
+	public ParserRule getOpAddRule() {
+		return getOpAddAccess().getRule();
+	}
+
+	//XMultiplicativeExpression returns XExpression:
+	//	XUnaryOperation (=> ({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpMulti])
+	//	rightOperand=XUnaryOperation)*;
+	public XbaseGrammarAccess.XMultiplicativeExpressionElements getXMultiplicativeExpressionAccess() {
+		return gaXbaseWithAnnotations.getXMultiplicativeExpressionAccess();
+	}
+	
+	public ParserRule getXMultiplicativeExpressionRule() {
+		return getXMultiplicativeExpressionAccess().getRule();
+	}
+
+	//OpMulti:
+	//	"*" | "**" | "/" | "%";
+	public XbaseGrammarAccess.OpMultiElements getOpMultiAccess() {
+		return gaXbaseWithAnnotations.getOpMultiAccess();
+	}
+	
+	public ParserRule getOpMultiRule() {
+		return getOpMultiAccess().getRule();
+	}
+
+	//XUnaryOperation returns XExpression:
+	//	{XUnaryOperation} feature=[types::JvmIdentifiableElement|OpUnary] operand=XUnaryOperation | XCastedExpression;
+	public XbaseGrammarAccess.XUnaryOperationElements getXUnaryOperationAccess() {
+		return gaXbaseWithAnnotations.getXUnaryOperationAccess();
+	}
+	
+	public ParserRule getXUnaryOperationRule() {
+		return getXUnaryOperationAccess().getRule();
+	}
+
+	//OpUnary:
+	//	"!" | "-" | "+";
+	public XbaseGrammarAccess.OpUnaryElements getOpUnaryAccess() {
+		return gaXbaseWithAnnotations.getOpUnaryAccess();
+	}
+	
+	public ParserRule getOpUnaryRule() {
+		return getOpUnaryAccess().getRule();
+	}
+
+	//XCastedExpression returns XExpression:
+	//	XPostfixOperation (=> ({XCastedExpression.target=current} "as") type=JvmTypeReference)*;
+	public XbaseGrammarAccess.XCastedExpressionElements getXCastedExpressionAccess() {
+		return gaXbaseWithAnnotations.getXCastedExpressionAccess();
+	}
+	
+	public ParserRule getXCastedExpressionRule() {
+		return getXCastedExpressionAccess().getRule();
+	}
+
+	//XPostfixOperation returns XExpression:
+	//	XMemberFeatureCall => ({XPostfixOperation.operand=current} feature=[types::JvmIdentifiableElement|OpPostfix])?;
+	public XbaseGrammarAccess.XPostfixOperationElements getXPostfixOperationAccess() {
+		return gaXbaseWithAnnotations.getXPostfixOperationAccess();
+	}
+	
+	public ParserRule getXPostfixOperationRule() {
+		return getXPostfixOperationAccess().getRule();
+	}
+
+	//OpPostfix:
+	//	"++" | "--";
+	public XbaseGrammarAccess.OpPostfixElements getOpPostfixAccess() {
+		return gaXbaseWithAnnotations.getOpPostfixAccess();
+	}
+	
+	public ParserRule getOpPostfixRule() {
+		return getOpPostfixAccess().getRule();
+	}
+
+	//XMemberFeatureCall returns XExpression:
+	//	XPrimaryExpression (=> ({XAssignment.assignable=current} ("." | explicitStatic?="::")
+	//	feature=[types::JvmIdentifiableElement|FeatureCallID] OpSingleAssign) value=XAssignment | =>
+	//	({XMemberFeatureCall.memberCallTarget=current} ("." | nullSafe?="?." | explicitStatic?="::")) ("<"
+	//	typeArguments+=JvmArgumentTypeReference ("," typeArguments+=JvmArgumentTypeReference)* ">")?
+	//	feature=[types::JvmIdentifiableElement|IdOrSuper] (=> explicitOperationCall?="(" (memberCallArguments+=XShortClosure
+	//	| memberCallArguments+=XExpression ("," memberCallArguments+=XExpression)*)? ")")? memberCallArguments+=XClosure?)*;
+	public XbaseGrammarAccess.XMemberFeatureCallElements getXMemberFeatureCallAccess() {
+		return gaXbaseWithAnnotations.getXMemberFeatureCallAccess();
+	}
+	
+	public ParserRule getXMemberFeatureCallRule() {
+		return getXMemberFeatureCallAccess().getRule();
+	}
+
+	//XPrimaryExpression returns XExpression:
+	//	XConstructorCall | XBlockExpression | XSwitchExpression | XSynchronizedExpression | XFeatureCall | XLiteral |
+	//	XIfExpression | XForLoopExpression | XBasicForLoopExpression | XWhileExpression | XDoWhileExpression |
+	//	XThrowExpression | XReturnExpression | XTryCatchFinallyExpression | XParenthesizedExpression;
+	public XbaseGrammarAccess.XPrimaryExpressionElements getXPrimaryExpressionAccess() {
+		return gaXbaseWithAnnotations.getXPrimaryExpressionAccess();
+	}
+	
+	public ParserRule getXPrimaryExpressionRule() {
+		return getXPrimaryExpressionAccess().getRule();
+	}
+
+	//XLiteral returns XExpression:
+	//	XCollectionLiteral | XClosure | XBooleanLiteral | XNumberLiteral | XNullLiteral | XStringLiteral | XTypeLiteral;
+	public XbaseGrammarAccess.XLiteralElements getXLiteralAccess() {
+		return gaXbaseWithAnnotations.getXLiteralAccess();
+	}
+	
+	public ParserRule getXLiteralRule() {
+		return getXLiteralAccess().getRule();
+	}
+
+	//XCollectionLiteral:
+	//	XSetLiteral | XListLiteral;
+	public XbaseGrammarAccess.XCollectionLiteralElements getXCollectionLiteralAccess() {
+		return gaXbaseWithAnnotations.getXCollectionLiteralAccess();
+	}
+	
+	public ParserRule getXCollectionLiteralRule() {
+		return getXCollectionLiteralAccess().getRule();
+	}
+
+	//XSetLiteral:
+	//	{XSetLiteral} "#" "{" (elements+=XExpression ("," elements+=XExpression)*)? "}";
+	public XbaseGrammarAccess.XSetLiteralElements getXSetLiteralAccess() {
+		return gaXbaseWithAnnotations.getXSetLiteralAccess();
+	}
+	
+	public ParserRule getXSetLiteralRule() {
+		return getXSetLiteralAccess().getRule();
+	}
+
+	//XListLiteral:
+	//	{XListLiteral} "#" "[" (elements+=XExpression ("," elements+=XExpression)*)? "]";
+	public XbaseGrammarAccess.XListLiteralElements getXListLiteralAccess() {
+		return gaXbaseWithAnnotations.getXListLiteralAccess();
+	}
+	
+	public ParserRule getXListLiteralRule() {
+		return getXListLiteralAccess().getRule();
+	}
+
+	//XClosure returns XExpression:
+	//	=> ({XClosure} "[") => ((declaredFormalParameters+=JvmFormalParameter (","
+	//	declaredFormalParameters+=JvmFormalParameter)*)? explicitSyntax?="|")? expression=XExpressionInClosure "]";
+	public XbaseGrammarAccess.XClosureElements getXClosureAccess() {
+		return gaXbaseWithAnnotations.getXClosureAccess();
+	}
+	
+	public ParserRule getXClosureRule() {
+		return getXClosureAccess().getRule();
+	}
+
+	//XExpressionInClosure returns XExpression:
+	//	{XBlockExpression} (expressions+=XExpressionOrVarDeclaration ";"?)*;
+	public XbaseGrammarAccess.XExpressionInClosureElements getXExpressionInClosureAccess() {
+		return gaXbaseWithAnnotations.getXExpressionInClosureAccess();
+	}
+	
+	public ParserRule getXExpressionInClosureRule() {
+		return getXExpressionInClosureAccess().getRule();
+	}
+
+	//XShortClosure returns XExpression:
+	//	=> ({XClosure} (declaredFormalParameters+=JvmFormalParameter ("," declaredFormalParameters+=JvmFormalParameter)*)?
+	//	explicitSyntax?="|") expression=XExpression;
+	public XbaseGrammarAccess.XShortClosureElements getXShortClosureAccess() {
+		return gaXbaseWithAnnotations.getXShortClosureAccess();
+	}
+	
+	public ParserRule getXShortClosureRule() {
+		return getXShortClosureAccess().getRule();
+	}
+
+	//XParenthesizedExpression returns XExpression:
+	//	"(" XExpression ")";
+	public XbaseGrammarAccess.XParenthesizedExpressionElements getXParenthesizedExpressionAccess() {
+		return gaXbaseWithAnnotations.getXParenthesizedExpressionAccess();
+	}
+	
+	public ParserRule getXParenthesizedExpressionRule() {
+		return getXParenthesizedExpressionAccess().getRule();
+	}
+
+	//XIfExpression returns XExpression:
+	//	{XIfExpression} "if" "(" if=XExpression ")" then=XExpression ("else" else=XExpression)?;
+	public XbaseGrammarAccess.XIfExpressionElements getXIfExpressionAccess() {
+		return gaXbaseWithAnnotations.getXIfExpressionAccess();
+	}
+	
+	public ParserRule getXIfExpressionRule() {
+		return getXIfExpressionAccess().getRule();
+	}
+
+	//XSwitchExpression returns XExpression:
+	//	{XSwitchExpression} "switch" (=> ("(" declaredParam=JvmFormalParameter ":") switch=XExpression ")" | =>
+	//	(declaredParam=JvmFormalParameter ":")? switch=XExpression) "{" cases+=XCasePart* ("default" ":"
+	//	default=XExpression)? "}";
+	public XbaseGrammarAccess.XSwitchExpressionElements getXSwitchExpressionAccess() {
+		return gaXbaseWithAnnotations.getXSwitchExpressionAccess();
+	}
+	
+	public ParserRule getXSwitchExpressionRule() {
+		return getXSwitchExpressionAccess().getRule();
+	}
+
+	//XCasePart:
+	//	{XCasePart} typeGuard=JvmTypeReference? ("case" case=XExpression)? (":" then=XExpression | fallThrough?=",");
+	public XbaseGrammarAccess.XCasePartElements getXCasePartAccess() {
+		return gaXbaseWithAnnotations.getXCasePartAccess();
+	}
+	
+	public ParserRule getXCasePartRule() {
+		return getXCasePartAccess().getRule();
+	}
+
+	//XForLoopExpression returns XExpression:
+	//	=> ({XForLoopExpression} "for" "(" declaredParam=JvmFormalParameter ":") forExpression=XExpression ")"
+	//	eachExpression=XExpression;
+	public XbaseGrammarAccess.XForLoopExpressionElements getXForLoopExpressionAccess() {
+		return gaXbaseWithAnnotations.getXForLoopExpressionAccess();
+	}
+	
+	public ParserRule getXForLoopExpressionRule() {
+		return getXForLoopExpressionAccess().getRule();
+	}
+
+	//XBasicForLoopExpression returns XExpression:
+	//	{XBasicForLoopExpression} "for" "(" (initExpressions+=XExpressionOrVarDeclaration (","
+	//	initExpressions+=XExpressionOrVarDeclaration)*)? ";" expression=XExpression? ";" (updateExpressions+=XExpression (","
+	//	updateExpressions+=XExpression)*)? ")" eachExpression=XExpression;
+	public XbaseGrammarAccess.XBasicForLoopExpressionElements getXBasicForLoopExpressionAccess() {
+		return gaXbaseWithAnnotations.getXBasicForLoopExpressionAccess();
+	}
+	
+	public ParserRule getXBasicForLoopExpressionRule() {
+		return getXBasicForLoopExpressionAccess().getRule();
+	}
+
+	//XWhileExpression returns XExpression:
+	//	{XWhileExpression} "while" "(" predicate=XExpression ")" body=XExpression;
+	public XbaseGrammarAccess.XWhileExpressionElements getXWhileExpressionAccess() {
+		return gaXbaseWithAnnotations.getXWhileExpressionAccess();
+	}
+	
+	public ParserRule getXWhileExpressionRule() {
+		return getXWhileExpressionAccess().getRule();
+	}
+
+	//XDoWhileExpression returns XExpression:
+	//	{XDoWhileExpression} "do" body=XExpression "while" "(" predicate=XExpression ")";
+	public XbaseGrammarAccess.XDoWhileExpressionElements getXDoWhileExpressionAccess() {
+		return gaXbaseWithAnnotations.getXDoWhileExpressionAccess();
+	}
+	
+	public ParserRule getXDoWhileExpressionRule() {
+		return getXDoWhileExpressionAccess().getRule();
+	}
+
+	//XBlockExpression returns XExpression:
+	//	{XBlockExpression} "{" (expressions+=XExpressionOrVarDeclaration ";"?)* "}";
+	public XbaseGrammarAccess.XBlockExpressionElements getXBlockExpressionAccess() {
+		return gaXbaseWithAnnotations.getXBlockExpressionAccess();
+	}
+	
+	public ParserRule getXBlockExpressionRule() {
+		return getXBlockExpressionAccess().getRule();
+	}
+
+	//XExpressionOrVarDeclaration returns XExpression:
+	//	XVariableDeclaration | XExpression;
+	public XbaseGrammarAccess.XExpressionOrVarDeclarationElements getXExpressionOrVarDeclarationAccess() {
+		return gaXbaseWithAnnotations.getXExpressionOrVarDeclarationAccess();
+	}
+	
+	public ParserRule getXExpressionOrVarDeclarationRule() {
+		return getXExpressionOrVarDeclarationAccess().getRule();
+	}
+
+	//XVariableDeclaration returns XExpression:
+	//	{XVariableDeclaration} (writeable?="var" | "val") (=> (type=JvmTypeReference name=ValidID) | name=ValidID) ("="
+	//	right=XExpression)?;
+	public XbaseGrammarAccess.XVariableDeclarationElements getXVariableDeclarationAccess() {
+		return gaXbaseWithAnnotations.getXVariableDeclarationAccess();
+	}
+	
+	public ParserRule getXVariableDeclarationRule() {
+		return getXVariableDeclarationAccess().getRule();
+	}
+
+	//JvmFormalParameter returns types::JvmFormalParameter:
+	//	parameterType=JvmTypeReference? name=ValidID;
+	public XbaseGrammarAccess.JvmFormalParameterElements getJvmFormalParameterAccess() {
+		return gaXbaseWithAnnotations.getJvmFormalParameterAccess();
+	}
+	
+	public ParserRule getJvmFormalParameterRule() {
+		return getJvmFormalParameterAccess().getRule();
+	}
+
+	//FullJvmFormalParameter returns types::JvmFormalParameter:
+	//	parameterType=JvmTypeReference name=ValidID;
+	public XbaseGrammarAccess.FullJvmFormalParameterElements getFullJvmFormalParameterAccess() {
+		return gaXbaseWithAnnotations.getFullJvmFormalParameterAccess();
+	}
+	
+	public ParserRule getFullJvmFormalParameterRule() {
+		return getFullJvmFormalParameterAccess().getRule();
+	}
+
+	//XFeatureCall returns XExpression:
+	//	{XFeatureCall} ("<" typeArguments+=JvmArgumentTypeReference ("," typeArguments+=JvmArgumentTypeReference)* ">")?
+	//	feature=[types::JvmIdentifiableElement|IdOrSuper] (=> explicitOperationCall?="(" (featureCallArguments+=XShortClosure
+	//	| featureCallArguments+=XExpression ("," featureCallArguments+=XExpression)*)? ")")? featureCallArguments+=XClosure?;
+	public XbaseGrammarAccess.XFeatureCallElements getXFeatureCallAccess() {
+		return gaXbaseWithAnnotations.getXFeatureCallAccess();
+	}
+	
+	public ParserRule getXFeatureCallRule() {
+		return getXFeatureCallAccess().getRule();
+	}
+
+	//FeatureCallID:
+	//	ValidID | "extends" | "static" | "import" | "extension";
+	public XbaseGrammarAccess.FeatureCallIDElements getFeatureCallIDAccess() {
+		return gaXbaseWithAnnotations.getFeatureCallIDAccess();
+	}
+	
+	public ParserRule getFeatureCallIDRule() {
+		return getFeatureCallIDAccess().getRule();
+	}
+
+	//IdOrSuper:
+	//	FeatureCallID | "super";
+	public XbaseGrammarAccess.IdOrSuperElements getIdOrSuperAccess() {
+		return gaXbaseWithAnnotations.getIdOrSuperAccess();
+	}
+	
+	public ParserRule getIdOrSuperRule() {
+		return getIdOrSuperAccess().getRule();
+	}
+
+	//XConstructorCall returns XExpression:
+	//	{XConstructorCall} "new" constructor=[types::JvmConstructor|QualifiedName] ("<"
+	//	typeArguments+=JvmArgumentTypeReference ("," typeArguments+=JvmArgumentTypeReference)* ">")? (=>
+	//	explicitConstructorCall?="(" (arguments+=XShortClosure | arguments+=XExpression ("," arguments+=XExpression)*)? ")")?
+	//	arguments+=XClosure?;
+	public XbaseGrammarAccess.XConstructorCallElements getXConstructorCallAccess() {
+		return gaXbaseWithAnnotations.getXConstructorCallAccess();
+	}
+	
+	public ParserRule getXConstructorCallRule() {
+		return getXConstructorCallAccess().getRule();
+	}
+
+	//XBooleanLiteral returns XExpression:
+	//	{XBooleanLiteral} ("false" | isTrue?="true");
+	public XbaseGrammarAccess.XBooleanLiteralElements getXBooleanLiteralAccess() {
+		return gaXbaseWithAnnotations.getXBooleanLiteralAccess();
+	}
+	
+	public ParserRule getXBooleanLiteralRule() {
+		return getXBooleanLiteralAccess().getRule();
+	}
+
+	//XNullLiteral returns XExpression:
+	//	{XNullLiteral} "null";
+	public XbaseGrammarAccess.XNullLiteralElements getXNullLiteralAccess() {
+		return gaXbaseWithAnnotations.getXNullLiteralAccess();
+	}
+	
+	public ParserRule getXNullLiteralRule() {
+		return getXNullLiteralAccess().getRule();
+	}
+
+	//XNumberLiteral returns XExpression:
+	//	{XNumberLiteral} value=Number;
+	public XbaseGrammarAccess.XNumberLiteralElements getXNumberLiteralAccess() {
+		return gaXbaseWithAnnotations.getXNumberLiteralAccess();
+	}
+	
+	public ParserRule getXNumberLiteralRule() {
+		return getXNumberLiteralAccess().getRule();
+	}
+
+	//XStringLiteral returns XExpression:
+	//	{XStringLiteral} value=STRING;
+	public XbaseGrammarAccess.XStringLiteralElements getXStringLiteralAccess() {
+		return gaXbaseWithAnnotations.getXStringLiteralAccess();
+	}
+	
+	public ParserRule getXStringLiteralRule() {
+		return getXStringLiteralAccess().getRule();
+	}
+
+	//XTypeLiteral returns XExpression:
+	//	{XTypeLiteral} "typeof" "(" type=[types::JvmType|QualifiedName] arrayDimensions+=ArrayBrackets* ")";
+	public XbaseGrammarAccess.XTypeLiteralElements getXTypeLiteralAccess() {
+		return gaXbaseWithAnnotations.getXTypeLiteralAccess();
+	}
+	
+	public ParserRule getXTypeLiteralRule() {
+		return getXTypeLiteralAccess().getRule();
+	}
+
+	//XThrowExpression returns XExpression:
+	//	{XThrowExpression} "throw" expression=XExpression;
+	public XbaseGrammarAccess.XThrowExpressionElements getXThrowExpressionAccess() {
+		return gaXbaseWithAnnotations.getXThrowExpressionAccess();
+	}
+	
+	public ParserRule getXThrowExpressionRule() {
+		return getXThrowExpressionAccess().getRule();
+	}
+
+	//XReturnExpression returns XExpression:
+	//	{XReturnExpression} "return" -> expression=XExpression?;
+	public XbaseGrammarAccess.XReturnExpressionElements getXReturnExpressionAccess() {
+		return gaXbaseWithAnnotations.getXReturnExpressionAccess();
+	}
+	
+	public ParserRule getXReturnExpressionRule() {
+		return getXReturnExpressionAccess().getRule();
+	}
+
+	//XTryCatchFinallyExpression returns XExpression:
+	//	{XTryCatchFinallyExpression} "try" expression=XExpression (catchClauses+=XCatchClause+ ("finally"
+	//	finallyExpression=XExpression)? | "finally" finallyExpression=XExpression);
+	public XbaseGrammarAccess.XTryCatchFinallyExpressionElements getXTryCatchFinallyExpressionAccess() {
+		return gaXbaseWithAnnotations.getXTryCatchFinallyExpressionAccess();
+	}
+	
+	public ParserRule getXTryCatchFinallyExpressionRule() {
+		return getXTryCatchFinallyExpressionAccess().getRule();
+	}
+
+	//XSynchronizedExpression returns XExpression:
+	//	=> ({XSynchronizedExpression} "synchronized" "(") param=XExpression ")" expression=XExpression;
+	public XbaseGrammarAccess.XSynchronizedExpressionElements getXSynchronizedExpressionAccess() {
+		return gaXbaseWithAnnotations.getXSynchronizedExpressionAccess();
+	}
+	
+	public ParserRule getXSynchronizedExpressionRule() {
+		return getXSynchronizedExpressionAccess().getRule();
+	}
+
+	//XCatchClause:
+	//	"catch" "(" declaredParam=FullJvmFormalParameter ")" expression=XExpression;
+	public XbaseGrammarAccess.XCatchClauseElements getXCatchClauseAccess() {
+		return gaXbaseWithAnnotations.getXCatchClauseAccess();
+	}
+	
+	public ParserRule getXCatchClauseRule() {
+		return getXCatchClauseAccess().getRule();
+	}
+
+	//Number hidden():
+	//	HEX | (INT | DECIMAL) ("." (INT | DECIMAL))?;
+	public XbaseGrammarAccess.NumberElements getNumberAccess() {
+		return gaXbaseWithAnnotations.getNumberAccess();
+	}
+	
+	public ParserRule getNumberRule() {
+		return getNumberAccess().getRule();
+	}
+
+	/// **
+	// * Dummy rule, for "better" downwards compatibility, since GrammarAccess generates non-static inner classes, 
+	// * which makes downstream grammars break on classloading, when a rule is removed.
+	// * /
+	//StaticQualifier:
+	//	(ValidID "::")+;
+	public XbaseGrammarAccess.StaticQualifierElements getStaticQualifierAccess() {
+		return gaXbaseWithAnnotations.getStaticQualifierAccess();
+	}
+	
+	public ParserRule getStaticQualifierRule() {
+		return getStaticQualifierAccess().getRule();
+	}
+
+	//terminal HEX:
+	//	("0x" | "0X") ("0".."9" | "a".."f" | "A".."F" | "_")+ ("#" (("b" | "B") ("i" | "I") | ("l" | "L")))?;
+	public TerminalRule getHEXRule() {
+		return gaXbaseWithAnnotations.getHEXRule();
+	} 
+
+	//terminal INT returns ecore::EInt:
+	//	"0".."9" ("0".."9" | "_")*;
+	public TerminalRule getINTRule() {
+		return gaXbaseWithAnnotations.getINTRule();
+	} 
+
+	//terminal DECIMAL:
+	//	INT (("e" | "E") ("+" | "-")? INT)? (("b" | "B") ("i" | "I" | "d" | "D") | ("l" | "L" | "d" | "D" | "f" | "F"))?;
+	public TerminalRule getDECIMALRule() {
+		return gaXbaseWithAnnotations.getDECIMALRule();
+	} 
+
+	//JvmTypeReference:
+	//	JvmParameterizedTypeReference => ({JvmGenericArrayTypeReference.componentType=current} ArrayBrackets)* |
+	//	XFunctionTypeRef;
+	public XtypeGrammarAccess.JvmTypeReferenceElements getJvmTypeReferenceAccess() {
+		return gaXbaseWithAnnotations.getJvmTypeReferenceAccess();
+	}
+	
+	public ParserRule getJvmTypeReferenceRule() {
+		return getJvmTypeReferenceAccess().getRule();
+	}
+
+	//ArrayBrackets:
+	//	"[" "]";
+	public XtypeGrammarAccess.ArrayBracketsElements getArrayBracketsAccess() {
+		return gaXbaseWithAnnotations.getArrayBracketsAccess();
+	}
+	
+	public ParserRule getArrayBracketsRule() {
+		return getArrayBracketsAccess().getRule();
+	}
+
+	//XFunctionTypeRef:
+	//	("(" (paramTypes+=JvmTypeReference ("," paramTypes+=JvmTypeReference)*)? ")")? "=>" returnType=JvmTypeReference;
+	public XtypeGrammarAccess.XFunctionTypeRefElements getXFunctionTypeRefAccess() {
+		return gaXbaseWithAnnotations.getXFunctionTypeRefAccess();
+	}
+	
+	public ParserRule getXFunctionTypeRefRule() {
+		return getXFunctionTypeRefAccess().getRule();
+	}
+
+	//JvmParameterizedTypeReference:
+	//	type=[JvmType|QualifiedName] ("<" arguments+=JvmArgumentTypeReference ("," arguments+=JvmArgumentTypeReference)* ">"
+	//	(=> ({JvmInnerTypeReference.outer=current} ".") type=[JvmType|ValidID] ("<" arguments+=JvmArgumentTypeReference (","
+	//	arguments+=JvmArgumentTypeReference)* ">")?)*)?;
+	public XtypeGrammarAccess.JvmParameterizedTypeReferenceElements getJvmParameterizedTypeReferenceAccess() {
+		return gaXbaseWithAnnotations.getJvmParameterizedTypeReferenceAccess();
+	}
+	
+	public ParserRule getJvmParameterizedTypeReferenceRule() {
+		return getJvmParameterizedTypeReferenceAccess().getRule();
+	}
+
+	//JvmArgumentTypeReference returns JvmTypeReference:
+	//	JvmTypeReference | JvmWildcardTypeReference;
+	public XtypeGrammarAccess.JvmArgumentTypeReferenceElements getJvmArgumentTypeReferenceAccess() {
+		return gaXbaseWithAnnotations.getJvmArgumentTypeReferenceAccess();
+	}
+	
+	public ParserRule getJvmArgumentTypeReferenceRule() {
+		return getJvmArgumentTypeReferenceAccess().getRule();
+	}
+
+	//JvmWildcardTypeReference:
+	//	{JvmWildcardTypeReference} "?" (constraints+=JvmUpperBound constraints+=JvmUpperBoundAnded* |
+	//	constraints+=JvmLowerBound constraints+=JvmLowerBoundAnded*)?;
+	public XtypeGrammarAccess.JvmWildcardTypeReferenceElements getJvmWildcardTypeReferenceAccess() {
+		return gaXbaseWithAnnotations.getJvmWildcardTypeReferenceAccess();
+	}
+	
+	public ParserRule getJvmWildcardTypeReferenceRule() {
+		return getJvmWildcardTypeReferenceAccess().getRule();
+	}
+
+	//JvmUpperBound:
+	//	"extends" typeReference=JvmTypeReference;
+	public XtypeGrammarAccess.JvmUpperBoundElements getJvmUpperBoundAccess() {
+		return gaXbaseWithAnnotations.getJvmUpperBoundAccess();
+	}
+	
+	public ParserRule getJvmUpperBoundRule() {
+		return getJvmUpperBoundAccess().getRule();
+	}
+
+	//JvmUpperBoundAnded returns JvmUpperBound:
+	//	"&" typeReference=JvmTypeReference;
+	public XtypeGrammarAccess.JvmUpperBoundAndedElements getJvmUpperBoundAndedAccess() {
+		return gaXbaseWithAnnotations.getJvmUpperBoundAndedAccess();
+	}
+	
+	public ParserRule getJvmUpperBoundAndedRule() {
+		return getJvmUpperBoundAndedAccess().getRule();
+	}
+
+	//JvmLowerBound:
+	//	"super" typeReference=JvmTypeReference;
+	public XtypeGrammarAccess.JvmLowerBoundElements getJvmLowerBoundAccess() {
+		return gaXbaseWithAnnotations.getJvmLowerBoundAccess();
+	}
+	
+	public ParserRule getJvmLowerBoundRule() {
+		return getJvmLowerBoundAccess().getRule();
+	}
+
+	//JvmLowerBoundAnded returns JvmLowerBound:
+	//	"&" typeReference=JvmTypeReference;
+	public XtypeGrammarAccess.JvmLowerBoundAndedElements getJvmLowerBoundAndedAccess() {
+		return gaXbaseWithAnnotations.getJvmLowerBoundAndedAccess();
+	}
+	
+	public ParserRule getJvmLowerBoundAndedRule() {
+		return getJvmLowerBoundAndedAccess().getRule();
+	}
+
+	//JvmTypeParameter:
+	//	name=ValidID (constraints+=JvmUpperBound constraints+=JvmUpperBoundAnded*)?;
+	public XtypeGrammarAccess.JvmTypeParameterElements getJvmTypeParameterAccess() {
+		return gaXbaseWithAnnotations.getJvmTypeParameterAccess();
+	}
+	
+	public ParserRule getJvmTypeParameterRule() {
+		return getJvmTypeParameterAccess().getRule();
+	}
+
+	//QualifiedNameWithWildcard:
+	//	QualifiedName "." "*";
+	public XtypeGrammarAccess.QualifiedNameWithWildcardElements getQualifiedNameWithWildcardAccess() {
+		return gaXbaseWithAnnotations.getQualifiedNameWithWildcardAccess();
+	}
+	
+	public ParserRule getQualifiedNameWithWildcardRule() {
+		return getQualifiedNameWithWildcardAccess().getRule();
+	}
+
+	//XImportSection:
+	//	importDeclarations+=XImportDeclaration+;
+	public XtypeGrammarAccess.XImportSectionElements getXImportSectionAccess() {
+		return gaXbaseWithAnnotations.getXImportSectionAccess();
+	}
+	
+	public ParserRule getXImportSectionRule() {
+		return getXImportSectionAccess().getRule();
+	}
+
+	//XImportDeclaration:
+	//	"import" (static?="static" extension?="extension"? importedType=[JvmDeclaredType|QualifiedNameInStaticImport]
+	//	(wildcard?="*" | memberName=ValidID) | importedType=[JvmDeclaredType|QualifiedName] |
+	//	importedNamespace=QualifiedNameWithWildcard) ";"?;
+	public XtypeGrammarAccess.XImportDeclarationElements getXImportDeclarationAccess() {
+		return gaXbaseWithAnnotations.getXImportDeclarationAccess();
+	}
+	
+	public ParserRule getXImportDeclarationRule() {
+		return getXImportDeclarationAccess().getRule();
+	}
+
+	//QualifiedNameInStaticImport:
+	//	(ValidID ".")+;
+	public XtypeGrammarAccess.QualifiedNameInStaticImportElements getQualifiedNameInStaticImportAccess() {
+		return gaXbaseWithAnnotations.getQualifiedNameInStaticImportAccess();
+	}
+	
+	public ParserRule getQualifiedNameInStaticImportRule() {
+		return getQualifiedNameInStaticImportAccess().getRule();
+	}
+
+	//terminal STRING:
+	//	"\"" ("\\" . / * ('b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\') * / | !("\\" | "\""))* "\""? | "\'" ("\\" .
+	//	/ * ('b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\') * / | !("\\" | "\'"))* "\'"?;
+	public TerminalRule getSTRINGRule() {
+		return gaXbaseWithAnnotations.getSTRINGRule();
+	} 
+
+	//terminal ML_COMMENT:
+	//	"/ *"->"* /";
+	public TerminalRule getML_COMMENTRule() {
+		return gaXbaseWithAnnotations.getML_COMMENTRule();
+	} 
+
+	//terminal SL_COMMENT:
+	//	"//" !("\n" | "\r")* ("\r"? "\n")?;
+	public TerminalRule getSL_COMMENTRule() {
+		return gaXbaseWithAnnotations.getSL_COMMENTRule();
+	} 
+
+	//terminal WS:
+	//	(" " | "\t" | "\r" | "\n")+;
+	public TerminalRule getWSRule() {
+		return gaXbaseWithAnnotations.getWSRule();
+	} 
+
+	//terminal ANY_OTHER:
+	//	.;
+	public TerminalRule getANY_OTHERRule() {
+		return gaXbaseWithAnnotations.getANY_OTHERRule();
+	} 
+}
diff --git a/org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/validation/AbstractEntityMockDSLValidator.java b/org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/validation/AbstractEntityMockDSLValidator.java
new file mode 100644
index 0000000..de6f013
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/src-gen/org/eclipse/osbp/xtext/entitymock/validation/AbstractEntityMockDSLValidator.java
@@ -0,0 +1,36 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  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:                                                      
+ * 	   Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ * 
+ */
+
+package org.eclipse.osbp.xtext.entitymock.validation;
+
+import java.util.ArrayList;
+import java.util.List;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.xtext.validation.ComposedChecks;
+
+@ComposedChecks(validators= {org.eclipse.osbp.xtext.basic.validation.NamesAreUniqueValidator.class})
+public class AbstractEntityMockDSLValidator extends org.eclipse.xtext.xbase.annotations.validation.XbaseWithAnnotationsValidator {
+
+	@Override
+	protected List<EPackage> getEPackages() {
+	    List<EPackage> result = new ArrayList<EPackage>(super.getEPackages());
+	    result.add(EPackage.Registry.INSTANCE.getEPackage("http://osbp.eclipse.org/xtext/entitymock/EntityMockDSL"));
+	    result.add(EPackage.Registry.INSTANCE.getEPackage("http://osbp.eclipse.org/dsl/common/types/v1"));
+	    result.add(EPackage.Registry.INSTANCE.getEPackage("http://www.eclipse.org/Xtext/Xbase/XAnnotations"));
+	    result.add(EPackage.Registry.INSTANCE.getEPackage("http://www.eclipse.org/xtext/xbase/Xbase"));
+	    result.add(EPackage.Registry.INSTANCE.getEPackage("http://www.eclipse.org/xtext/common/JavaVMTypes"));
+	    result.add(EPackage.Registry.INSTANCE.getEPackage("http://www.eclipse.org/xtext/xbase/Xtype"));
+		return result;
+	}
+}
diff --git a/org.eclipse.osbp.xtext.entitymock/src/org/eclipse/osbp/xtext/entitymock/Activator.java b/org.eclipse.osbp.xtext.entitymock/src/org/eclipse/osbp/xtext/entitymock/Activator.java
new file mode 100644
index 0000000..3ede371
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/src/org/eclipse/osbp/xtext/entitymock/Activator.java
@@ -0,0 +1,49 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  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:                                                      
+ * 	   Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ * 
+ */
+ package org.eclipse.osbp.xtext.entitymock;
+
+
+import org.eclipse.osbp.gitinfo.Loginfo;
+import org.osgi.framework.BundleActivator;
+import org.osgi.framework.BundleContext;
+
+public class Activator implements BundleActivator {
+
+	private static BundleContext context;
+
+	static BundleContext getContext() {
+		return context;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
+	 */
+	@Override
+	public void start(BundleContext bundleContext) throws Exception {
+		Activator.context = bundleContext; // NOSONAR
+		Loginfo li = new Loginfo();
+		li.print( Activator.class.getCanonicalName(), Activator.class.getClassLoader());
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
+	 */
+	@Override
+	public void stop(BundleContext bundleContext) throws Exception {
+		Activator.context = null; // NOSONAR
+	}
+
+}
diff --git a/org.eclipse.osbp.xtext.entitymock/src/org/eclipse/osbp/xtext/entitymock/EntityMockDSL.xtext b/org.eclipse.osbp.xtext.entitymock/src/org/eclipse/osbp/xtext/entitymock/EntityMockDSL.xtext
new file mode 100644
index 0000000..43abd38
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/src/org/eclipse/osbp/xtext/entitymock/EntityMockDSL.xtext
@@ -0,0 +1,294 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  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:                                                      
+ * 	   Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ * 
+ */
+grammar org.eclipse.osbp.xtext.entitymock.EntityMockDSL with org.eclipse.xtext.xbase.annotations.XbaseWithAnnotations
+
+import "http://osbp.eclipse.org/xtext/entitymock/EntityMockDSL" 
+
+import "http://osbp.eclipse.org/dsl/common/types/v1" as types
+import "http://osbp.eclipse.org/dsl/entity/v1" as entity
+import "http://osbp.eclipse.org/xtext/datainterchange/DataDSL" as datainterchange
+import "http://www.eclipse.org/emf/2002/Ecore" as ecore
+
+
+EntityMockModel returns EntityMockModel:
+    packages+=EntityMockPackage*;
+
+EntityMockPackage returns EntityMockPackage:
+    'mock entitymodel for' imports+=EntityModelImport '{'
+    	('run with priority' runPriority=INT)?
+    	('import' imports+=EntityModelImport)*
+        (datainterchanges=RunningDataInterchanges)?
+        (resources=EntityMockResources)?
+        (objects=EntityMockObjects)?
+        (datatypes=EntityMockDataTypes)?
+        (entities=EntityMockEntities)
+    '}';
+
+EntityModelImport returns types::LImport:
+    importedNamespace=EntityMockQualifiedNameWithWildCard;
+
+EntityMockQualifiedNameWithWildCard:
+    QualifiedName ('.' '*')?;
+
+RunningDataInterchanges returns RunningDataInterchanges:
+    {RunningDataInterchanges} 'datainterchanges' '{'
+        (datainterchanges+=RunningDataInterchange)*
+    '}';
+
+RunningDataInterchange returns RunningDataInterchange:
+    {RunningDataInterchange} 'datainterchange import' datainterchangeRef=[datainterchange::DataInterchange] 'from file' fileURL=STRING; 
+
+EntityMockResources returns EntityMockResources:
+    {EntityMockResources} 'resources' '{'
+        (resources+=EntityMockResource)*
+    '}';
+
+EntityMockResource returns EntityMockResource:
+    'resource' name=QualifiedName '{'
+    	('attributes' '(' (attributes+=EntityMockResourceAttribute ','?)* ')')?
+    	'items' '{' (datarows+=EntityMockResourceDataRow)* '}'
+	 '}';
+
+EntityMockResourceAttribute:
+    {EntityMockResourceAttribute} name=QualifiedName;
+
+EntityMockResourceDataRow:
+    {EntityMockResourceDataRow} name=QualifiedName ('(' (values+=STRING ','? )* ')')?;
+
+EntityMockObjects returns EntityMockObjects:
+    {EntityMockObjects} 'objects' '{'
+        (objects+=EntityMockObject)*
+    '}';
+
+EntityMockObject returns EntityMockObject:
+    'object' name=QualifiedName '{'
+        (enumerations+=EntityMockObjectEnum)*
+        (attributes+=IEntityMockObjectAttribute)*
+        (calculations+=EntityMockObjectFunction)*
+    '}';
+
+EntityMockObjectEnum returns EntityMockObjectEnum:
+    'var' name=QualifiedName 'by enum' usingResource=[types::LEnum];
+
+EntityMockDataTypes returns EntityMockDataTypes:
+    {EntityMockDataTypes} 'datatypes' '{'
+        (datatypes+=EntityMockDataType)*
+    '}';
+
+IEntityMockObjectUsable:
+    EntityMockObjectFunction | EntityMockObjectEnum | EntityMockObjectPlainValue | EntityMockObjectArrayValue | EntityMockObjectEmbed | EntityMockObjectFill;
+
+IEntityMockObjectAttribute:
+    EntityMockObjectResourceValue | EntityMockObjectPlainValue | EntityMockObjectArrayValue | EntityMockObjectEmbed | EntityMockObjectFill;
+
+EntityMockObjectPlainValue:
+    'var' name=QualifiedName '(' (values+=STRING ','? )* ')';
+
+EntityMockObjectResourceValue:
+    'var' name=QualifiedName 'with' resourceEnum=[EntityMockObjectEnum] ('.' resourceAttribute=[EntityMockResourceAttribute])?;
+
+EntityMockObjectArrayValue:
+    'var' name=QualifiedName 'switch on' enumeration=[EntityMockObjectEnum] '{' (items+=EntityMockObjectItemValue)* '}';
+
+EntityMockObjectItemValue:
+    'when' datarow=[types::LEnumLiteral] '(' (values+=STRING ','? )* ')';
+
+EntityMockObjectEmbed returns EntityMockObjectEmbed:
+    {EntityMockObjectEmbed} 'embed' name=QualifiedName 'defined as' object=[EntityMockObject];
+
+EntityMockObjectFunction:
+	'var' name=QualifiedName 'calculate as' oftype=JvmParameterizedTypeReference
+		'based on' '(' (params+=EntityMockObjectFunctionParameter (',' params+=EntityMockObjectFunctionParameter)* )? ')'
+	body=XBlockExpression;
+
+EntityMockObjectFunctionParameter:
+	parameterType=JvmTypeReference name=[IEntityMockObjectUsable];
+
+EntityMockObjectFill:
+    'var' name=QualifiedName 'randomize' fillerType=PropertyFillerType;
+
+
+PropertyFillerType returns PropertyFillerType:
+      PropertyFillerDateFuture | PropertyFillerDatePast
+    | PropertyFillerDateRange
+    | PropertyFillerBoolean
+    | PropertyFillerSignedDoubleRange | PropertyFillerSignedDoubleRandom
+    | PropertyFillerSignedIntegerRange | PropertyFillerSignedIntegerRandom
+    | PropertyFillerTextRandom
+    | PropertyFillerTextParagraphs | PropertyFillerTextSentences | PropertyFillerTextWords
+    | PropertyFillerUnsignedDoubleRange | PropertyFillerUnsignedDoubleRandom
+    | PropertyFillerUnsignedIntegerRange | PropertyFillerUnsignedIntegerRandom
+    ;
+
+PropertyFillerDateFuture returns PropertyFillerDateFuture:
+    'future date' dateFutureYears=INT 'years';
+
+PropertyFillerDatePast returns PropertyFillerDatePast:
+    'past date' datePastYears=INT 'years';
+
+PropertyFillerBoolean returns PropertyFillerBoolean:
+    {PropertyFillerBoolean} 'boolean';
+
+PropertyFillerDateRange returns PropertyFillerDateRange:
+    'date in range' dateBeginYears=SINT 'up to and including' dateEndYears=SINT 'years';
+
+PropertyFillerSignedDoubleRange returns PropertyFillerSignedDoubleRange:
+    'signed double in range' 
+        ((beginRange=SignedNumber | beginRangeRef=[entity::LEntityAttribute])? 'up to and including' (endRange=SignedNumber|endRangeRef=[entity::LEntityAttribute]))?
+        'with' decimals=INT 'decimals' 
+        ('round to' rounded=UnsignedNumber)?;
+    
+PropertyFillerSignedDoubleRandom returns PropertyFillerSignedDoubleRandom:
+    'signed double from' '(' (items+=SignedNumber)+ ')';
+
+PropertyFillerSignedIntegerRange returns PropertyFillerSignedIntegerRange:
+    {PropertyFillerSignedIntegerRange} 'signed integer in range' 
+        ((beginRange=SINT | beginRangeRef=[entity::LEntityAttribute])? 'up to and including' (endRange=SINT|endRangeRef=[entity::LEntityAttribute]))?
+        ('round to' rounded=INT)?;
+    
+PropertyFillerSignedIntegerRandom returns PropertyFillerSignedIntegerRandom:
+    'signed integer from' '(' (items+=SINT)+ ')';
+    
+PropertyFillerTextRandom returns PropertyFillerTextRandom:
+    'text from' '(' (items+=STRING)+ ')';
+
+PropertyFillerTextParagraphs returns PropertyFillerTextParagraphs:
+    {PropertyFillerTextParagraphs} 'paragraps' (count=INT)?;
+
+PropertyFillerTextSentences returns PropertyFillerTextSentences:
+    {PropertyFillerTextSentences} 'sentences' (count=INT)?;
+
+PropertyFillerTextWords returns PropertyFillerTextWords:
+    {PropertyFillerTextWords} 'words' (count=INT)?;
+
+PropertyFillerUnsignedDoubleRange returns PropertyFillerUnsignedDoubleRange:
+    'unsigned double in range' 
+        ((beginRange=UnsignedNumber | beginRangeRef=[entity::LEntityAttribute])? 'up to and including' (endRange=UnsignedNumber|endRangeRef=[entity::LEntityAttribute]))?
+        'with' decimals=INT 'decimals' 
+        ('round to' rounded=UnsignedNumber)?;
+    
+PropertyFillerUnsignedDoubleRandom returns PropertyFillerUnsignedDoubleRandom:
+    'unsigned double from' '(' (items+=UnsignedNumber)+ ')';
+
+PropertyFillerUnsignedIntegerRange returns PropertyFillerUnsignedIntegerRange:
+    {PropertyFillerUnsignedIntegerRange} 'unsigned integer in range' 
+        ((beginRange=INT | beginRangeRef=[entity::LEntityAttribute])? 'up to and including' (endRange=INT|endRangeRef=[entity::LEntityAttribute]))?
+        ('round to' rounded=INT)?;
+    
+PropertyFillerUnsignedIntegerRandom returns PropertyFillerUnsignedIntegerRandom:
+    'unsigned integer from' '(' (items+=INT)+ ')';
+
+
+
+EntityMockDataType returns EntityMockDataType:
+    'datatype' name=QualifiedName '{'
+    '}';
+
+EntityMockEntities returns EntityMockEntities:
+    {EntityMockEntities} 'mock entities' '{'
+        (entities+=EntityMockEntity)*
+    '}';
+
+EntityMockEntity returns EntityMockEntity:
+    'mocking' name=QualifiedName 'for entity' entityRef=[entity::LEntity]
+    (('rows' minRows=INT 'to' maxRows=INT '{'
+        (temporaries+=EntityMockTemporary)*
+        (attributes+=IEntityMockAttribute)*
+        (calculations+=EntityMockEntityFunction)*
+    '}')
+    |
+    ('by resource' byResource=[EntityMockResource] '{'
+        (byResourceAttributes+=EntityMockByResourceAttribute)*
+        (createBlobMapping?='createBlobMapping')?
+    '}')
+    |
+    ('iterate' iterator=[entity::LEntityAttribute]
+        'with' iterate=IIterate '{'
+    	(temporaries+=EntityMockTemporary)*
+        (attributes+=IEntityMockAttribute)*
+        (calculations+=EntityMockEntityFunction)*
+    '}')
+    )
+    ;
+
+IIterate:
+	IntegerIterate | DateIterate;
+
+IntegerIterate:
+	'integer from' from=SINT 'until' until=SINT 'step' step=INT;
+
+DateIterate:
+	'date from' from=Date 'until' until=Date 'every' stepCount=INT stepType=EDateStepType;
+
+Date:
+	(yesterday?='yesterday' ) | (today?='today' ) | (tomorrow?='tomorrow') | (year=INT '-' month=INT '-' day=INT);
+
+enum EDateStepType:
+	DAYS='days' | WEEKS='weeks' | MONTHS='months' | YEARS='years';
+
+EntityMockByResourceAttribute:
+    {EntityMockByResourceAttribute} 'var' attributeRef=[entity::LEntityAttribute] 'as' resourceAttribute=[EntityMockResourceAttribute];
+
+EntityMockTemporary:
+    'temporary' name=QualifiedName 'by object' object=[EntityMockObject];
+
+IEntityMockEntityUsable:
+	IEntityMockAttribute | EntityMockEntityFunction;
+
+IEntityMockAttribute:
+    EntityMockAttributeByObject | EntityMockAttributeFiller | EntityMockAttributeByReference;
+
+EntityMockEntityFunction:
+	'var' attributeRef=[entity::LEntityAttribute]
+		'calculate based on' '(' (params+=EntityMockEntityFunctionParameter (',' params+=EntityMockEntityFunctionParameter)* )? ')'
+	body=XBlockExpression;
+
+EntityMockEntityFunctionParameter:
+	(attributeRef=[entity::LEntityAttribute])
+	|
+	(referencePaths+=[entity::LEntityReference]  ('.'? referencePaths+=[entity::LEntityReference])* '.' referenceRef=[entity::LEntityAttribute]);
+
+EntityMockReferencedObjectAttribute:
+    {EntityMockReferencedObjectAttribute} temporary=[EntityMockTemporary] ('.'? embedded+=[EntityMockObjectEmbed])* '.' attribute=[IEntityMockObjectUsable];
+
+EntityMockAttributeByObject:
+    'var' attributeRef=[entity::LEntityAttribute]
+    ('as' reference=EntityMockReferencedObjectAttribute)
+    |
+    ('using' resourceEnum=[EntityMockObjectEnum] '.' resourceAttribute=[EntityMockResourceAttribute] )
+    ;
+
+EntityMockAttributeFiller:
+    'var' attributeRef=[entity::LEntityAttribute] 'randomize' fillerType=PropertyFillerType;
+
+EntityMockAttributeByReference:
+    'ref' attributeRef=[entity::LEntityReference] 'to' ('existing entities' | mockedEntity=[EntityMockEntity]) ('optional for' optionalFor=INT 'percent')?;
+
+SignedNumber returns ecore::EDouble:
+    ('-')? UnsignedNumber;
+
+UnsignedNumber returns ecore::EDouble:
+    INT ('.' (INT))?;
+
+SINT returns ecore::EInt:
+    ('-')? INT;
+
+QualifiedName:
+  ValidID (=>'.' ValidID)*;
+  
+ValidID:
+    ID;
+	
+terminal ID:
+    '^'? ('a'..'z'|'A'..'Z'|'$'|'_') ('a'..'z'|'A'..'Z'|'$'|'_'|'0'..'9')*;
diff --git a/org.eclipse.osbp.xtext.entitymock/src/org/eclipse/osbp/xtext/entitymock/EntityMockDSLBundleSpaceRuntimeModule.java b/org.eclipse.osbp.xtext.entitymock/src/org/eclipse/osbp/xtext/entitymock/EntityMockDSLBundleSpaceRuntimeModule.java
new file mode 100644
index 0000000..a9beb1a
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/src/org/eclipse/osbp/xtext/entitymock/EntityMockDSLBundleSpaceRuntimeModule.java
@@ -0,0 +1,43 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  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:                                                      
+ * 	   Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ * 
+ */
+ package org.eclipse.osbp.xtext.entitymock;
+
+import org.eclipse.osbp.dsl.xtext.types.bundles.BundleSpaceTypeProviderFactory;
+import org.eclipse.osbp.dsl.xtext.types.bundles.BundleSpaceTypeScopeProvider;
+import org.eclipse.osbp.xtext.builder.types.loader.api.ITypeLoaderFactory;
+import org.eclipse.osbp.xtext.builder.types.loader.api.ITypeLoaderProvider;
+import org.eclipse.osbp.xtext.builder.types.loader.runtime.TypeLoaderFactory;
+import org.eclipse.osbp.xtext.builder.types.loader.runtime.TypeLoaderProvider;
+
+@SuppressWarnings("restriction")
+public class EntityMockDSLBundleSpaceRuntimeModule extends
+		EntityMockDSLRuntimeModule {
+	// contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+	public Class<? extends org.eclipse.xtext.common.types.access.IJvmTypeProvider.Factory> bindIJvmTypeProvider$Factory() {
+		return BundleSpaceTypeProviderFactory.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+	public Class<? extends org.eclipse.xtext.common.types.xtext.AbstractTypeScopeProvider> bindAbstractTypeScopeProvider() {
+		return BundleSpaceTypeScopeProvider.class;
+	}
+
+	public Class<? extends ITypeLoaderFactory> bindITypeLoaderFactory() {
+		return TypeLoaderFactory.class;
+	}
+
+	public Class<? extends ITypeLoaderProvider> ITypeLoaderProvider() {
+		return TypeLoaderProvider.class;
+	}
+}
diff --git a/org.eclipse.osbp.xtext.entitymock/src/org/eclipse/osbp/xtext/entitymock/EntityMockDSLBundleSpaceStandaloneSetup.java b/org.eclipse.osbp.xtext.entitymock/src/org/eclipse/osbp/xtext/entitymock/EntityMockDSLBundleSpaceStandaloneSetup.java
new file mode 100644
index 0000000..703e27f
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/src/org/eclipse/osbp/xtext/entitymock/EntityMockDSLBundleSpaceStandaloneSetup.java
@@ -0,0 +1,41 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  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:                                                      
+ * 	   Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ * 
+ */
+ package org.eclipse.osbp.xtext.entitymock;
+
+import org.eclipse.osbp.xtext.builder.xbase.setups.XbaseBundleSpaceStandaloneSetup;
+
+import com.google.inject.Guice;
+import com.google.inject.Injector;
+
+@SuppressWarnings("restriction")
+public class EntityMockDSLBundleSpaceStandaloneSetup extends
+		EntityMockDSLStandaloneSetup {
+	public static void doSetup() {
+		new EntityMockDSLBundleSpaceStandaloneSetup().createInjectorAndDoEMFRegistration();
+	}
+	
+	@Override
+	public Injector createInjectorAndDoEMFRegistration() {
+		XbaseBundleSpaceStandaloneSetup.doSetup();
+
+		Injector injector = createInjector();
+		register(injector);
+		return injector;
+	}
+
+	@Override
+	public Injector createInjector() {
+		return Guice.createInjector(new EntityMockDSLBundleSpaceRuntimeModule());
+	}
+}
diff --git a/org.eclipse.osbp.xtext.entitymock/src/org/eclipse/osbp/xtext/entitymock/EntityMockDSLRuntimeModule.java b/org.eclipse.osbp.xtext.entitymock/src/org/eclipse/osbp/xtext/entitymock/EntityMockDSLRuntimeModule.java
new file mode 100644
index 0000000..aac8d27
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/src/org/eclipse/osbp/xtext/entitymock/EntityMockDSLRuntimeModule.java
@@ -0,0 +1,83 @@
+/**
+ *                                                                            
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *                                                                            
+ * 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:   
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation 
+ */
+package org.eclipse.osbp.xtext.entitymock;
+
+import javax.inject.Singleton;
+
+import org.eclipse.xtext.generator.IGenerator;
+import org.eclipse.xtext.generator.IOutputConfigurationProvider;
+import org.eclipse.xtext.scoping.IScopeProvider;
+import org.eclipse.osbp.dsl.xtext.lazyresolver.LazyJvmTypeLinker;
+import org.eclipse.osbp.dsl.xtext.lazyresolver.SemanticLoadingResource;
+import org.eclipse.osbp.dsl.xtext.lazyresolver.linker.LazyJvmTypeTransientValueService;
+
+import com.google.inject.Binder;
+
+import org.eclipse.osbp.xtext.entitymock.generator.EntityMockDslGenerator;
+import org.eclipse.osbp.xtext.entitymock.scoping.EntityMockDSLScopeProvider;
+import org.eclipse.osbp.xtext.entitymock.valueconverter.EntityMockQualifiedNameProvider;
+import org.eclipse.osbp.xtext.i18n.DSLOutputConfigurationProvider;
+
+/**
+ * Use this class to register components to be used at runtime / without the
+ * Equinox extension registry.
+ */
+public class EntityMockDSLRuntimeModule extends
+		org.eclipse.osbp.xtext.entitymock.AbstractEntityMockDSLRuntimeModule {
+	
+	@Override
+	public Class<? extends IGenerator> bindIGenerator() {
+	    return EntityMockDslGenerator.class;
+	}
+	
+	@Override
+	public void configure(Binder binder) {
+		super.configure(binder);
+		binder.bind(IOutputConfigurationProvider.class).to(DSLOutputConfigurationProvider.class).in(Singleton.class);
+	}
+
+	@Override
+	public Class<? extends IScopeProvider> bindIScopeProvider() {
+		return EntityMockDSLScopeProvider.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.xbase.XbaseGeneratorFragment
+	@Override
+	public Class<? extends org.eclipse.xtext.xbase.scoping.batch.XbaseBatchScopeProvider> bindXbaseBatchScopeProvider() {
+		return EntityMockDSLScopeProvider.class;
+	}
+
+	/**
+	 * Only required, if fqn can not be created by appending the names of the
+	 * semantic elements up the hierarchy.
+	 */
+	@Override
+	public Class<? extends org.eclipse.xtext.naming.IQualifiedNameProvider> bindIQualifiedNameProvider() {
+		return EntityMockQualifiedNameProvider.class;
+	}
+
+	@Override
+	public Class<? extends org.eclipse.xtext.resource.XtextResource> bindXtextResource() {
+		return SemanticLoadingResource.class;
+	}
+
+	@Override
+	public Class<? extends org.eclipse.xtext.linking.ILinker> bindILinker() {
+		return LazyJvmTypeLinker.class;
+	}
+
+	public Class<? extends org.eclipse.xtext.serializer.sequencer.ITransientValueService> bindSerializerITransientValueService() {
+		return LazyJvmTypeTransientValueService.class;
+	}
+
+}
diff --git a/org.eclipse.osbp.xtext.entitymock/src/org/eclipse/osbp/xtext/entitymock/EntityMockDSLStandaloneSetup.java b/org.eclipse.osbp.xtext.entitymock/src/org/eclipse/osbp/xtext/entitymock/EntityMockDSLStandaloneSetup.java
new file mode 100644
index 0000000..57f3dc6
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/src/org/eclipse/osbp/xtext/entitymock/EntityMockDSLStandaloneSetup.java
@@ -0,0 +1,25 @@
+/**
+ *                                                                            
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *                                                                            
+ * 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:   
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation 
+ */
+package org.eclipse.osbp.xtext.entitymock;
+
+/**
+ * Initialization support for running Xtext languages 
+ * without equinox extension registry
+ */
+public class EntityMockDSLStandaloneSetup extends EntityMockDSLStandaloneSetupGenerated{
+
+	public static void doSetup() {
+		new EntityMockDSLStandaloneSetup().createInjectorAndDoEMFRegistration();
+	}
+}
+
diff --git a/org.eclipse.osbp.xtext.entitymock/src/org/eclipse/osbp/xtext/entitymock/GenerateEntityMockDSL.mwe2 b/org.eclipse.osbp.xtext.entitymock/src/org/eclipse/osbp/xtext/entitymock/GenerateEntityMockDSL.mwe2
new file mode 100644
index 0000000..1c5ca39
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/src/org/eclipse/osbp/xtext/entitymock/GenerateEntityMockDSL.mwe2
@@ -0,0 +1,170 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  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:                                                      
+ * 	   Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ * 
+ */
+
+module org.eclipse.osbp.xtext.entitymock.GenerateEntityMockDSL
+
+import org.eclipse.emf.mwe.utils.*
+import org.eclipse.xtext.generator.*
+import org.eclipse.xtext.ui.generator.*
+import org.eclipse.osbp.dsl.mwe.*
+
+var projectName = "org.eclipse.osbp.xtext.entitymock"
+var grammarURI = "platform:/resource/${projectName}/src/org/eclipse/osbp/xtext/entitymock/EntityMockDSL.xtext"
+var fileExtensions = "entitymock"
+var runtimeProject = "../${projectName}"
+var generateXtendStub = true
+var encoding = "UTF-8"
+
+Workflow {
+    bean = org.eclipse.emf.ecore.xcore.XcoreStandaloneSetup : xcore {}
+    bean = org.eclipse.xtext.mwe.Reader {
+        register = xcore
+    }
+    bean = MavenStandaloneSetup {
+    	scanClassPath = true
+    	platformUri = "${runtimeProject}/.."
+
+        registerGenModelFile = "platform:/resource/org.eclipse.osbp.xtext.entitymock/model/EntityMockDSL.xcore"
+        registerGeneratedEPackage = "org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage"
+        
+        registerGenModelFile = "platform:/resource/org.eclipse.osbp.dsl.entity.xtext/model/entity.xcore"
+        registerGeneratedEPackage = "org.eclipse.osbp.dsl.semantic.entity.OSBPEntityPackage"
+        registerGenModelFile = "platform:/resource/org.eclipse.osbp.dsl.common.xtext/model/types.xcore"
+        registerGeneratedEPackage = "org.eclipse.osbp.dsl.semantic.common.types.OSBPTypesPackage"
+		registerGenModelFile = "platform:/resource/org.eclipse.osbp.xtext.datainterchange/model/DataDSL.xcore"
+		registerGeneratedEPackage = "org.eclipse.osbp.xtext.datainterchange.DataDSLPackage"
+        
+    	registerGeneratedEPackage = "org.eclipse.xtext.xbase.XbasePackage"
+    	registerGenModelFile = "platform:/resource/org.eclipse.xtext.xbase/model/Xbase.genmodel"
+    }
+    
+    component = DirectoryCleaner {
+    	directory = "${runtimeProject}/src-gen"
+    }
+    
+    component = DirectoryCleaner {
+    	directory = "${runtimeProject}.ui/src-gen"
+    }
+    
+    component = DirectoryCleaner {
+    	directory = "${runtimeProject}.tests/src-gen"
+    }
+    
+    component = Generator {
+    	pathRtProject = runtimeProject
+    	pathUiProject = "${runtimeProject}.ui"
+    	pathTestProject = "${runtimeProject}.tests"
+    	projectNameRt = projectName
+    	projectNameUi = "${projectName}.ui"
+    	encoding = encoding
+    	language = auto-inject {
+    		uri = grammarURI
+    
+    		// Java API to access grammar elements (required by several other fragments)
+    		fragment = grammarAccess.GrammarAccessFragment auto-inject {}
+    
+    		// generates Java API for the generated EPackages
+    		fragment = ecore.EMFGeneratorFragment auto-inject {}
+    
+    		// the old serialization component
+    		// fragment = parseTreeConstructor.ParseTreeConstructorFragment auto-inject {}    
+    
+    		// serializer 2.0
+    		fragment = serializer.SerializerFragment auto-inject {
+    			generateStub = false
+    		}
+    
+    		// a custom ResourceFactory for use with EMF
+    		fragment = resourceFactory.ResourceFactoryFragment auto-inject {}
+    
+    		// The antlr parser generator fragment.
+    		fragment = parser.antlr.XtextAntlrGeneratorFragment auto-inject {
+    		//  options = {
+    		//      backtrack = true
+    		//  }
+    		}
+    
+    		// Xtend-based API for validation
+    		fragment = validation.ValidatorFragment auto-inject {
+    		//    composedCheck = "org.eclipse.xtext.validation.ImportUriValidator"
+    		//    composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator"
+    		    composedCheck = "org.eclipse.osbp.xtext.basic.validation.NamesAreUniqueValidator"
+    		}
+    
+    		// old scoping and exporting API
+    		// fragment = scoping.ImportURIScopingFragment auto-inject {}
+    		// fragment = exporting.SimpleNamesFragment auto-inject {}
+    
+    		// scoping and exporting API
+    		fragment = scoping.ImportNamespacesScopingFragment auto-inject {}
+    		fragment = exporting.QualifiedNamesFragment auto-inject {}
+    		fragment = builder.BuilderIntegrationFragment auto-inject {}
+    
+    		// generator API
+    		fragment = generator.GeneratorFragment auto-inject {}
+    
+    		// formatter API
+    		fragment = formatting.FormatterFragment auto-inject {}
+    
+    		// labeling API
+    		fragment = labeling.LabelProviderFragment auto-inject {}
+    
+    		// outline API
+    		fragment = outline.OutlineTreeProviderFragment auto-inject {}
+    		fragment = outline.QuickOutlineFragment auto-inject {}
+    
+    		// quickfix API
+    		fragment = quickfix.QuickfixProviderFragment auto-inject {}
+    
+    		// content assist API
+    		fragment = contentAssist.ContentAssistFragment auto-inject {}
+    
+			// generates a more lightweight Antlr parser and lexer tailored for content assist
+			fragment = parser.antlr.XtextAntlrUiGeneratorFragment auto-inject {
+				// @see https://github.com/osbp/osbp-doc/blob/master/org.eclipse.osbp.doc.dsl/src/org.eclipse.osbp/doc/dsl/grammar/GenerateOSBPDocGrammar.mwe2
+    		  	options = {
+    		//      backtrack = true
+    				classSplitting=true
+    				fieldsPerClass="100"
+    				methodsPerClass="100"
+    		  	}
+    		}
+    
+    		// generates junit test support classes into Generator#pathTestProject
+    		fragment = junit.Junit4Fragment auto-inject {}
+    
+    		// rename refactoring
+    		fragment = refactoring.RefactorElementNameFragment auto-inject {}
+    
+    		// provides the necessary bindings for java types integration
+    		fragment = types.TypesGeneratorFragment auto-inject {}
+    
+    		// generates the required bindings only if the grammar inherits from Xbase
+    		fragment = xbase.XbaseGeneratorFragment auto-inject {}
+    		
+    		// generates the required bindings only if the grammar inherits from Xtype
+    		fragment = xbase.XtypeGeneratorFragment auto-inject {}
+    
+    		// provides a preference page for template proposals
+    		fragment = templates.CodetemplatesGeneratorFragment auto-inject {}
+    
+    		// provides a compare view
+    		fragment = compare.CompareFragment auto-inject {}
+    		
+    		// parse grammar and generate i18n grammar
+    		fragment = org.eclipse.osbp.xtext.basic.generator.BasicDslGrammarI18nGenerator auto-inject {}
+    	}
+    }
+}
+
diff --git a/org.eclipse.osbp.xtext.entitymock/src/org/eclipse/osbp/xtext/entitymock/XcoreResourceFactory.java b/org.eclipse.osbp.xtext.entitymock/src/org/eclipse/osbp/xtext/entitymock/XcoreResourceFactory.java
new file mode 100644
index 0000000..fb064fc
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/src/org/eclipse/osbp/xtext/entitymock/XcoreResourceFactory.java
@@ -0,0 +1,27 @@
+/**
+ *                                                                            
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *                                                                            
+ * 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:   
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation 
+ */
+package org.eclipse.osbp.xtext.entitymock;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.xcore.resource.XcoreResource;
+
+public class XcoreResourceFactory implements Resource.Factory {
+	@Override
+	public Resource createResource(URI uri) {
+		XcoreResource resource = new XcoreResource();
+		resource.setURI(uri);
+		return resource;
+	}
+
+}
diff --git a/org.eclipse.osbp.xtext.entitymock/src/org/eclipse/osbp/xtext/entitymock/doc-files/grammar.png b/org.eclipse.osbp.xtext.entitymock/src/org/eclipse/osbp/xtext/entitymock/doc-files/grammar.png
new file mode 100644
index 0000000..0d37ccc
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/src/org/eclipse/osbp/xtext/entitymock/doc-files/grammar.png
Binary files differ
diff --git a/org.eclipse.osbp.xtext.entitymock/src/org/eclipse/osbp/xtext/entitymock/formatting/EntityMockDSLFormatter.xtend b/org.eclipse.osbp.xtext.entitymock/src/org/eclipse/osbp/xtext/entitymock/formatting/EntityMockDSLFormatter.xtend
new file mode 100644
index 0000000..6573544
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/src/org/eclipse/osbp/xtext/entitymock/formatting/EntityMockDSLFormatter.xtend
@@ -0,0 +1,56 @@
+/**
+ *                                                                            
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *                                                                            
+ * 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:   
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation 
+ * 
+ * 
+ *  This copyright notice shows up in the generated Java code
+ *
+ */
+ 
+package org.eclipse.osbp.xtext.entitymock.formatting
+
+import com.google.inject.Inject;
+import org.eclipse.xtext.formatting.impl.AbstractDeclarativeFormatter
+import org.eclipse.xtext.formatting.impl.FormattingConfig
+import org.eclipse.osbp.utils.xtext.GenericFormatter
+import org.eclipse.xtext.xbase.services.XtypeGrammarAccess
+import org.eclipse.xtext.GrammarUtil
+import org.eclipse.xtext.ParserRule
+import org.eclipse.osbp.xtext.entitymock.EntityMockResourceAttribute
+
+//import org.eclipse.osbp.xtext.entitymock.services.EntityMockDSLGrammarAccess
+
+/**
+ * This class contains custom formatting description.
+ * 
+ * see : http://www.eclipse.org/Xtext/documentation.html#formatting
+ * on how and when to use it 
+ * 
+ * Also see {@link org.eclipse.xtext.xtext.XtextFormattingTokenSerializer} as an example
+ */
+class EntityMockDSLFormatter extends AbstractDeclarativeFormatter {
+
+//	@Inject extension EntityMockDSLGrammarAccess
+	@Inject XtypeGrammarAccess grammarAccess
+	
+	override protected void configureFormatting(FormattingConfig c) {
+//		c.setLinewrap(1, 1, 1).around(SL_COMMENTRule)
+//		c.setLinewrap(1, 1, 1).around(ML_COMMENTRule)
+		val genericFormatter        = new GenericFormatter()
+		var ParserRule importDef    = GrammarUtil.findRuleForName( grammar.grammar, "EntityModelImport"           ) as ParserRule
+		var ParserRule resourceAttr = GrammarUtil.findRuleForName( grammar.grammar, "EntityMockResourceAttribute" ) as ParserRule
+
+//		genericFormatter.formatFirstLevelBlocks( c, grammar.grammar, "Dialog", "EntityModelImport" )
+		c.setNoLinewrap().around( importDef )
+		c.setNoLinewrap().around( resourceAttr )
+		genericFormatter.genericFormatting( c, grammar, grammarAccess )
+	}
+}
diff --git a/org.eclipse.osbp.xtext.entitymock/src/org/eclipse/osbp/xtext/entitymock/generator/EntityMockDslGenerator.xtend b/org.eclipse.osbp.xtext.entitymock/src/org/eclipse/osbp/xtext/entitymock/generator/EntityMockDslGenerator.xtend
new file mode 100644
index 0000000..c277acd
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/src/org/eclipse/osbp/xtext/entitymock/generator/EntityMockDslGenerator.xtend
@@ -0,0 +1,114 @@
+/**
+ *                                                                            
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *                                                                            
+ * 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:   
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation 
+ * 
+ * 
+ *  This copyright notice shows up in the generated Java code
+ *
+ */
+ 
+package org.eclipse.osbp.xtext.entitymock.generator
+
+import com.google.inject.Inject
+import java.io.BufferedInputStream
+import java.io.InputStream
+import java.util.ArrayList
+import java.util.Date
+import java.util.HashMap
+import java.util.Iterator
+import java.util.LinkedHashMap
+import java.util.List
+import org.eclipse.emf.ecore.EObject
+import org.eclipse.emf.ecore.resource.Resource
+import org.eclipse.osbp.utils.entitymock.ABaseMockEntity
+import org.eclipse.osbp.utils.entitymock.ABaseMockObject
+import org.eclipse.osbp.utils.entitymock.ABaseMockResource
+import org.eclipse.osbp.utils.entitymock.AEntityMockDataGenerator
+import org.eclipse.osbp.utils.entitymock.IEntityMockDataDbFiller
+import org.eclipse.osbp.utils.entitymock.IEntityMockDataGenerator
+import org.eclipse.osbp.utils.entitymock.Iterators
+import org.eclipse.osbp.utils.entitymock.MockedEntityDto
+import org.eclipse.osbp.xtext.addons.AdvancedJvmModelGenerator
+import org.eclipse.osbp.xtext.basic.generator.BasicDslGeneratorUtils
+import org.eclipse.osbp.xtext.entitymock.EntityMockModel
+import org.eclipse.osbp.xtext.entitymock.EntityMockPackage
+import org.eclipse.osbp.xtext.entitymock.jvmmodel.EntityMockDSLJvmModelInferrer
+import org.eclipse.xtext.generator.IFileSystemAccess
+import org.eclipse.xtext.xbase.compiler.GeneratorConfig
+import org.eclipse.xtext.xbase.compiler.ImportManager
+import org.slf4j.Logger
+import org.slf4j.LoggerFactory
+import org.eclipse.osbp.utils.blob.component.BlobTypingAPI
+import org.eclipse.osbp.utils.blob.component.BlobUpload
+
+class EntityMockDslGenerator extends AdvancedJvmModelGenerator {
+//    @Inject extension JvmTypeReferenceBuilder
+    @Inject extension BasicDslGeneratorUtils
+    
+    override doGenerate(Resource input, IFileSystemAccess fsa) {
+        val model = input.getContents().get(0) as EntityMockModel
+        for (pckg : model.packages) {
+            pckg.generateOsgiInf(fsa)
+        }
+        super.doGenerate(input, fsa)
+    }
+
+    /**
+     * Generate an OSGI INF xml file defining the generated Entity Mock Data Generator via Declarative Service
+     * @param pckg the package defining the generator
+     * @param fsa file system access 
+     */
+    def void generateOsgiInf(EntityMockPackage pckg, IFileSystemAccess fsa) {
+        val generatorName = '''«EntityMockDSLJvmModelInferrer.getEntityMockName(pckg)».«EntityMockDSLJvmModelInferrer.ENTITY_MOCK_GENERATOR»'''
+        var str = '''
+            <?xml version="1.0" encoding="UTF-8"?>
+            <scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" immediate="true" name="«generatorName»">
+               <implementation class="«generatorName»"/>
+               <service>
+                  <provide interface="«IEntityMockDataGenerator.canonicalName»"/>
+               </service>
+            </scr:component>
+        '''
+        fsa.generateFile('''../OSGI-INF/«generatorName».xml''', str)
+    }
+
+    /**
+     * add all relevant Java import statements for necessary classes
+     */
+    override createAppendable(EObject context, ImportManager importManager, GeneratorConfig config) {
+		// required to initialize the needed builder to avoid deprecated methods
+		builder = context.eResource
+		// ---------
+    	addImportFor(importManager, _typeReferenceBuilder
+    		, Iterator
+    		, Iterators.DateIterator
+    		, Iterators.IntegerIterator
+         	, ABaseMockEntity
+			, ABaseMockObject
+			, ABaseMockResource
+			, AEntityMockDataGenerator
+			, MockedEntityDto
+			, Date
+			, ArrayList
+			, HashMap
+			, LinkedHashMap
+			, List
+			, BlobTypingAPI
+			, BlobUpload
+			, InputStream
+			, BufferedInputStream
+			, Logger
+			, LoggerFactory
+			, IEntityMockDataDbFiller
+			)
+        super.createAppendable(context, importManager, config)
+    }
+}
diff --git a/org.eclipse.osbp.xtext.entitymock/src/org/eclipse/osbp/xtext/entitymock/jvmmodel/EntityMockDSLJvmModelInferrer.xtend b/org.eclipse.osbp.xtext.entitymock/src/org/eclipse/osbp/xtext/entitymock/jvmmodel/EntityMockDSLJvmModelInferrer.xtend
new file mode 100644
index 0000000..0dcbad2
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/src/org/eclipse/osbp/xtext/entitymock/jvmmodel/EntityMockDSLJvmModelInferrer.xtend
@@ -0,0 +1,1617 @@
+/**
+ *                                                                            
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *                                                                            
+ * 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:   
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation 
+ * 
+ * 
+ *  This copyright notice shows up in the generated Java code
+ *
+ */
+ 
+package org.eclipse.osbp.xtext.entitymock.jvmmodel
+
+import com.google.inject.Inject
+import java.util.ArrayList
+import java.util.List
+import java.util.Map
+import java.util.Set
+import org.apache.commons.lang.StringUtils
+import org.apache.commons.lang.WordUtils
+import org.eclipse.osbp.dsl.semantic.common.types.LEnum
+import org.eclipse.osbp.dsl.semantic.entity.LEntity
+import org.eclipse.osbp.dsl.semantic.entity.LEntityAttribute
+import org.eclipse.osbp.persistence.IPersistenceService
+import org.eclipse.osbp.utils.common.EntityUtils
+import org.eclipse.osbp.utils.entityhelper.DataType
+import org.eclipse.osbp.utils.entitymock.ABaseMockEntity
+import org.eclipse.osbp.utils.entitymock.ABaseMockObject
+import org.eclipse.osbp.utils.entitymock.ABaseMockResource
+import org.eclipse.osbp.utils.entitymock.AEntityMockDataGenerator
+import org.eclipse.osbp.utils.entitymock.IEntityMockDataDbFiller
+import org.eclipse.osbp.xtext.datainterchange.jvmmodel.DataDSLJvmModelInferrer
+import org.eclipse.osbp.xtext.entitymock.Date
+import org.eclipse.osbp.xtext.entitymock.DateIterate
+import org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByObject
+import org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByReference
+import org.eclipse.osbp.xtext.entitymock.EntityMockAttributeFiller
+import org.eclipse.osbp.xtext.entitymock.EntityMockEntity
+import org.eclipse.osbp.xtext.entitymock.EntityMockEntityFunctionParameter
+import org.eclipse.osbp.xtext.entitymock.EntityMockModel
+import org.eclipse.osbp.xtext.entitymock.EntityMockObject
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectArrayValue
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectEmbed
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectEnum
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectFill
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectFunction
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectPlainValue
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectResourceValue
+import org.eclipse.osbp.xtext.entitymock.EntityMockPackage
+import org.eclipse.osbp.xtext.entitymock.EntityMockResource
+import org.eclipse.osbp.xtext.entitymock.EntityMockResourceDataRow
+import org.eclipse.osbp.xtext.entitymock.EntityMockTemporary
+import org.eclipse.osbp.xtext.entitymock.IEntityMockObjectUsable
+import org.eclipse.osbp.xtext.entitymock.IntegerIterate
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerBoolean
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerDateFuture
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerDatePast
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerDateRange
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedDoubleRandom
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedDoubleRange
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedIntegerRandom
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedIntegerRange
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerTextParagraphs
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerTextRandom
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerTextSentences
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerTextWords
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedDoubleRandom
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedDoubleRange
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedIntegerRandom
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedIntegerRange
+import org.eclipse.xtext.common.types.JvmDeclaredType
+import org.eclipse.xtext.common.types.JvmEnumerationType
+import org.eclipse.xtext.common.types.JvmField
+import org.eclipse.xtext.common.types.JvmTypeReference
+import org.eclipse.xtext.common.types.JvmVisibility
+import org.eclipse.xtext.xbase.jvmmodel.AbstractModelInferrer
+import org.eclipse.xtext.xbase.jvmmodel.IJvmDeclaredTypeAcceptor
+import org.eclipse.xtext.xbase.jvmmodel.JvmTypesBuilder
+import org.slf4j.Logger
+import org.eclipse.osbp.utils.entitymock.IEntityMockDataGenerator
+import org.eclipse.osbp.dsl.semantic.entity.LBean
+
+/**
+ * <p>Infers a JVM model from the source model.</p> 
+ *
+ * <p>The JVM model should contain all elements that would appear in the Java code 
+ * which is generated from the source model. Other models link against the JVM model rather than the source model.</p>     
+ */
+class EntityMockDSLJvmModelInferrer extends AbstractModelInferrer {
+
+	/**
+     * convenience API to build and initialize JVM types and their members.
+     */
+	@Inject extension JvmTypesBuilder
+	@Inject extension DataDSLJvmModelInferrer
+//	@Inject extension IQualifiedNameProvider
+	@Inject extension EntityUtils
+//	@Inject extension AnnotationExtension
+
+	@Inject DataType dtType
+
+	/**
+     * get the full qualified package name for the imported entities, removing the trailing *
+     */
+	def static String getEntityPackageName(EntityMockPackage pckg) {
+		var pckgName = ""
+		for (import : pckg.imports) {
+			if (pckgName.isEmpty) {
+				pckgName = '''«import.importedNamespace»'''.toString
+				pckgName = pckgName.replace(".*", "")
+			}
+		}
+		return pckgName
+	}
+
+	/**
+     * generate the full qualified mock package name corresponding to the imported entities
+     */
+	def static String getEntityMockName(EntityMockPackage pckg) {
+		return '''«pckg.entityPackageName»mock'''
+	}
+
+	/**
+     * generate the class name for a temporary mock object
+     */
+	def String getEntityMockName(EntityMockTemporary temporary) {
+		return (temporary.object as EntityMockObject).entityMockName
+	}
+
+	/**
+     * generate the class name for a mock resource class
+     */
+	def String getEntityMockName(EntityMockResource resource) {
+		return '''Resource«WordUtils.capitalize(resource.name)»'''
+	}
+
+	/**
+     * generate the class name for a mock object class
+     */
+	def String getEntityMockName(EntityMockObject object) {
+		return '''Object«WordUtils.capitalize(object.name)»'''
+	}
+
+	/**
+     * generate the class name for a mock entity
+     */
+	def String getEntityMockName(EntityMockEntity entity) {
+		return '''Entity«WordUtils.capitalize(entity.name)»'''
+	}
+
+	/**
+     * get the entity name referenced by a mock entity
+     */
+	def String getEntityName(EntityMockEntity entity) {
+		return entity.entityRef.entityName
+	}
+
+	/**
+     * get the entity name 
+     */
+	def String getEntityName(LEntity entity) {
+		return entity.name
+	}
+
+	/**
+     * get the entity name 
+     */
+	def String getEnumName(LEnum lenum) {
+		return lenum.name
+	}
+
+	/**
+     * get the full qualified entity name referenced by a mock entity
+     */
+	def String getEntityDtoFQN(EntityMockEntity entity) {
+		return EntityUtils.getDtoFQNForLEntity(entity.entityRef)
+	}
+
+	/**
+     * get the full qualified entity class name referenced by a mock entity
+     */
+	def String getEntityDtoFQNClass(EntityMockEntity entity) {
+		return entity.entityRef.entityDtoFQNClass
+	}
+
+	/**
+     * get the full qualified entity class name
+     */
+	def String getEntityDtoFQNClass(LEntity entity) {
+		return '''«EntityUtils.getDtoFQNForLEntity(entity)».class'''
+	}
+
+	/**
+     * generate a mock object class
+     */
+	def void generateMockObject(EntityMockModel model, IJvmDeclaredTypeAcceptor acceptor, EntityMockPackage pckg,
+		EntityMockObject mockObject) {
+		acceptor.accept(model.toClass('''«pckg.entityMockName».«mockObject.entityMockName»''')) [
+			superTypes += _typeReferenceBuilder.typeRef(ABaseMockObject)
+			// @see org.eclipse.osbp.utils.constants.GeneratorConstants.GeneratorConstants
+			documentation = '''<b>This class was auto generated! Leave it unmodified to avoid unpredictable results!</b><br>
+«mockObject.documentation»
+'''
+			final = true
+            
+   			var JvmField field = null
+   			field = model.toField("log", _typeReferenceBuilder.typeRef(Logger)) [setInitializer([ append('''LoggerFactory.getLogger(«pckg.entityMockName».«mockObject.entityMockName».class)''') ])] 
+   			field.final = true
+   			field.static = true
+			members += field
+			
+			// --- class attribute for each enumeration defined, almost identical to plain values
+			for (enumeration : mockObject.enumerations) {
+				if (enumeration.usingResource instanceof EntityMockResource) {
+					val resource = enumeration.usingResource as EntityMockResource
+					members += mockObject.toField('''«enumeration.name»_resource''',
+						_typeReferenceBuilder.typeRef(ABaseMockResource)) [
+						setInitializer(
+							[
+								append('''new «resource.entityMockName»()''')
+							])
+						documentation = enumeration.documentation
+						visibility = JvmVisibility::PRIVATE
+						static = true
+					]
+				} else {
+				}
+			}
+			// --- for each attribute
+			for (attribute : mockObject.attributes) {
+				switch attribute {
+					// --- class attribute for each plain value list, almost identical to enumerations
+					EntityMockObjectPlainValue: {
+						val List<String> items = new ArrayList
+						for (value : attribute.values) {
+							items.add('''"«value»"''')
+						}
+						members += mockObject.toField('''«attribute.name»_items''',
+							_typeReferenceBuilder.typeRef(typeof(Object[]))) [
+							setInitializer(
+								[
+									append('''{«StringUtils.join(items, ",")»}''')
+								])
+							documentation = attribute.documentation
+							visibility = JvmVisibility::PRIVATE
+							static = true
+						]
+					}
+					EntityMockObjectResourceValue: {
+					}
+					// --- class attribute for each array value list, using enumerations as first level index
+					EntityMockObjectArrayValue: {
+						val List<String> enums = new ArrayList
+						val keyType = {
+							if (attribute.enumeration.usingResource instanceof EntityMockResource) {
+								"String"
+							} else {
+								'''«EntityUtils.getDtoFQNForLEnum(attribute.enumeration.usingResource)»'''.toString
+							}
+						}
+						for (enumItem : attribute.items) {
+							val List<String> items = new ArrayList
+							for (value : enumItem.values) {
+								items.add('''"«value»"''')
+							}
+							if (enumItem.datarow instanceof EntityMockResourceDataRow) {
+								enums.add(
+									'''put("«enumItem.datarow.name»", new Object[] {«StringUtils.join(items, ",")»});''')
+							} else {
+								enums.add(
+									'''put(«keyType».«enumItem.datarow.name», new Object[] {«StringUtils.join(items, ",")»});''')
+							}
+						}
+						members += mockObject.toField('''«attribute.name»_items''', _typeReferenceBuilder.typeRef(Map)) [
+							setInitializer(
+								[
+									append(
+										'''new HashMap<«keyType», Object[]>() {{
+«StringUtils.join(enums, "\r\n")»
+}}''')
+								])
+							documentation = attribute.documentation
+							visibility = JvmVisibility::PRIVATE
+							static = true
+						]
+					}
+					EntityMockObjectEmbed: {
+					}
+					EntityMockObjectFill: {
+						var type = attribute.fillerType
+						switch type {
+							// --- class attribute for each filler using random text
+							PropertyFillerTextRandom: {
+								val List<String> items = new ArrayList
+								for (item : type.items) {
+									items.add('''"«item»"''')
+								}
+								members += mockObject.toField('''«attribute.name»_items''',
+									_typeReferenceBuilder.typeRef(typeof(Object[]))) [
+									setInitializer(
+										[
+											append('''{«StringUtils.join(items, ",")»}''')
+										])
+									documentation = attribute.documentation
+									visibility = JvmVisibility::PRIVATE
+									static = true
+								]
+							}
+							// --- class attribute for each filler using random double
+							PropertyFillerSignedDoubleRandom: {
+								val List<String> items = new ArrayList
+								for (item : type.items) {
+									items.add('''«item»''')
+								}
+								members += mockObject.toField('''«attribute.name»_items''',
+									_typeReferenceBuilder.typeRef(typeof(double[]))) [
+									setInitializer(
+										[
+											append('''{«StringUtils.join(items, ",")»}''')
+										])
+									documentation = attribute.documentation
+									visibility = JvmVisibility::PRIVATE
+									static = true
+								]
+							}
+							// --- class attribute for each filler using random double
+							PropertyFillerUnsignedDoubleRandom: {
+								val List<String> items = new ArrayList
+								for (item : type.items) {
+									items.add('''«item»''')
+								}
+								members += mockObject.toField('''«attribute.name»_items''',
+									_typeReferenceBuilder.typeRef(typeof(double[]))) [
+									setInitializer(
+										[
+											append('''{«StringUtils.join(items, ",")»}''')
+										])
+									documentation = attribute.documentation
+									visibility = JvmVisibility::PRIVATE
+									static = true
+								]
+							}
+							// --- class attribute for each filler using random integer
+							PropertyFillerSignedIntegerRandom: {
+								val List<String> items = new ArrayList
+								for (item : type.items) {
+									items.add('''«item»''')
+								}
+								members += mockObject.toField('''«attribute.name»_items''',
+									_typeReferenceBuilder.typeRef(typeof(int[]))) [
+									setInitializer(
+										[
+											append('''{«StringUtils.join(items, ",")»}''')
+										])
+									documentation = attribute.documentation
+									visibility = JvmVisibility::PRIVATE
+									static = true
+								]
+							}
+							// --- class attribute for each filler using random integer
+							PropertyFillerUnsignedIntegerRandom: {
+								val List<String> items = new ArrayList
+								for (item : type.items) {
+									items.add('''«item»''')
+								}
+								members += mockObject.toField('''«attribute.name»_items''',
+									_typeReferenceBuilder.typeRef(typeof(int[]))) [
+									setInitializer(
+										[
+											append('''{«StringUtils.join(items, ",")»}''')
+										])
+									documentation = attribute.documentation
+									visibility = JvmVisibility::PRIVATE
+									static = true
+								]
+							}
+						}
+					}
+				}
+			}
+			// --- for each calculcation
+			for (calculation : mockObject.calculations) {
+				members += mockObject.toMethod('''calculate_«calculation.name»''', calculation.oftype) [
+					visibility = JvmVisibility.PROTECTED
+					for (param : calculation.params) {
+						var type = param.parameterType
+//						var fqn = type.fullyQualifiedName
+						parameters += param.toParameter(param.name.name, type);
+					}
+					final = true
+					body = calculation.body
+				]
+			}
+			// --- generate a single data row
+			members += mockObject.toMethod('''generateDataRow''', _typeReferenceBuilder.typeRef(Void::TYPE)) [
+				visibility = JvmVisibility.PROTECTED
+				final = true
+				body = [
+					// --- each enumeration, almost the same as a plain value
+					for (enumeration : mockObject.enumerations) {
+						var doc = enumeration.documentation
+						if (doc instanceof String && !doc.trim.isEmpty) {
+							append(
+								'''/** «doc» */
+''')
+						}
+						if (enumeration.usingResource instanceof EntityMockResource) {
+							append(
+								'''generateAttribute("«enumeration.name»", «enumeration.name»_resource.getDataRows().toArray());
+''')
+						} else {
+							val lenum = enumeration.usingResource
+							append(
+								'''generateAttribute("«enumeration.name»",«EntityUtils.getDtoFQNForLEnum(lenum)».values());
+'''
+							)
+						}
+					}
+					// --- for each attribute
+					for (attribute : mockObject.attributes) {
+						var doc = attribute.documentation
+						if (doc instanceof String && !doc.trim.isEmpty) {
+							append(
+								'''/** «doc» */
+''')
+						}
+						switch attribute {
+							// --- each plain value, almost the same as an enumeration
+							EntityMockObjectPlainValue: {
+								append(
+									'''generateAttribute("«attribute.name»", «attribute.name»_items);
+''')
+							}
+							EntityMockObjectResourceValue: {
+								if (attribute.resourceEnum.usingResource instanceof EntityMockResource) {
+									append(
+										'''setFixAttribute("«attribute.name»", «attribute.resourceEnum.name»_resource.getAttribute(getAttribute("«attribute.
+											resourceEnum.name»").toString(), "«attribute.resourceAttribute.name»"));
+'''
+									)
+								} else {
+									append(
+										'''setFixAttribute("«attribute.name»", getAttribute("«attribute.resourceEnum.
+											name»"));
+'''
+									)
+								}
+							}
+							// --- each array value, using the previously generated enumeration
+							EntityMockObjectArrayValue: {
+								append(
+									'''generateAttribute("«attribute.name»", "«attribute.enumeration.name»", «attribute.
+										name»_items);
+'''
+								)
+							}
+							// --- generating an embedded mock object
+							EntityMockObjectEmbed: {
+								append(
+									'''generateAttribute("«attribute.name»", new «attribute.object.entityMockName»());
+''')
+							}
+							// --- generating using filler text depending on filler type
+							EntityMockObjectFill: {
+
+								// TODO: re-implement filler from datamart generator
+								var type = attribute.fillerType
+								switch type {
+									PropertyFillerDateFuture: {
+										append(
+											'''generateDateAttribute("«attribute.name»", 0 ,«type.dateFutureYears»);
+''')
+									}
+									PropertyFillerDatePast: {
+										append(
+											'''generateDateAttribute("«attribute.name»", -«type.datePastYears», 0);
+''')
+									}
+									PropertyFillerDateRange: {
+										append(
+											'''generateDateAttribute("«attribute.name»", «type.dateBeginYears», «type.
+												dateEndYears»);
+''')
+									}
+									PropertyFillerBoolean: {
+										append(
+											'''generateBooleanAttribute("«attribute.name»");
+''')
+									}
+									PropertyFillerSignedDoubleRange: {
+										var beginRange = '''«type.beginRange»'''
+										var endRange = '''«type.endRange»'''
+										if (type.beginRangeRef != null) {
+											beginRange = '''get_"«type.beginRangeRef.name»"()'''
+										}
+										if (type.endRangeRef != null) {
+											endRange = '''get_"«type.endRangeRef.name»"()'''
+										}
+										append(
+											'''generateSignedAttribute("«attribute.name»", «type.decimals», «beginRange», «endRange», «type.
+												rounded»);
+''')
+									}
+									PropertyFillerSignedDoubleRandom: {
+										append(
+											'''generateAttribute("«attribute.name»", «attribute.name»_items);
+''')
+									}
+									PropertyFillerUnsignedDoubleRange: {
+										var beginRange = '''«type.beginRange»'''
+										var endRange = '''«type.endRange»'''
+										if (type.beginRangeRef != null) {
+											beginRange = '''(double)get_"«type.beginRangeRef.name»"()'''
+										}
+										if (type.endRangeRef != null) {
+											endRange = '''(double)get_"«type.endRangeRef.name»"()'''
+										}
+										append(
+											'''generateUnsignedAttribute("«attribute.name»", «type.decimals», «beginRange», «endRange», «type.
+												rounded»);
+''')
+									}
+									PropertyFillerUnsignedDoubleRandom: {
+										append(
+											'''generateAttribute("«attribute.name»", «attribute.name»_items);
+''')
+									}
+									PropertyFillerSignedIntegerRange: {
+										var beginRange = '''«type.beginRange»'''
+										var endRange = '''«type.endRange»'''
+										if (type.beginRangeRef != null) {
+											beginRange = '''(int)get_"«type.beginRangeRef.name»"()'''
+										}
+										if (type.endRangeRef != null) {
+											endRange = '''(int)get_"«type.endRangeRef.name»"()'''
+										}
+										append(
+											'''generateSignedAttribute("«attribute.name»", «beginRange», «endRange», «type.
+												rounded»);
+''')
+									}
+									PropertyFillerSignedIntegerRandom: {
+										append(
+											'''generateAttribute("«attribute.name»", «attribute.name»_items);
+''')
+									}
+									PropertyFillerUnsignedIntegerRange: {
+										var beginRange = '''«type.beginRange»'''
+										var endRange = '''«type.endRange»'''
+										if (type.beginRangeRef != null) {
+											beginRange = '''(int)get_"«type.beginRangeRef.name»"()'''
+										}
+										if (type.endRangeRef != null) {
+											endRange = '''(int)get_"«type.endRangeRef.name»"()'''
+										}
+										append(
+											'''generateUnsignedAttribute("«attribute.name»", «beginRange», «endRange», «type.
+												rounded»);
+''')
+									}
+									PropertyFillerUnsignedIntegerRandom: {
+										append(
+											'''generateAttribute("«attribute.name»", «attribute.name»_items);
+''')
+									}
+									PropertyFillerTextRandom: {
+										append(
+											'''generateAttribute("«attribute.name»", «attribute.name»_items);
+''')
+									}
+									PropertyFillerTextParagraphs: {
+										append(
+											'''generateParagraphsAttribute("«attribute.name»", «type.count»);
+''')
+									}
+									PropertyFillerTextSentences: {
+										append(
+											'''generateSentencesAttribute("«attribute.name»", «type.count»);
+''')
+									}
+									PropertyFillerTextWords: {
+										append(
+											'''generateWordsAttribute("«attribute.name»", «type.count»);
+''')
+									}
+								}
+							}
+						}
+					}
+					// --- for each calculcation
+					for (calculation : mockObject.calculations) {
+						var doc = calculation.documentation
+						if (doc instanceof String && !doc.trim.isEmpty) {
+							append(
+								'''/** «doc» */
+''')
+						}
+						var paramString = ''''''
+						for (param : calculation.params) {
+							if (!paramString.isEmpty) {
+								paramString = '''«paramString»,'''
+							}
+							if (param.parameterType.type instanceof JvmEnumerationType) {
+								paramString = '''«paramString» «param.parameterType.identifier».valueOf(getAttribute("«param.
+									name.name»").toString())'''
+							} else {
+								paramString = '''«paramString»(«param.parameterType.identifier»)getAttribute("«param.
+									name.name»")'''
+							}
+						}
+						append(
+							'''try {
+	setFixAttribute("«calculation.name»", calculate_«calculation.name»(«paramString»));
+}
+catch (NullPointerException npe) {}
+catch (Exception e) {
+    log.error(e.getLocalizedMessage()+e.getCause());
+}
+'''
+						)
+					}
+				]
+			]
+		]
+	}
+
+	def String getName(IEntityMockObjectUsable attribute) {
+		switch attribute {
+			EntityMockObjectFunction: {
+				return '''«attribute.name»'''
+			}
+			EntityMockObjectEnum: {
+				return '''«attribute.name»'''
+			}
+			EntityMockObjectPlainValue: {
+				return '''«attribute.name»'''
+			}
+			EntityMockObjectArrayValue: {
+				return '''«attribute.name»'''
+			}
+			EntityMockObjectEmbed: {
+				return '''«attribute.name»'''
+			}
+			EntityMockObjectFill: {
+				return '''«attribute.name»'''
+			}
+			EntityMockObjectResourceValue: {
+				return '''«attribute.name»'''
+			}
+		}
+		return null
+	}
+
+	/**
+     * generate a mock entity class
+     */
+	def void generateMockEntity(EntityMockModel model, IJvmDeclaredTypeAcceptor acceptor, EntityMockPackage pckg,
+		EntityMockEntity mockEntity) {
+		acceptor.accept(model.toClass('''«pckg.entityMockName».«mockEntity.entityMockName»''')) [
+			superTypes += _typeReferenceBuilder.typeRef(ABaseMockEntity)
+            // @see org.eclipse.osbp.utils.constants.GeneratorConstants.GeneratorConstants
+			documentation = '''<b>This class was auto generated! Leave it unmodified to avoid unpredictable results!</b><br>
+«mockEntity.documentation»
+'''
+			final = true
+            
+   			var JvmField field = null
+   			field = model.toField("log", _typeReferenceBuilder.typeRef(Logger)) [setInitializer([ append('''LoggerFactory.getLogger(«pckg.entityMockName».«mockEntity.entityMockName».class)''') ])] 
+   			field.final = true
+   			field.static = true
+			members += field
+			
+			if (mockEntity.byResource != null) {
+				members += pckg.toField('''«mockEntity.byResource.name»_resource''',
+					_typeReferenceBuilder.typeRef(ABaseMockResource)) [
+					setInitializer(
+						[
+							append('''new «mockEntity.byResource.entityMockName»()''')
+						])
+					documentation = mockEntity.byResource.documentation
+					visibility = JvmVisibility::PRIVATE
+					static = true
+				]
+			}
+			// --- the constructor
+			members += pckg.toConstructor [
+				parameters +=
+					mockEntity.toParameter("mockDataGenerator", _typeReferenceBuilder.typeRef(AEntityMockDataGenerator))
+                body = [
+					append('''super(mockDataGenerator, "«mockEntity.entityRef.persistenceUnit»");''')
+				]
+			]
+			// --- class variables for each temporary mock object needed
+			for (temporary : mockEntity.temporaries) {
+				members += pckg.toField('''«temporary.name»_temporary''',
+					_typeReferenceBuilder.typeRef(ABaseMockObject)) [
+					setInitializer(
+						[
+							append('''new «temporary.entityMockName»()''')
+						])
+					documentation = temporary.documentation
+					visibility = JvmVisibility::PRIVATE
+					static = true
+				]
+			}
+			// --- check all attributes, if class variables are necessary
+			for (attribute : mockEntity.attributes) {
+				switch attribute {
+					EntityMockAttributeByObject: {
+					}
+					EntityMockAttributeFiller: {
+						var type = attribute.fillerType
+						switch type {
+							// --- for random text, remember all available options
+							PropertyFillerTextRandom: {
+								val List<String> items = new ArrayList
+								for (item : type.items) {
+									items.add('''"«item»"''')
+								}
+								members += pckg.toField('''«attribute.attributeRef.name»_items''',
+									_typeReferenceBuilder.typeRef(typeof(Object[]))) [
+									setInitializer(
+										[
+											append('''{«StringUtils.join(items, ",")»}''')
+										])
+									documentation = attribute.documentation
+									visibility = JvmVisibility::PRIVATE
+									static = true
+								]
+							}
+							// --- for random doubles, remember all available options
+							PropertyFillerSignedDoubleRandom: {
+								val List<String> items = new ArrayList
+								for (item : type.items) {
+									items.add('''«item»''')
+								}
+								members += pckg.toField('''«attribute.attributeRef.name»_items''',
+									_typeReferenceBuilder.typeRef(typeof(double[]))) [
+									setInitializer(
+										[
+											append('''{«StringUtils.join(items, ",")»}''')
+										])
+									documentation = attribute.documentation
+									visibility = JvmVisibility::PRIVATE
+									static = true
+								]
+							}
+							// --- for random doubles, remember all available options
+							PropertyFillerUnsignedDoubleRandom: {
+								val List<String> items = new ArrayList
+								for (item : type.items) {
+									items.add('''«item»''')
+								}
+								members += pckg.toField('''«attribute.attributeRef.name»_items''',
+									_typeReferenceBuilder.typeRef(typeof(double[]))) [
+									setInitializer(
+										[
+											append('''{«StringUtils.join(items, ",")»}''')
+										])
+									documentation = attribute.documentation
+									visibility = JvmVisibility::PRIVATE
+									static = true
+								]
+							}
+							// --- for random integers, remember all available options
+							PropertyFillerSignedIntegerRandom: {
+								val List<String> items = new ArrayList
+								for (item : type.items) {
+									items.add('''«item»''')
+								}
+								members += pckg.toField('''«attribute.attributeRef.name»_items''',
+									_typeReferenceBuilder.typeRef(typeof(int[]))) [
+									setInitializer(
+										[
+											append('''{«StringUtils.join(items, ",")»}''')
+										])
+									documentation = attribute.documentation
+									visibility = JvmVisibility::PRIVATE
+									static = true
+								]
+							}
+							// --- for random integers, remember all available options
+							PropertyFillerUnsignedIntegerRandom: {
+								val List<String> items = new ArrayList
+								for (item : type.items) {
+									items.add('''«item»''')
+								}
+								members += pckg.toField('''«attribute.attributeRef.name»_items''',
+									_typeReferenceBuilder.typeRef(typeof(int[]))) [
+									setInitializer(
+										[
+											append('''{«StringUtils.join(items, ",")»}''')
+										])
+									documentation = attribute.documentation
+									visibility = JvmVisibility::PRIVATE
+									static = true
+								]
+							}
+						}
+					}
+					EntityMockAttributeByReference: {
+					}
+				}
+			}
+			if (mockEntity.byResource != null) {
+				members += pckg.toMethod('''getDataRows''', _typeReferenceBuilder.typeRef(Set)) [
+					visibility = JvmVisibility.PUBLIC
+					final = true
+					body = [
+						append('''return «mockEntity.byResource.name»_resource.getDataRows();''')
+					]
+				]
+
+				members += pckg.toMethod('''generateEntity''', _typeReferenceBuilder.typeRef(Object)) [
+					visibility = JvmVisibility.PUBLIC
+					parameters += pckg.toParameter("dataRow", _typeReferenceBuilder.typeRef(Object))
+					final = true
+					body = [
+						// --- generate that entity
+						append(
+							'''reset();
+«mockEntity.entityDtoFQN» internal = new «mockEntity.entityDtoFQN»();
+entity = internal;
+generateData();
+try {
+''')
+						// --- for each entity attribute, just copy from the internal mock data
+						for (attribute : mockEntity.byResourceAttributes) {
+							append(
+								'''internal.set«WordUtils.capitalize(attribute.attributeRef.name)»(«attribute.
+									attributeRef.baseMockDataTypeCasting(
+										'''«mockEntity.byResource.name»_resource.getAttribute(dataRow.toString(), "«attribute.resourceAttribute.name»")''')»);
+''')
+						}
+						append(
+							'''}
+catch (Exception e) {
+    log.error(e.getLocalizedMessage()+e.getCause());
+}
+return entity;''')
+					]
+				]
+			}
+			// --- for each calculcation
+			for (calculation : mockEntity.calculations) {
+				members += pckg.toMethod('''calculate_«calculation.attributeRef.name»''', calculation.attributeRef.jvmTypeRef) [
+					visibility = JvmVisibility.PROTECTED
+					for (param : calculation.params) {
+						parameters += param.toParameter(param.getParamName("__"), param.jvmType);
+					}
+					final = true
+					body = calculation.body
+				]
+			}
+			// --- generate a single data row in the same manner as a mock object
+			members += pckg.toMethod('''generateDataRow''', _typeReferenceBuilder.typeRef(Void::TYPE)) [
+				visibility = JvmVisibility.PROTECTED
+				final = true
+				body = [
+					// --- first generate all requested temporary mock objects
+					for (temporary : mockEntity.temporaries) {
+						append(
+							'''generateAttribute("«temporary.name»", «temporary.name»_temporary);
+''')
+					}
+					// --- now all attributes
+					for (attribute : mockEntity.attributes) {
+						switch attribute {
+							// --- referencing to temporary mock objects
+							EntityMockAttributeByObject: {
+								var sourceKey = attribute.reference.temporary.name
+								for (embed : attribute.reference.embedded) {
+									sourceKey = '''«sourceKey».«embed.name»'''
+								}
+								val refAttribute = attribute.reference.attribute
+								if (refAttribute instanceof EntityMockObjectEnum)
+									sourceKey = '''«sourceKey».«(refAttribute as EntityMockObjectEnum).name»'''
+								if (refAttribute instanceof EntityMockObjectPlainValue)
+									sourceKey = '''«sourceKey».«(refAttribute as EntityMockObjectPlainValue).name»'''
+								if (refAttribute instanceof EntityMockObjectResourceValue)
+									sourceKey = '''«sourceKey».«(refAttribute as EntityMockObjectResourceValue).name»'''
+								if (refAttribute instanceof EntityMockObjectArrayValue)
+									sourceKey = '''«sourceKey».«(refAttribute as EntityMockObjectArrayValue).name»'''
+								if (refAttribute instanceof EntityMockObjectEmbed)
+									sourceKey = '''«sourceKey».«(refAttribute as EntityMockObjectEmbed).name»'''
+								if (refAttribute instanceof EntityMockObjectFill)
+									sourceKey = '''«sourceKey».«(refAttribute as EntityMockObjectFill).name»'''
+								if (refAttribute instanceof EntityMockObjectFunction)
+									sourceKey = '''«sourceKey».«(refAttribute as EntityMockObjectFunction).name»'''
+								append(
+									'''generateAttribute("«attribute.attributeRef.name»", "«sourceKey»");
+''')
+							}
+							// --- filled by filler providers by filler type
+							EntityMockAttributeFiller: {
+								var type = attribute.fillerType
+								switch type {
+									PropertyFillerDateFuture: {
+										append(
+											'''generateDateAttribute("«attribute.attributeRef.name»", 0 ,«type.
+												dateFutureYears»);
+''')
+									}
+									PropertyFillerDatePast: {
+										append(
+											'''generateDateAttribute("«attribute.attributeRef.name»", -«type.
+												datePastYears», 0);
+''')
+									}
+									PropertyFillerDateRange: {
+										append(
+											'''generateDateAttribute("«attribute.attributeRef.name»", «type.
+												dateBeginYears», «type.dateEndYears»);
+''')
+									}
+									PropertyFillerBoolean: {
+										append(
+											'''generateBooleanAttribute("«attribute.attributeRef.name»");
+''')
+									}
+									PropertyFillerSignedDoubleRange: {
+										var beginRange = '''«type.beginRange»'''
+										var endRange = '''«type.endRange»'''
+										if (type.beginRangeRef != null) {
+											beginRange = '''get_"«type.beginRangeRef.name»"()'''
+										}
+										if (type.endRangeRef != null) {
+											endRange = '''get_"«type.endRangeRef.name»"()'''
+										}
+										append(
+											'''generateSignedAttribute("«attribute.attributeRef.name»", «type.decimals», «beginRange», «endRange», «type.
+												rounded»);
+''')
+									}
+									PropertyFillerSignedDoubleRandom: {
+										append(
+											'''generateAttribute("«attribute.attributeRef.name»", «attribute.
+												attributeRef.name»_items);
+''')
+									}
+									PropertyFillerUnsignedDoubleRange: {
+										var beginRange = '''«type.beginRange»'''
+										var endRange = '''«type.endRange»'''
+										if (type.beginRangeRef != null) {
+											beginRange = '''(double)get_"«type.beginRangeRef.name»"()'''
+										}
+										if (type.endRangeRef != null) {
+											endRange = '''(double)get_"«type.endRangeRef.name»"()'''
+										}
+										append(
+											'''generateUnsignedAttribute("«attribute.attributeRef.name»", «type.decimals», «beginRange», «endRange», «type.
+												rounded»);
+''')
+									}
+									PropertyFillerUnsignedDoubleRandom: {
+										append(
+											'''generateAttribute("«attribute.attributeRef.name»", «attribute.
+												attributeRef.name»_items);
+''')
+									}
+									PropertyFillerSignedIntegerRange: {
+										var beginRange = '''«type.beginRange»'''
+										var endRange = '''«type.endRange»'''
+										if (type.beginRangeRef != null) {
+											beginRange = '''(int)get_"«type.beginRangeRef.name»"()'''
+										}
+										if (type.endRangeRef != null) {
+											endRange = '''(int)get_"«type.endRangeRef.name»"()'''
+										}
+										append(
+											'''generateSignedAttribute("«attribute.attributeRef.name»", «beginRange», «endRange», «type.
+												rounded»);
+''')
+									}
+									PropertyFillerSignedIntegerRandom: {
+										append(
+											'''generateAttribute("«attribute.attributeRef.name»", «attribute.
+												attributeRef.name»_items);
+''')
+									}
+									PropertyFillerUnsignedIntegerRange: {
+										var beginRange = '''«type.beginRange»'''
+										var endRange = '''«type.endRange»'''
+										if (type.beginRangeRef != null) {
+											beginRange = '''(int)get_"«type.beginRangeRef.name»"()'''
+										}
+										if (type.endRangeRef != null) {
+											endRange = '''(int)get_"«type.endRangeRef.name»"()'''
+										}
+										append(
+											'''generateUnsignedAttribute("«attribute.attributeRef.name»", «beginRange», «endRange», «type.
+												rounded»);
+''')
+									}
+									PropertyFillerUnsignedIntegerRandom: {
+										append(
+											'''generateAttribute("«attribute.attributeRef.name»", «attribute.
+												attributeRef.name»_items);
+''')
+									}
+									PropertyFillerTextRandom: {
+										append(
+											'''generateAttribute("«attribute.attributeRef.name»", «attribute.
+												attributeRef.name»_items);
+''')
+									}
+									PropertyFillerTextParagraphs: {
+										append(
+											'''generateParagraphsAttribute("«attribute.attributeRef.name»", «type.count»);
+''')
+									}
+									PropertyFillerTextSentences: {
+										append(
+											'''generateSentencesAttribute("«attribute.attributeRef.name»", «type.count»);
+''')
+									}
+									PropertyFillerTextWords: {
+										append(
+											'''generateWordsAttribute("«attribute.attributeRef.name»", «type.count»);
+''')
+									}
+								}
+							}
+							// --- referencing to other mock entities
+							EntityMockAttributeByReference: {
+								if	(attribute.mockedEntity == null) {
+								append(
+									'''generateAttribute("«attribute.attributeRef.name»", «EntityUtils.getDtoFQNForLEntity(attribute.attributeRef.type)».class, «
+										((attribute.optionalFor as double)/100.0)»);
+''')
+								}
+								else {
+									append(
+										'''generateAttribute("«attribute.attributeRef.name»", "«attribute.mockedEntity.name»", «
+											((attribute.optionalFor as double)/100.0)»);
+	''')
+								}
+							}
+						}
+					}
+					// --- for each entity attribute, just copy from the internal mock data
+					for (calculation : mockEntity.calculations) {
+						var doc = calculation.documentation
+						if (doc instanceof String && !doc.trim.isEmpty) {
+							append(
+								'''/** «doc» */
+''')
+						}
+						var paramString = ''''''
+						for (param : calculation.params) {
+							if (!paramString.isEmpty) {
+								paramString = '''«paramString»,'''
+							}
+							if (param.attributeRef != null) {
+								paramString = '''«paramString»(«param.jvmType.identifier»)getAttribute("«param.
+									getParamName(".")»")'''
+							}
+							else if (param.isReferenceOnExistingDto) {
+								paramString = '''«paramString»(«param.jvmType.identifier»)((«
+									EntityUtils.getDtoFQNForLEntity(param.referencePaths.get(0).type)
+									»)getAttribute("«
+									param.referencePaths.get(0).name
+									»", mockDataGenerator, persistenceUnit)).get«param.referenceRef.name.toFirstUpper»()'''
+							}
+							else {
+								paramString = '''«paramString»(«param.jvmType.identifier»)getAttribute("«param.
+									getParamName(".")»", mockDataGenerator, persistenceUnit)'''
+							}
+						}
+						append(
+							'''try {
+	setFixAttribute("«calculation.attributeRef.name»", calculate_«calculation.attributeRef.name»(«paramString»));
+}
+catch (NullPointerException npe) {}
+catch (Exception e) {
+    log.error(e.getLocalizedMessage()+e.getCause());
+}
+'''
+						)
+					}
+				]
+			]
+			if (mockEntity.byResource == null) {
+			// --- generate an entity based on the values generated before via generateDataRow(), just copying values into the entity
+			members += pckg.toMethod('''generateEntity''', _typeReferenceBuilder.typeRef(Object)) [
+				visibility = JvmVisibility.PUBLIC
+				parameters += mockEntity.toParameter("dataRow", _typeReferenceBuilder.typeRef(Object))
+				final = true
+				body = [
+					append('''
+						reset();
+''')
+					// --- if an iterator is set
+					if	(mockEntity.iterator != null) {
+						append('''
+							setFixAttribute("«mockEntity.iterator.name»", dataRow);
+''')
+					}
+					// --- generate that entity
+					append(
+						'''«mockEntity.entityDtoFQN» internal = new «mockEntity.entityDtoFQN»();
+entity = internal;
+generateData();
+mockDataGenerator.addDtoMockData(internal, mockData);
+try {
+''')
+					// --- for each entity attribute, just copy from the internal mock data
+					for (attribute : mockEntity.attributes) {
+						switch attribute {
+							EntityMockAttributeByObject: {
+								append(
+									'''internal.set«WordUtils.capitalize(attribute.attributeRef.name)»(«attribute.
+										attributeRef.baseMockDataTypeCasting(
+											'''mockData.get("«attribute.attributeRef.name»")''')»);
+''')
+							}
+							EntityMockAttributeFiller: {
+								append(
+									'''internal.set«WordUtils.capitalize(attribute.attributeRef.name)»(«attribute.
+										attributeRef.baseMockDataTypeCasting(
+											'''mockData.get("«attribute.attributeRef.name»")''')»);
+''')
+							}
+							EntityMockAttributeByReference: {
+								append(
+									'''internal.set«WordUtils.capitalize(attribute.attributeRef.name)»((«EntityUtils.getDtoFQNForLEntity(attribute.
+										attributeRef.type)»)mockData.get("«attribute.attributeRef.name»"));
+''')
+							}
+						}
+					}
+					// --- for each entity attribute, just copy from the internal mock data
+					for (calculation : mockEntity.calculations) {
+						append(
+							'''internal.set«WordUtils.capitalize(calculation.attributeRef.name)»(«calculation.
+								attributeRef.baseMockDataTypeCasting(
+									'''mockData.get("«calculation.attributeRef.name»")''')»);
+''')
+					}
+					append(
+						'''}
+catch (Exception e) {
+    log.error(e.getLocalizedMessage()+e.getCause());
+}
+return entity;''')
+				]
+			]
+			}
+		]
+	}
+
+	def boolean isReferenceOnExistingDto(EntityMockEntityFunctionParameter param) {
+		val entityMock = param.eContainer.eContainer as EntityMockEntity
+		for (attribute : entityMock.attributes) {
+			if	(attribute instanceof EntityMockAttributeByReference) {
+				if	(attribute.mockedEntity == null) {
+					if	(attribute.attributeRef.type.equals(param.referenceRef.eContainer)) {
+						return true
+					}
+				}
+			}
+		}
+		return false
+	}
+
+	def JvmTypeReference getJvmType(EntityMockEntityFunctionParameter param) {
+		if (param.attributeRef != null) {
+			return param.attributeRef.jvmTypeRef
+		} else {
+			return param.referenceRef.typeJvm
+		}
+	}
+
+	def String getParamName(EntityMockEntityFunctionParameter param, String separator) {
+		var paramName = ''''''
+		if (param.attributeRef != null) {
+			paramName = '''«param.attributeRef.name»'''
+		} else {
+			for (referencePath : param.referencePaths) {
+				paramName = '''«paramName»«referencePath.name»«separator»'''
+			}
+			paramName = '''«paramName»«param.referenceRef.name»'''
+		}
+		return paramName
+	}
+
+	/**
+     * generate the JVM type reference needed for of the entity attribute
+     */
+	def JvmTypeReference jvmTypeRef(LEntityAttribute attribute) {
+		var etype = dtType.getBasicType(attribute)
+		switch (etype) {
+			case BOOLEAN: return _typeReferenceBuilder.typeRef(boolean)
+			case BYTE: return _typeReferenceBuilder.typeRef(byte)
+			case DATE: return _typeReferenceBuilder.typeRef(java.util.Date)
+			case FLOAT: return _typeReferenceBuilder.typeRef(float)
+			case DOUBLE: return _typeReferenceBuilder.typeRef(double)
+			case SHORT: return _typeReferenceBuilder.typeRef(short)
+			case INTEGER: return _typeReferenceBuilder.typeRef(int)
+			case LONG: return _typeReferenceBuilder.typeRef(long)
+			//case TIME: return _typeReferenceBuilder.typeRef(Time)
+			case STRING: return _typeReferenceBuilder.typeRef(String)
+			default: return _typeReferenceBuilder.typeRef(Object)
+		}
+	}
+
+	/**
+     * generate the code for casting a mock data to the data type of the entity attribute
+     */
+	def String baseMockDataTypeCasting(LEntityAttribute attribute, String getting) {
+		if (attribute.type instanceof LEnum) {
+			return '''«EntityUtils.getDtoFQNForLEnum(attribute.type as LEnum)».valueOf(«getting».toString())'''
+		}
+		if (attribute.type instanceof LBean) {
+			return '''(«EntityUtils.getDtoFQNForLBean(attribute.type as LBean)»)(«getting»)'''
+		}
+		var etype = dtType.getBasicType(attribute)
+		switch (etype) {
+			case BOOLEAN: return '''asBoolean(«getting»)'''
+			case BYTE: return '''asByte(«getting»)'''
+			case DATE: return '''asDate(«getting»)'''
+			case FLOAT: return '''asFloat(«getting»)'''
+			case DOUBLE: return '''asDouble(«getting»)'''
+			case SHORT: return '''asShort(«getting»)'''
+			case INTEGER: return '''asInt(«getting»)'''
+			case LONG: return '''asLong(«getting»)'''
+			case TIME: return '''asTime(«getting»)'''
+			default: return '''asString(«getting»)'''
+		}
+	}
+
+	val public static ENTITY_MOCK_GENERATOR = "EntityMockGenerator"
+
+	def String asString(Date date) {
+		if	(date.yesterday) {
+			return '''"yesterday"'''
+		}
+		if	(date.today) {
+			return '''"today"'''
+		}
+		if	(date.tomorrow) {
+			return '''"tomorrow"'''
+		}
+		return '''"'''+String.format("%04d-%02d-%02d", date.year, date.month, date.day)+'''"'''
+	}
+
+	/**
+     * generate the main mock data generator for the EntityMockPackage
+     */
+	def void generateMockDataGenerator(EntityMockModel model, IJvmDeclaredTypeAcceptor acceptor,
+		EntityMockPackage pckg) {
+		acceptor.accept(model.toClass('''«pckg.entityMockName».«ENTITY_MOCK_GENERATOR»''')) [
+//			@TODO... AnnotationExtension needs addAnnAttr with Class<?> parameter !!!
+//			var annotationRef = _annotationTypesBuilder.annotationRef(typeof(Component))
+//			annotationRef.addAnnAttr(model, "service", IInitializationProvider as Class)
+//			annotationRef.addAnnAttr(model, "immediate", true)
+//			annotations += annotationRef
+			
+			superTypes += _typeReferenceBuilder.typeRef(AEntityMockDataGenerator)
+            it.final = true
+            
+   			var JvmField field = null
+   			field = model.toField("log", _typeReferenceBuilder.typeRef(Logger)) [setInitializer([ append('''LoggerFactory.getLogger(«pckg.entityMockName».«ENTITY_MOCK_GENERATOR».class)''') ])] 
+   			field.final = true
+   			field.static = true
+			members += field
+            
+			members += model.toMethod('''getRunWithPriority''', _typeReferenceBuilder.typeRef(int)) [
+				annotations += pckg.toAnnotation(Override)
+				body = [
+					var count = IEntityMockDataGenerator.DEFAULT_PRIORITY;
+					if (pckg.runPriority > 0) {
+						count = pckg.runPriority
+					}
+					append(
+						'''
+						return «count»;
+						'''
+					)
+				]
+			]
+			members += model.toMethod('''getDataInterchangeSteps''', _typeReferenceBuilder.typeRef(int)) [
+				annotations += pckg.toAnnotation(Override)
+				body = [
+					var count = 0;
+					if (pckg.datainterchanges != null) {
+						count = pckg.datainterchanges.datainterchanges.size
+					}
+					append(
+						'''
+						return «count»;
+						'''
+					)
+				]
+			]
+			members += model.toMethod('''getEntityMockSteps''', _typeReferenceBuilder.typeRef(int)) [
+				annotations += pckg.toAnnotation(Override)
+				body = [
+					var count = 0;
+					if (pckg.entities != null) {
+						count = pckg.entities.entities.size
+					}
+					append(
+						'''
+						return «count»;
+						'''
+					)
+				]
+			]
+			members += model.toMethod('''runDataInterchanges''', _typeReferenceBuilder.typeRef(Void::TYPE)) [
+				parameters += pckg.toParameter("persistenceService", _typeReferenceBuilder.typeRef(IPersistenceService))
+				parameters += pckg.toParameter("entityMockDbFiller", _typeReferenceBuilder.typeRef(IEntityMockDataDbFiller))
+	   			body = [
+					if (pckg.datainterchanges != null) {
+						for (runDatainterchange : pckg.datainterchanges.datainterchanges) {
+							append(
+								'''
+									try {
+										entityMockDbFiller.notifyInitializationStep("datainterchange «runDatainterchange.datainterchangeRef.name»", 1, 0.3);
+										«runDatainterchange.datainterchangeRef.getBasicRunConfiguration(true, runDatainterchange.getFileURL)»
+										entityMockDbFiller.notifyInitializationStep("datainterchange «runDatainterchange.datainterchangeRef.name»", 0, 0.4);
+										«runDatainterchange.datainterchangeRef.defaultVariableName».run(entityMockDbFiller);
+										entityMockDbFiller.notifyInitializationStep("datainterchange «runDatainterchange.datainterchangeRef.name»", 0, 0.9);
+									} 
+									catch (Exception e) {
+										log.error(e.getLocalizedMessage()+e.getCause());
+									}
+								''')
+						}
+					}
+				]
+			]
+			members += pckg.toMethod('''getMockData''', _typeReferenceBuilder.typeRef(Map)) [
+				parameters += pckg.toParameter("entityMockDbFiller", _typeReferenceBuilder.typeRef(IEntityMockDataDbFiller))
+				body = [
+					append(
+						'''initialize();
+''')
+					// --- list of all mock entities mocked to far
+					var mockEntitiesDone = new ArrayList<EntityMockEntity>
+					// --- list of all mock entities that have to be mocked
+					var mockEntitiesToDo = new ArrayList<EntityMockEntity>
+					mockEntitiesToDo.addAll(pckg.entities?.entities)
+					var breakTodo = false
+					// --- either all mock entities are already mocked or a break condition has been reached
+					while (!mockEntitiesToDo.isEmpty && !breakTodo) {
+						var handled = 0
+						var mockEntitesStepping = mockEntitiesToDo.toArray
+
+						// --- every mock entity, that has to be mocked
+						for (mockEntityO : mockEntitesStepping) {
+							var mockEntity = mockEntityO as EntityMockEntity
+
+							// --- check, if this mock entity can be mocked considering references
+							if (mockEntity.canBeHandled(mockEntitiesDone)) {
+
+								// --- remember, that something has been mocked in this inner loop
+								handled++
+
+								if (mockEntity.iterate instanceof IntegerIterate) {
+									var iterate = mockEntity.iterate as IntegerIterate
+									// --- generate the mocking part
+									append(
+										'''
+entityMockDbFiller.notifyInitializationStep("generate «mockEntity.entityMockName»", 1, 0.3);
+«mockEntity.entityMockName» entity«mockEntity.name» = new «mockEntity.entityMockName»(this);
+Iterator<Integer> iterator«mockEntity.name» = new IntegerIterator(«iterate.from», «iterate.until», «iterate.step»);
+List list«mockEntity.name» = new ArrayList<«mockEntity.entityDtoFQN»>();
+entityMockDbFiller.notifyInitializationStep("generate «mockEntity.entityMockName»", 0, 0.6);
+while (iterator«mockEntity.name».hasNext()) {
+    list«mockEntity.name».add(entity«mockEntity.name».generateEntity(iterator«mockEntity.name».next()));
+}
+addMockObjects("«mockEntity.name»", «mockEntity.entityDtoFQNClass», "«mockEntity.entityRef.persistenceUnit»", list«mockEntity.name»);
+entityMockDbFiller.notifyInitializationStep("generate «mockEntity.entityMockName»", 0, 0.9);
+''')
+								}
+								if (mockEntity.iterate instanceof DateIterate) {
+									var iterate = mockEntity.iterate as DateIterate
+									// --- generate the mocking part
+									append(
+										'''
+entityMockDbFiller.notifyInitializationStep("generate «mockEntity.entityMockName»", 1, 0.3);
+«mockEntity.entityMockName» entity«mockEntity.name» = new «mockEntity.entityMockName»(this);
+Iterator<Date> iterator«mockEntity.name» = new DateIterator(«iterate.from.asString», «iterate.until.asString», «iterate.stepCount», "«iterate.stepType»");
+List list«mockEntity.name» = new ArrayList<«mockEntity.entityDtoFQN»>();
+entityMockDbFiller.notifyInitializationStep("generate «mockEntity.entityMockName»", 0, 0.6);
+while (iterator«mockEntity.name».hasNext()) {
+    list«mockEntity.name».add(entity«mockEntity.name».generateEntity(iterator«mockEntity.name».next()));
+}
+addMockObjects("«mockEntity.name»", «mockEntity.entityDtoFQNClass», "«mockEntity.entityRef.persistenceUnit»", list«mockEntity.name»);
+entityMockDbFiller.notifyInitializationStep("generate «mockEntity.entityMockName»", 0, 0.9);
+''')
+								}
+								else if (mockEntity.byResource != null) {
+
+									// --- generate the copy part
+									// --- generate the mocking part
+									append(
+										'''
+entityMockDbFiller.notifyInitializationStep("generate «mockEntity.entityMockName»", 1, 0.3);
+«mockEntity.entityMockName» entity«mockEntity.name» = new «mockEntity.entityMockName»(this);
+List list«mockEntity.name» = new ArrayList<«mockEntity.entityDtoFQN»>();
+Iterator iterator«mockEntity.name» = entity«mockEntity.name».getDataRows().iterator();
+entityMockDbFiller.notifyInitializationStep("generate «mockEntity.entityMockName»", 0, 0.6);
+while (iterator«mockEntity.name».hasNext()) {
+    list«mockEntity.name».add(entity«mockEntity.name».generateEntity(iterator«mockEntity.name».next()));
+}
+addMockObjects("«mockEntity.name»", «mockEntity.entityDtoFQNClass», "«mockEntity.entityRef.persistenceUnit»", list«mockEntity.name»);
+entityMockDbFiller.notifyInitializationStep("generate «mockEntity.entityMockName»", 0, 0.9);
+''')
+
+									// --- if blob mapping has to be generated too
+									if (mockEntity.createBlobMapping) {
+										append(
+											'''
+entityMockDbFiller.notifyInitializationStep("generate «mockEntity.entityMockName»Blobs", 0, 0.93);
+List list«mockEntity.name»Blobs = new ArrayList<org.eclipse.osbp.utils.blob.dtos.BlobDto>();
+BlobTypingAPI «mockEntity.name»BlobTypingAPI = new BlobTypingAPI();
+BlobUpload «mockEntity.name»BlobUpload = new BlobUpload();
+entityMockDbFiller.notifyInitializationStep("generate «mockEntity.entityMockName»Blobs", 0, 0.96);
+for (Object list«mockEntity.name»Object : list«mockEntity.name») {
+    if  (list«mockEntity.name»Object instanceof org.eclipse.osbp.utils.blob.dtos.BlobMappingDto) {
+        org.eclipse.osbp.utils.blob.dtos.BlobMappingDto blobMappingDto = (org.eclipse.osbp.utils.blob.dtos.BlobMappingDto)list«mockEntity.
+												name»Object;
+        try {
+            InputStream inputStream = new BufferedInputStream(this.getClass().getClassLoader().getResourceAsStream("/resources/entitymock/"+blobMappingDto.getFileName()));
+            if  (inputStream != null) {
+                List<org.eclipse.osbp.utils.blob.dtos.BlobDto> blobs = «mockEntity.name»BlobUpload.createBlobMappingBlobs(
+                    inputStream,
+                    «mockEntity.name»BlobTypingAPI.getMimeTypeContentTypeById(blobMappingDto.getMimeTypeId()),
+                    «mockEntity.name»BlobTypingAPI,
+                    blobMappingDto.getId()
+                );
+                blobMappingDto.setBlobsRef(blobs);
+                for (org.eclipse.osbp.utils.blob.dtos.BlobDto blob : blobs) {
+                    list«mockEntity.name»Blobs.add(blob);
+                }
+            }
+        }
+        catch (Exception e) {
+            log.error(e.getLocalizedMessage()+e.getCause());
+        }
+    }
+}
+addMockObjects("«mockEntity.name»Blobs", org.eclipse.osbp.utils.blob.dtos.BlobDto.class, "blob", list«mockEntity.name»Blobs);
+entityMockDbFiller.notifyInitializationStep("generate «mockEntity.entityMockName»Blobs", 0, 0.99);
+''')
+									}
+								} else {
+
+									// --- generate the mocking part
+									append(
+										'''
+entityMockDbFiller.notifyInitializationStep("generate «mockEntity.entityMockName»", 1, 0.3);
+«mockEntity.entityMockName» entity«mockEntity.name» = new «mockEntity.entityMockName»(this);
+Iterator<Integer> iterator«mockEntity.name» = new IntegerIterator(1, fillerProvider.signedinteger(«mockEntity.minRows», «mockEntity.maxRows»));
+List list«mockEntity.name» = new ArrayList<«mockEntity.entityDtoFQN»>();
+entityMockDbFiller.notifyInitializationStep("generate «mockEntity.entityMockName»", 0, 0.6);
+while (iterator«mockEntity.name».hasNext()) {
+    list«mockEntity.name».add(entity«mockEntity.name».generateEntity(iterator«mockEntity.name».next()));
+}
+addMockObjects("«mockEntity.name»", «mockEntity.entityDtoFQNClass», "«mockEntity.entityRef.persistenceUnit»", list«mockEntity.name»);
+entityMockDbFiller.notifyInitializationStep("generate «mockEntity.entityMockName»", 0, 0.9);
+''')
+								}
+
+								// --- remember this mock entity as being mocked
+								mockEntitiesDone.add(mockEntity as EntityMockEntity)
+
+								// --- remove this mock entity from "to be mocked"
+								mockEntitiesToDo.remove(mockEntity)
+							}
+						}
+
+						// --- if nothing could be mocked in the inner loop, break the outer loop
+						breakTodo = (handled == 0)
+					}
+					append(
+						'''
+return mockDataClassMap;''')
+				]
+			]
+		]
+	}
+
+	/**
+	 * The dispatch method {@code infer} is called for each instance of the
+	 * given element's type that is contained in a resource.
+	 * 
+	 * @param element
+	 *            the model to create one or more
+	 *            {@link JvmDeclaredType declared
+	 *            types} from.
+	 * @param acceptor
+	 *            each created
+	 *            {@link JvmDeclaredType type}
+	 *            without a container should be passed to the acceptor in order
+	 *            get attached to the current resource. The acceptor's
+	 *            {@link IJvmDeclaredTypeAcceptor#accept(org.eclipse.xtext.common.types.JvmDeclaredType)
+	 *            accept(..)} method takes the constructed empty type for the
+	 *            pre-indexing phase. This one is further initialized in the
+	 *            indexing phase using the closure you pass to the returned
+	 *            {@link IPostIndexingInitializing#initializeLater(org.eclipse.xtext.xbase.lib.Procedures.Procedure1)
+	 *            initializeLater(..)}.
+	 * @param isPreIndexingPhase
+	 *            whether the method is called in a pre-indexing phase, i.e.
+	 *            when the global index is not yet fully updated. You must not
+	 *            rely on linking using the index if isPreIndexingPhase is
+	 *            <code>true</code>.
+	 */
+	def dispatch void infer(EntityMockModel model, IJvmDeclaredTypeAcceptor acceptor, boolean isPreIndexingPhase) {
+		model.packages.forEach [ pckg |
+			// --- generate one class for each mock resource
+			pckg.resources?.resources?.forEach [ mockResource |
+				try {
+					generateMockResource(model, acceptor, pckg, mockResource)
+				} catch (Exception e) {
+					e.printStackTrace();
+				}
+			]
+			// --- generate one class for each mock object defined
+			pckg.objects?.objects?.forEach [ mockObject |
+				try {
+					generateMockObject(model, acceptor, pckg, mockObject)
+				} catch (Exception e) {
+					e.printStackTrace();
+				}
+			]
+			// --- generate a class for each mock entity
+			pckg.entities?.entities?.forEach [ mockEntity |
+				try {
+					generateMockEntity(model, acceptor, pckg, mockEntity)
+				} catch (Exception e) {
+					e.printStackTrace();
+				}
+			]
+			// --- generate the mock generator
+			try {
+				generateMockDataGenerator(model, acceptor, pckg)
+			} catch (Exception e) {
+				e.printStackTrace();
+			}
+		]
+	}
+
+	/**
+     * checks if the mockEntityTodo can be handled, considering all requested references to other mock entities,
+     * which may already been mocked
+     */
+	def boolean canBeHandled(EntityMockEntity mockEntityTodo, ArrayList<EntityMockEntity> mockEntitiesDone) {
+		if (mockEntityTodo.byResource != null) {
+			return true
+		}
+		for (attribute : mockEntityTodo.attributes) {
+
+			// --- check every reference to another mock entity
+			if (attribute instanceof EntityMockAttributeByReference) {
+				var referencedMockEntity = (attribute as EntityMockAttributeByReference).mockedEntity
+				// --- if the referenced entity should be mocked and it not has been mocked so far
+				if ((referencedMockEntity != null) && !mockEntitiesDone.contains(referencedMockEntity)) {
+					// --- if any referenced entity has not been mocked so far, this mock entity can't be mocked at this time
+					return false
+				}
+			}
+		}
+		return true
+	}
+
+	/**
+     * generate a mock object class
+     */
+	def void generateMockResource(EntityMockModel model, IJvmDeclaredTypeAcceptor acceptor, EntityMockPackage pckg,
+		EntityMockResource mockResource) {
+		acceptor.accept(model.toClass('''«pckg.entityMockName».«mockResource.entityMockName»''')) [
+			superTypes += _typeReferenceBuilder.typeRef(ABaseMockResource)
+			// @see org.eclipse.osbp.utils.constants.GeneratorConstants.GeneratorConstants
+			documentation = '''<b>This class was auto generated! Leave it unmodified to avoid unpredictable results!</b><br>
+«mockResource.documentation»
+'''
+			final = true
+            
+   			var JvmField field = null
+   			field = model.toField("log", _typeReferenceBuilder.typeRef(Logger)) [setInitializer([ append('''LoggerFactory.getLogger(«pckg.entityMockName».«mockResource.entityMockName».class)''') ])] 
+   			field.final = true
+   			field.static = true
+			members += field
+			
+			members += pckg.toConstructor [
+				body = [
+					val List<String> attributes = new ArrayList
+					for (attribute : mockResource.attributes) {
+						attributes.add('''"«attribute.name»"''')
+					}
+					append(
+						'''setAttributes(«StringUtils.join(attributes, ",")»);
+''')
+					for (datarow : mockResource.datarows) {
+						val List<String> values = new ArrayList
+						values.add('''"«datarow.name»"''')
+						for (value : datarow.values) {
+							values.add('''"«value»"''')
+						}
+						append(
+							'''addDataRow(«StringUtils.join(values, ",")»);
+''')
+					}
+				]
+			]
+		]
+	}
+}
diff --git a/org.eclipse.osbp.xtext.entitymock/src/org/eclipse/osbp/xtext/entitymock/package-info.java b/org.eclipse.osbp.xtext.entitymock/src/org/eclipse/osbp/xtext/entitymock/package-info.java
new file mode 100644
index 0000000..4039a86
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/src/org/eclipse/osbp/xtext/entitymock/package-info.java
@@ -0,0 +1,25 @@
+/*
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  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                                 
+ *                                                                            
+ *  Initial contribution:                                                      
+ *     Loetz GmbH & Co. KG                               
+ * 
+ */
+
+/**
+ * 
+ *  Implements the OSBP Xtext Entitymock DSL used for the creation of test data in an application created.
+ *  
+ *   
+ *  @since  0.9.0
+ *  
+ *  <p>The Entitymock Grammar Xtext Syntax Graph<br>
+ *  <img src="doc-files/grammar.png" alt="The Entitymock Grammar Xtext Syntax Graph">
+ */
+package org.eclipse.osbp.xtext.entitymock;
diff --git a/org.eclipse.osbp.xtext.entitymock/src/org/eclipse/osbp/xtext/entitymock/scoping/EntityMockDSLScopeProvider.xtend b/org.eclipse.osbp.xtext.entitymock/src/org/eclipse/osbp/xtext/entitymock/scoping/EntityMockDSLScopeProvider.xtend
new file mode 100644
index 0000000..5358f11
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/src/org/eclipse/osbp/xtext/entitymock/scoping/EntityMockDSLScopeProvider.xtend
@@ -0,0 +1,397 @@
+/**
+ *                                                                            
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *                                                                            
+ * 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:   
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation 
+ * 
+ * 
+ *  This copyright notice shows up in the generated Java code
+ *
+ */
+ 
+package org.eclipse.osbp.xtext.entitymock.scoping
+
+import org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByObject
+import org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByReference
+import org.eclipse.osbp.xtext.entitymock.EntityMockAttributeFiller
+import org.eclipse.osbp.xtext.entitymock.EntityMockEntities
+import org.eclipse.osbp.xtext.entitymock.EntityMockEntity
+import org.eclipse.osbp.xtext.entitymock.EntityMockObject
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectArrayValue
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectEmbed
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectEnum
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectResourceValue
+import org.eclipse.osbp.xtext.entitymock.EntityMockReferencedObjectAttribute
+import org.eclipse.osbp.xtext.entitymock.EntityMockResourceAttribute
+import org.eclipse.osbp.xtext.entitymock.EntityMockResourceDataRow
+import org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage
+import org.eclipse.osbp.xtext.entitymock.IEntityMockObjectAttribute
+import java.util.ArrayList
+import java.util.List
+import org.eclipse.emf.ecore.EObject
+import org.eclipse.emf.ecore.EReference
+import org.eclipse.xtext.resource.EObjectDescription
+import org.eclipse.xtext.resource.IEObjectDescription
+import org.eclipse.xtext.scoping.IScope
+import org.eclipse.xtext.scoping.impl.MapBasedScope
+import org.eclipse.xtext.xbase.annotations.typesystem.XbaseWithAnnotationsBatchScopeProvider
+import org.eclipse.osbp.dsl.semantic.entity.LEntity
+import org.eclipse.osbp.dsl.semantic.entity.LEntityAttribute
+import org.eclipse.osbp.dsl.semantic.entity.LEntityReference
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectFunction
+import org.eclipse.osbp.xtext.entitymock.EntityMockResource
+
+/**
+ * This class contains custom scoping description.
+ * 
+ * see : http://www.eclipse.org/Xtext/documentation.html#scoping
+ * on how and when to use it 
+ *
+ */
+class EntityMockDSLScopeProvider extends XbaseWithAnnotationsBatchScopeProvider {
+	override IScope getScope(EObject context, EReference reference) {
+		if (reference == EntityMockDSLPackage.Literals.ENTITY_MOCK_OBJECT_ARRAY_VALUE__ENUMERATION) {
+			return getScope_MockObjectEnum(context)
+		}
+        if (reference == EntityMockDSLPackage.Literals.ENTITY_MOCK_OBJECT_ITEM_VALUE__DATAROW) {
+            return getScope_MockObjectEnumValue(context)
+        }
+        if (reference == EntityMockDSLPackage.Literals.ENTITY_MOCK_REFERENCED_OBJECT_ATTRIBUTE__EMBEDDED) {
+            return getScope_MockObjectEmbed(context)
+        }
+        if (reference == EntityMockDSLPackage.Literals.ENTITY_MOCK_REFERENCED_OBJECT_ATTRIBUTE__ATTRIBUTE) {
+            return getScope_MockObjectAttribute(context)
+        }
+        if (reference == EntityMockDSLPackage.Literals.ENTITY_MOCK_ATTRIBUTE_BY_OBJECT__ATTRIBUTE_REF) {
+            return getLEntityAttributes(context)
+        }
+        if (reference == EntityMockDSLPackage.Literals.ENTITY_MOCK_ENTITY__ITERATOR) {
+            return getLEntityAttributes(context)
+        }
+        if (reference == EntityMockDSLPackage.Literals.ENTITY_MOCK_ATTRIBUTE_FILLER__ATTRIBUTE_REF) {
+            return getLEntityAttributes(context)
+        }
+        if (reference == EntityMockDSLPackage.Literals.ENTITY_MOCK_ATTRIBUTE_BY_REFERENCE__ATTRIBUTE_REF) {
+            return getLEntityReferences(context)
+        }
+        if  (reference == EntityMockDSLPackage.Literals.ENTITY_MOCK_ATTRIBUTE_BY_OBJECT__ATTRIBUTE_REF) {
+            switch context {
+                case EntityMockAttributeByObject: return MapBasedScope.createScope(IScope.NULLSCOPE, (context.eContainer as EntityMockEntity).getEntityAttributes(null))
+                case EntityMockEntity:            return MapBasedScope.createScope(IScope.NULLSCOPE, (context as EntityMockEntity).getEntityAttributes(null))
+            }
+        }
+        if  (reference == EntityMockDSLPackage.Literals.ENTITY_MOCK_ATTRIBUTE_FILLER__ATTRIBUTE_REF) {
+            switch context {
+                case EntityMockAttributeFiller:   return MapBasedScope.createScope(IScope.NULLSCOPE, (context.eContainer as EntityMockEntity).getEntityAttributes(null))
+                case EntityMockEntities:          return MapBasedScope.createScope(IScope.NULLSCOPE, (context as EntityMockEntities).getEntityAttributes(null))
+            }
+        }
+        if  (reference == EntityMockDSLPackage.Literals.ENTITY_MOCK_ATTRIBUTE_BY_REFERENCE__ATTRIBUTE_REF) {
+            switch context {
+                case EntityMockAttributeByReference:  return MapBasedScope.createScope(IScope.NULLSCOPE, (context.eContainer as EntityMockEntity).getEntityAttributes(null))
+                case EntityMockEntities:              return MapBasedScope.createScope(IScope.NULLSCOPE, (context as EntityMockEntities).getEntityAttributes(null))
+            }
+        }
+        if  (reference == EntityMockDSLPackage.Literals.ENTITY_MOCK_ATTRIBUTE_BY_REFERENCE__MOCKED_ENTITY) {
+            return getScope_MockAttributeReferencedMockedEntity(context)
+        }
+        if  (reference == EntityMockDSLPackage.Literals.ENTITY_MOCK_OBJECT_RESOURCE_VALUE__RESOURCE_ATTRIBUTE) {
+            return getScope_MockAttributeResourceAttribute(context)
+        }
+        if  (reference == EntityMockDSLPackage.Literals.ENTITY_MOCK_BY_RESOURCE_ATTRIBUTE__RESOURCE_ATTRIBUTE) {
+            return getScope_MockEntityResourceAttribute(context)
+        }
+        if  (reference == EntityMockDSLPackage.Literals.ENTITY_MOCK_BY_RESOURCE_ATTRIBUTE__ATTRIBUTE_REF) {
+            return getLEntityAttributes(context)
+        }
+		super.getScope(context, reference)
+	}
+
+    def LEntity getCCEntityRef(EObject context) {
+        var eObj = context
+        while (!(eObj instanceof EntityMockEntity)) {
+            eObj = eObj.eContainer()
+        }
+        if (eObj != null) {
+            return (eObj as EntityMockEntity).entityRef
+        } else {
+            return null
+        }
+
+    }
+
+    def IScope getLEntityAttributes(EObject context) {
+        var result = <IEObjectDescription>newArrayList
+        var entity = context.CCEntityRef
+        if (entity != null){
+            for (LEntityAttribute attr : entity.allAttributes) {
+                if  (attr.name != null) {
+                    result.add(EObjectDescription.create(attr.name, (attr as LEntityAttribute)))
+                }
+            }
+        }
+        return MapBasedScope.createScope(IScope.NULLSCOPE, result)
+    }
+
+    def IScope getLEntityReferences(EObject context) {
+        var result = <IEObjectDescription>newArrayList
+        var entity = context.CCEntityRef
+        if (entity != null){
+            for (LEntityReference ref : entity.allReferences) {
+                if  (ref.name != null) {
+                    result.add(EObjectDescription.create(ref.name, (ref as LEntityReference)))
+                }
+            }
+        }
+        return MapBasedScope.createScope(IScope.NULLSCOPE, result)
+    }
+
+    /**
+     * get all available entity attributes contained in EntityMockEntities and add them to result
+     */
+    def ArrayList<IEObjectDescription> getEntityAttributes(EntityMockEntities mockEntities, ArrayList<IEObjectDescription> result) {
+        var iresult = result
+        if  (iresult == null) {
+            iresult = <IEObjectDescription>newArrayList
+        }
+        if (mockEntities != null){
+            for (mockEntity : mockEntities.entities) {
+                iresult = mockEntity.getEntityAttributes(iresult)
+            }
+        }
+        return iresult
+    }
+
+    /**
+     * get all available entity attributes contained in EntityMockEntity and add them to result
+     */
+    def ArrayList<IEObjectDescription> getEntityAttributes(EntityMockEntity mockEntity, ArrayList<IEObjectDescription> result) {
+        var iresult = result
+        if  (iresult == null) {
+            iresult = <IEObjectDescription>newArrayList
+        }
+        if (mockEntity != null) {
+            iresult = mockEntity.entityRef.getEntityAttributes(iresult)
+        }
+        return iresult
+    }
+
+    /**
+     * get all available entity attributes contained in LEntity and add them to result
+     */
+    def ArrayList<IEObjectDescription> getEntityAttributes(LEntity entity, ArrayList<IEObjectDescription> result) {
+        var iresult = result
+        if  (iresult == null) {
+            iresult = <IEObjectDescription>newArrayList
+        }
+        if (entity != null){
+            for (LEntityAttribute attribute : entity.allAttributes) {
+                if (attribute.name != null) {
+                    iresult.add(EObjectDescription.create(attribute.name, attribute))
+                }
+            }
+        }
+        return iresult
+    }
+
+    /**
+     * get all available entity attributes contained in LEntity and return them as an IScope
+     */
+    def IScope getLEntity_attributeRef(EObject context, LEntity entity) {
+        var result = <IEObjectDescription>newArrayList
+        if (entity != null){
+            for (LEntityAttribute attribute : entity.allAttributes) {
+                if (attribute.name != null) {
+                    result.add(EObjectDescription.create(attribute.name, attribute))
+                }
+            }
+        }
+        return MapBasedScope.createScope(IScope.NULLSCOPE, result)
+    }
+    
+    /**
+     * get all available mock objects and add them as an IScope
+     */
+    def IScope getScope_MockObjectEmbed(EObject object) {
+        val result = <IEObjectDescription>newArrayList
+        var emroa = null as EntityMockReferencedObjectAttribute
+        if  (object instanceof EntityMockReferencedObjectAttribute) {
+            emroa = object
+        }
+        if  (object instanceof EntityMockAttributeByObject) {
+            emroa = object.reference
+        }
+        var mockObject = emroa.temporary.object
+//        emroa.embedded.forEach ([ embed | {
+//            if  (embed.name != null) {
+//                result.add(EObjectDescription.create(embed.name, embed))
+//            }
+//        }])
+        getScope_MockObjectRecursiveEmbed(result, mockObject)
+        return MapBasedScope.createScope(IScope.NULLSCOPE, result)
+    }
+    
+    /**
+     * get all available mock objects recursively and add them to result
+     */	
+	def void getScope_MockObjectRecursiveEmbed(List<IEObjectDescription> result, EntityMockObject mockObject) {
+        if  (mockObject != null) {
+            for (attribute : mockObject.attributes) {
+                if  (attribute instanceof EntityMockObjectEmbed) {
+                    result.add(EObjectDescription.create(attribute.name, attribute))
+                    getScope_MockObjectRecursiveEmbed(result, attribute.object)
+                }
+            }
+        }
+	}
+	
+    /**
+     * get all available enumerations and attributes of a mock object recursively and add them as an IScope
+     */ 
+    def IScope getScope_MockObjectAttribute(EObject object) {
+        var result = <IEObjectDescription>newArrayList
+        var emroa = null as EntityMockReferencedObjectAttribute
+        if  (object instanceof EntityMockReferencedObjectAttribute) {
+            emroa = object
+        }
+        if  (object instanceof EntityMockAttributeByObject) {
+            emroa = object.reference
+        }
+        var mockObject = emroa.temporary.object
+        if  (!emroa.embedded.isEmpty) {
+            mockObject = emroa.embedded.last.object
+        }
+        if  (mockObject != null) {
+            for (enumeration : mockObject.enumerations) {
+                result.add(EObjectDescription.create((enumeration as EntityMockObjectEnum).name, (enumeration as EntityMockObjectEnum)))
+            }
+            for (attribute : mockObject.attributes) {
+                if  (attribute instanceof EntityMockObjectEmbed) {
+                    //getScope_MockObjectAttribute(prefix+(attribute as IEntityMockObjectAttribute).name+"_", attribute.object, result)
+                }
+                else {
+                    result.add(EObjectDescription.create((attribute as IEntityMockObjectAttribute).name, (attribute as IEntityMockObjectAttribute)))
+                }
+            }
+            for (calculation : mockObject.calculations) {
+                result.add(EObjectDescription.create((calculation as EntityMockObjectFunction).name, (calculation as EntityMockObjectFunction)))
+            }
+        }
+        return MapBasedScope.createScope(IScope.NULLSCOPE, result)
+    }
+    
+    /**
+     * get all available enumerations of a mock object and add them as an IScope
+     */ 
+	def IScope getScope_MockObjectEnum(EObject object) {
+        var result = <IEObjectDescription>newArrayList
+        var mockObject = object.eContainer
+        if  (mockObject instanceof EntityMockObject) {
+            for (objectEnum : mockObject.enumerations) {
+                result.add(EObjectDescription.create((objectEnum as EntityMockObjectEnum).name, (objectEnum as EntityMockObjectEnum)))
+            }
+        }
+        return MapBasedScope.createScope(IScope.NULLSCOPE, result)
+	}
+    
+    /**
+     * get all available enumeration values of a mock object enumeration and add them as an IScope
+     */ 
+    def IScope getScope_MockObjectEnumValue(EObject object) {
+        var result = <IEObjectDescription>newArrayList
+        var mockValueItem = object
+        while (!(mockValueItem instanceof EntityMockObjectArrayValue) && (mockValueItem != null)) {
+            mockValueItem = mockValueItem.eContainer
+        }
+        if  (mockValueItem instanceof EntityMockObjectArrayValue) {
+        	if	(mockValueItem.enumeration.usingResource instanceof EntityMockResource) {
+    			val resource = mockValueItem.enumeration.usingResource as EntityMockResource
+        		for (datarow : resource.datarows) {
+            		result.add(EObjectDescription.create((datarow as EntityMockResourceDataRow).name, (datarow as EntityMockResourceDataRow)))
+        		}
+    		}
+    		else {
+    			val lenum = mockValueItem.enumeration.usingResource
+        		for (datarow : lenum.literals) {
+            		result.add(EObjectDescription.create(datarow.name, datarow))
+        		}
+        	}
+        }
+        return MapBasedScope.createScope(IScope.NULLSCOPE, result)
+    }
+    
+    /**
+     * get all available mocked entities fitting the referencing entity attribute and add them as an IScope
+     */ 
+    def IScope getScope_MockAttributeReferencedMockedEntity(EObject object) {
+        var result = <IEObjectDescription>newArrayList
+        var attributeByReference = null as EntityMockAttributeByReference
+        if  (object instanceof EntityMockAttributeByReference) {
+            attributeByReference = object
+        }
+        if  (attributeByReference != null) {
+            var requested_entityRef = attributeByReference.attributeRef.type
+            if	(requested_entityRef != null) {
+	            var mockEntities = object.eContainer
+            	while (!(mockEntities instanceof EntityMockEntities) && (mockEntities !=null)) {
+                	mockEntities = mockEntities.eContainer
+	            }
+    	        if  (mockEntities instanceof EntityMockEntities) {
+        	        for (mockEntity : mockEntities.entities) {
+            	        if  (requested_entityRef.equals(mockEntity.entityRef)) {
+                	        result.add(EObjectDescription.create((mockEntity as EntityMockEntity).name, (mockEntity as EntityMockEntity)))
+                    	}
+	                }
+    	        }
+            }
+        }
+        return MapBasedScope.createScope(IScope.NULLSCOPE, result)
+    }
+    
+    /**
+     * get all available enumeration values of a mock object enumeration and add them as an IScope
+     */ 
+    def IScope getScope_MockAttributeResourceAttribute(EObject object) {
+        var result = <IEObjectDescription>newArrayList
+        var objectResourceValue = object
+        while (!(objectResourceValue instanceof EntityMockObjectResourceValue) && (objectResourceValue != null)) {
+            objectResourceValue = objectResourceValue.eContainer
+        }
+        if  (objectResourceValue instanceof EntityMockObjectResourceValue) {
+        	if	(objectResourceValue.resourceEnum.usingResource instanceof EntityMockResource) {
+    			val resource = objectResourceValue.resourceEnum.usingResource as EntityMockResource
+        		for (attribute : resource.attributes) {
+	                result.add(EObjectDescription.create((attribute as EntityMockResourceAttribute).name, (attribute as EntityMockResourceAttribute)))
+        		}
+    		}
+    		else {
+    			val lenum = objectResourceValue.resourceEnum.usingResource
+                result.add(EObjectDescription.create("name", lenum))
+        	}
+        }
+        return MapBasedScope.createScope(IScope.NULLSCOPE, result)
+    }
+    
+    /**
+     * get all available enumeration values of a mock object enumeration and add them as an IScope
+     */ 
+    def IScope getScope_MockEntityResourceAttribute(EObject object) {
+        var result = <IEObjectDescription>newArrayList
+        var mockEntity = object
+        while (!(mockEntity instanceof EntityMockEntity) && (mockEntity != null)) {
+            mockEntity = mockEntity.eContainer
+        }
+        if  (mockEntity instanceof EntityMockEntity) {
+            for (attribute : mockEntity.byResource.attributes) {
+                result.add(EObjectDescription.create((attribute as EntityMockResourceAttribute).name, (attribute as EntityMockResourceAttribute)))
+            }
+        }
+        return MapBasedScope.createScope(IScope.NULLSCOPE, result)
+    }
+}
diff --git a/org.eclipse.osbp.xtext.entitymock/src/org/eclipse/osbp/xtext/entitymock/validation/EntityMockDSLValidator.xtend b/org.eclipse.osbp.xtext.entitymock/src/org/eclipse/osbp/xtext/entitymock/validation/EntityMockDSLValidator.xtend
new file mode 100644
index 0000000..ac512aa
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/src/org/eclipse/osbp/xtext/entitymock/validation/EntityMockDSLValidator.xtend
@@ -0,0 +1,38 @@
+/**
+ *                                                                            
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *                                                                            
+ * 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:   
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation 
+ * 
+ * 
+ *  This copyright notice shows up in the generated Java code
+ *
+ */
+ 
+package org.eclipse.osbp.xtext.entitymock.validation
+//import org.eclipse.xtext.validation.Check
+
+/**
+ * Custom validation rules. 
+ *
+ * see http://www.eclipse.org/Xtext/documentation.html#validation
+ */
+class EntityMockDSLValidator extends AbstractEntityMockDSLValidator {
+
+//  public static val INVALID_NAME = 'invalidName'
+//
+//	@Check
+//	def checkGreetingStartsWithCapital(Greeting greeting) {
+//		if (!Character.isUpperCase(greeting.name.charAt(0))) {
+//			warning('Name should start with a capital', 
+//					MyDslPackage.Literals.GREETING__NAME,
+//					INVALID_NAME)
+//		}
+//	}
+}
diff --git a/org.eclipse.osbp.xtext.entitymock/src/org/eclipse/osbp/xtext/entitymock/valueconverter/EntityMockQualifiedNameProvider.java b/org.eclipse.osbp.xtext.entitymock/src/org/eclipse/osbp/xtext/entitymock/valueconverter/EntityMockQualifiedNameProvider.java
new file mode 100644
index 0000000..c99c71a
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/src/org/eclipse/osbp/xtext/entitymock/valueconverter/EntityMockQualifiedNameProvider.java
@@ -0,0 +1,95 @@
+/**
+ *                                                                            
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *                                                                            
+ * 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:   
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation 
+ */
+package org.eclipse.osbp.xtext.entitymock.valueconverter;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.xtext.naming.IQualifiedNameConverter;
+import org.eclipse.xtext.naming.QualifiedName;
+import org.eclipse.xtext.nodemodel.INode;
+import org.eclipse.xtext.nodemodel.util.NodeModelUtils;
+import org.eclipse.xtext.xbase.scoping.XbaseQualifiedNameProvider;
+
+import com.google.inject.Inject;
+
+@SuppressWarnings("restriction")
+public class EntityMockQualifiedNameProvider extends XbaseQualifiedNameProvider {
+
+	@Inject
+	private IQualifiedNameConverter qualifiedNameConverter;
+
+	@Override
+	public QualifiedName getFullyQualifiedName(EObject obj) {
+		if (obj == null) {
+			return QualifiedName.create("");
+		}
+//		if (obj instanceof CCTable) {
+//			CCTable table = (CCTable) obj;
+//            if (table.getName() == null) {
+//            	return null;
+//            }
+//            return qualifiedNameConverter.toQualifiedName(table.getName());
+//		}
+//		if (obj instanceof CCEntityMockObjectArrayValue) {
+//			CCEntityMockObjectArrayValue x = (CCEntityMockObjectArrayValue)obj;
+//		    EObject xx = EcoreUtil3.resolve(x.getEnums(), x.getEnums().eResource().getResourceSet());
+//			
+//			
+//			
+//			QualifiedName fqn = qualifiedNameConverter.toQualifiedName(((CCEntityMockObjectArrayValue)obj).getEnums().getName());
+//			fqn = fqn;
+//		}
+		QualifiedName fqn = super.getFullyQualifiedName(obj);
+
+//		if	((fqn == null) && (obj instanceof CCEntityMockObjectItemValue)) {
+//			CCEntityMockObjectEnumValue enumName = ((CCEntityMockObjectItemValue)obj).getItem();
+//			if	(enumName != null) {
+//				String name = enumName.getName();
+//				if	(name != null) {
+//					fqn = qualifiedNameConverter.toQualifiedName(name);
+//				}
+//			}
+//		}
+//			CCEntityMockObjectEnumValue enumValue = ((CCEntityMockObjectItemValue)obj).getItem();
+//			CCEntityMockObjectItemValue ivo = ((CCEntityMockObjectItemValue)obj);
+//	
+//			
+//			if	(enumValue != null) {
+//				getCrossReferenceName(enumValue, EntityMockDSLPackage.Literals.CC_ENTITY_MOCK_OBJECT_ITEM_VALUE__ITEM);
+//				fqn = getFullyQualifiedName(obj.eContainer()).append(enumValue.getName());
+//			}
+//			
+//		}
+//		System.out.println(obj.getClass().getSimpleName()+" --> "+(fqn == null ? "<NULL>" : fqn.toString()));
+		return fqn;
+	}
+
+	// this method evaluates the cross referenced name of an object without causing cyclic lazy linking errors
+	private String getCrossReferenceName(EObject obj, EStructuralFeature feature) {
+		List<INode> nodes = NodeModelUtils.findNodesForFeature(obj, feature);
+		if (nodes.size() == 0) {
+			return null;
+		}
+		return NodeModelUtils.getTokenText(nodes.get(0));
+	}
+
+//	private String getPackageName(EObject obj) {
+//		EObject o = obj.eContainer();
+//		while(!(o instanceof CCTablePackage)) {
+//			o = o.eContainer();
+//		}
+//		return ((CCTablePackage)o).getName();
+//	}
+}
diff --git a/org.eclipse.osbp.xtext.entitymock/xtend-gen/org/eclipse/osbp/xtext/entitymock/formatting/EntityMockDSLFormatter.java b/org.eclipse.osbp.xtext.entitymock/xtend-gen/org/eclipse/osbp/xtext/entitymock/formatting/EntityMockDSLFormatter.java
new file mode 100644
index 0000000..0a2fd9f
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/xtend-gen/org/eclipse/osbp/xtext/entitymock/formatting/EntityMockDSLFormatter.java
@@ -0,0 +1,54 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ * 
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ * 
+ * 
+ *  This copyright notice shows up in the generated Java code
+ */
+package org.eclipse.osbp.xtext.entitymock.formatting;
+
+import com.google.inject.Inject;
+import org.eclipse.osbp.utils.xtext.GenericFormatter;
+import org.eclipse.xtext.AbstractRule;
+import org.eclipse.xtext.Grammar;
+import org.eclipse.xtext.GrammarUtil;
+import org.eclipse.xtext.ParserRule;
+import org.eclipse.xtext.formatting.impl.AbstractDeclarativeFormatter;
+import org.eclipse.xtext.formatting.impl.FormattingConfig;
+import org.eclipse.xtext.xbase.services.XtypeGrammarAccess;
+
+/**
+ * This class contains custom formatting description.
+ * 
+ * see : http://www.eclipse.org/Xtext/documentation.html#formatting
+ * on how and when to use it
+ * 
+ * Also see {@link org.eclipse.xtext.xtext.XtextFormattingTokenSerializer} as an example
+ */
+@SuppressWarnings("all")
+public class EntityMockDSLFormatter extends AbstractDeclarativeFormatter {
+  @Inject
+  private XtypeGrammarAccess grammarAccess;
+  
+  protected void configureFormatting(final FormattingConfig c) {
+    final GenericFormatter genericFormatter = new GenericFormatter();
+    Grammar _grammar = this.grammar.getGrammar();
+    AbstractRule _findRuleForName = GrammarUtil.findRuleForName(_grammar, "EntityModelImport");
+    ParserRule importDef = ((ParserRule) _findRuleForName);
+    Grammar _grammar_1 = this.grammar.getGrammar();
+    AbstractRule _findRuleForName_1 = GrammarUtil.findRuleForName(_grammar_1, "EntityMockResourceAttribute");
+    ParserRule resourceAttr = ((ParserRule) _findRuleForName_1);
+    FormattingConfig.NoLinewrapLocator _setNoLinewrap = c.setNoLinewrap();
+    _setNoLinewrap.around(importDef);
+    FormattingConfig.NoLinewrapLocator _setNoLinewrap_1 = c.setNoLinewrap();
+    _setNoLinewrap_1.around(resourceAttr);
+    genericFormatter.genericFormatting(c, this.grammar, this.grammarAccess);
+  }
+}
diff --git a/org.eclipse.osbp.xtext.entitymock/xtend-gen/org/eclipse/osbp/xtext/entitymock/generator/EntityMockDslGenerator.java b/org.eclipse.osbp.xtext.entitymock/xtend-gen/org/eclipse/osbp/xtext/entitymock/generator/EntityMockDslGenerator.java
new file mode 100644
index 0000000..3e9a23d
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/xtend-gen/org/eclipse/osbp/xtext/entitymock/generator/EntityMockDslGenerator.java
@@ -0,0 +1,129 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ * 
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ * 
+ * 
+ *  This copyright notice shows up in the generated Java code
+ */
+package org.eclipse.osbp.xtext.entitymock.generator;
+
+import com.google.inject.Inject;
+import java.io.BufferedInputStream;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.LinkedHashMap;
+import java.util.List;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.osbp.utils.blob.component.BlobTypingAPI;
+import org.eclipse.osbp.utils.blob.component.BlobUpload;
+import org.eclipse.osbp.utils.entitymock.ABaseMockEntity;
+import org.eclipse.osbp.utils.entitymock.ABaseMockObject;
+import org.eclipse.osbp.utils.entitymock.ABaseMockResource;
+import org.eclipse.osbp.utils.entitymock.AEntityMockDataGenerator;
+import org.eclipse.osbp.utils.entitymock.IEntityMockDataDbFiller;
+import org.eclipse.osbp.utils.entitymock.IEntityMockDataGenerator;
+import org.eclipse.osbp.utils.entitymock.Iterators;
+import org.eclipse.osbp.utils.entitymock.MockedEntityDto;
+import org.eclipse.osbp.xtext.addons.AdvancedJvmModelGenerator;
+import org.eclipse.osbp.xtext.basic.generator.BasicDslGeneratorUtils;
+import org.eclipse.osbp.xtext.entitymock.EntityMockModel;
+import org.eclipse.osbp.xtext.entitymock.EntityMockPackage;
+import org.eclipse.osbp.xtext.entitymock.jvmmodel.EntityMockDSLJvmModelInferrer;
+import org.eclipse.xtend2.lib.StringConcatenation;
+import org.eclipse.xtext.generator.IFileSystemAccess;
+import org.eclipse.xtext.xbase.compiler.GeneratorConfig;
+import org.eclipse.xtext.xbase.compiler.ImportManager;
+import org.eclipse.xtext.xbase.compiler.output.TreeAppendable;
+import org.eclipse.xtext.xbase.lib.Extension;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+@SuppressWarnings("all")
+public class EntityMockDslGenerator extends AdvancedJvmModelGenerator {
+  @Inject
+  @Extension
+  private BasicDslGeneratorUtils _basicDslGeneratorUtils;
+  
+  public void doGenerate(final Resource input, final IFileSystemAccess fsa) {
+    EList<EObject> _contents = input.getContents();
+    EObject _get = _contents.get(0);
+    final EntityMockModel model = ((EntityMockModel) _get);
+    EList<EntityMockPackage> _packages = model.getPackages();
+    for (final EntityMockPackage pckg : _packages) {
+      this.generateOsgiInf(pckg, fsa);
+    }
+    super.doGenerate(input, fsa);
+  }
+  
+  /**
+   * Generate an OSGI INF xml file defining the generated Entity Mock Data Generator via Declarative Service
+   * @param pckg the package defining the generator
+   * @param fsa file system access
+   */
+  public void generateOsgiInf(final EntityMockPackage pckg, final IFileSystemAccess fsa) {
+    StringConcatenation _builder = new StringConcatenation();
+    String _entityMockName = EntityMockDSLJvmModelInferrer.getEntityMockName(pckg);
+    _builder.append(_entityMockName, "");
+    _builder.append(".");
+    _builder.append(EntityMockDSLJvmModelInferrer.ENTITY_MOCK_GENERATOR, "");
+    final String generatorName = _builder.toString();
+    StringConcatenation _builder_1 = new StringConcatenation();
+    _builder_1.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
+    _builder_1.newLine();
+    _builder_1.append("<scr:component xmlns:scr=\"http://www.osgi.org/xmlns/scr/v1.1.0\" immediate=\"true\" name=\"");
+    _builder_1.append(generatorName, "");
+    _builder_1.append("\">");
+    _builder_1.newLineIfNotEmpty();
+    _builder_1.append("   ");
+    _builder_1.append("<implementation class=\"");
+    _builder_1.append(generatorName, "   ");
+    _builder_1.append("\"/>");
+    _builder_1.newLineIfNotEmpty();
+    _builder_1.append("   ");
+    _builder_1.append("<service>");
+    _builder_1.newLine();
+    _builder_1.append("      ");
+    _builder_1.append("<provide interface=\"");
+    String _canonicalName = IEntityMockDataGenerator.class.getCanonicalName();
+    _builder_1.append(_canonicalName, "      ");
+    _builder_1.append("\"/>");
+    _builder_1.newLineIfNotEmpty();
+    _builder_1.append("   ");
+    _builder_1.append("</service>");
+    _builder_1.newLine();
+    _builder_1.append("</scr:component>");
+    _builder_1.newLine();
+    String str = _builder_1.toString();
+    StringConcatenation _builder_2 = new StringConcatenation();
+    _builder_2.append("../OSGI-INF/");
+    _builder_2.append(generatorName, "");
+    _builder_2.append(".xml");
+    fsa.generateFile(_builder_2.toString(), str);
+  }
+  
+  /**
+   * add all relevant Java import statements for necessary classes
+   */
+  public TreeAppendable createAppendable(final EObject context, final ImportManager importManager, final GeneratorConfig config) {
+    TreeAppendable _xblockexpression = null;
+    {
+      Resource _eResource = context.eResource();
+      this.setBuilder(_eResource);
+      this._basicDslGeneratorUtils.addImportFor(this, importManager, this._typeReferenceBuilder, Iterator.class, Iterators.DateIterator.class, Iterators.IntegerIterator.class, ABaseMockEntity.class, ABaseMockObject.class, ABaseMockResource.class, AEntityMockDataGenerator.class, MockedEntityDto.class, Date.class, ArrayList.class, HashMap.class, LinkedHashMap.class, List.class, BlobTypingAPI.class, BlobUpload.class, InputStream.class, BufferedInputStream.class, Logger.class, LoggerFactory.class, IEntityMockDataDbFiller.class);
+      _xblockexpression = super.createAppendable(context, importManager, config);
+    }
+    return _xblockexpression;
+  }
+}
diff --git a/org.eclipse.osbp.xtext.entitymock/xtend-gen/org/eclipse/osbp/xtext/entitymock/jvmmodel/EntityMockDSLJvmModelInferrer.java b/org.eclipse.osbp.xtext.entitymock/xtend-gen/org/eclipse/osbp/xtext/entitymock/jvmmodel/EntityMockDSLJvmModelInferrer.java
new file mode 100644
index 0000000..cd807b7
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/xtend-gen/org/eclipse/osbp/xtext/entitymock/jvmmodel/EntityMockDSLJvmModelInferrer.java
@@ -0,0 +1,4080 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ * 
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ * 
+ * 
+ *  This copyright notice shows up in the generated Java code
+ */
+package org.eclipse.osbp.xtext.entitymock.jvmmodel;
+
+import com.google.common.base.Objects;
+import com.google.inject.Inject;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.function.Consumer;
+import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang.WordUtils;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.osbp.dsl.semantic.common.types.LEnum;
+import org.eclipse.osbp.dsl.semantic.common.types.LEnumLiteral;
+import org.eclipse.osbp.dsl.semantic.common.types.LImport;
+import org.eclipse.osbp.dsl.semantic.common.types.LScalarType;
+import org.eclipse.osbp.dsl.semantic.entity.LBean;
+import org.eclipse.osbp.dsl.semantic.entity.LEntity;
+import org.eclipse.osbp.dsl.semantic.entity.LEntityAttribute;
+import org.eclipse.osbp.dsl.semantic.entity.LEntityReference;
+import org.eclipse.osbp.persistence.IPersistenceService;
+import org.eclipse.osbp.ui.api.datamart.IDataMart;
+import org.eclipse.osbp.utils.common.EntityUtils;
+import org.eclipse.osbp.utils.entityhelper.DataType;
+import org.eclipse.osbp.utils.entitymock.ABaseMockEntity;
+import org.eclipse.osbp.utils.entitymock.ABaseMockObject;
+import org.eclipse.osbp.utils.entitymock.ABaseMockResource;
+import org.eclipse.osbp.utils.entitymock.AEntityMockDataGenerator;
+import org.eclipse.osbp.utils.entitymock.IEntityMockDataDbFiller;
+import org.eclipse.osbp.utils.entitymock.IEntityMockDataGenerator;
+import org.eclipse.osbp.xtext.datainterchange.DataInterchange;
+import org.eclipse.osbp.xtext.datainterchange.jvmmodel.DataDSLJvmModelInferrer;
+import org.eclipse.osbp.xtext.entitymock.DateIterate;
+import org.eclipse.osbp.xtext.entitymock.EDateStepType;
+import org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByObject;
+import org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByReference;
+import org.eclipse.osbp.xtext.entitymock.EntityMockAttributeFiller;
+import org.eclipse.osbp.xtext.entitymock.EntityMockByResourceAttribute;
+import org.eclipse.osbp.xtext.entitymock.EntityMockEntities;
+import org.eclipse.osbp.xtext.entitymock.EntityMockEntity;
+import org.eclipse.osbp.xtext.entitymock.EntityMockEntityFunction;
+import org.eclipse.osbp.xtext.entitymock.EntityMockEntityFunctionParameter;
+import org.eclipse.osbp.xtext.entitymock.EntityMockModel;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObject;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectArrayValue;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectEmbed;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectEnum;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectFill;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectFunction;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectFunctionParameter;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectItemValue;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectPlainValue;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectResourceValue;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjects;
+import org.eclipse.osbp.xtext.entitymock.EntityMockPackage;
+import org.eclipse.osbp.xtext.entitymock.EntityMockReferencedObjectAttribute;
+import org.eclipse.osbp.xtext.entitymock.EntityMockResource;
+import org.eclipse.osbp.xtext.entitymock.EntityMockResourceAttribute;
+import org.eclipse.osbp.xtext.entitymock.EntityMockResourceDataRow;
+import org.eclipse.osbp.xtext.entitymock.EntityMockResources;
+import org.eclipse.osbp.xtext.entitymock.EntityMockTemporary;
+import org.eclipse.osbp.xtext.entitymock.IEntityMockAttribute;
+import org.eclipse.osbp.xtext.entitymock.IEntityMockObjectAttribute;
+import org.eclipse.osbp.xtext.entitymock.IEntityMockObjectUsable;
+import org.eclipse.osbp.xtext.entitymock.IIterate;
+import org.eclipse.osbp.xtext.entitymock.IntegerIterate;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerBoolean;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerDateFuture;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerDatePast;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerDateRange;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedDoubleRandom;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedDoubleRange;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedIntegerRandom;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerSignedIntegerRange;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerTextParagraphs;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerTextRandom;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerTextSentences;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerTextWords;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerType;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedDoubleRandom;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedDoubleRange;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedIntegerRandom;
+import org.eclipse.osbp.xtext.entitymock.PropertyFillerUnsignedIntegerRange;
+import org.eclipse.osbp.xtext.entitymock.RunningDataInterchange;
+import org.eclipse.osbp.xtext.entitymock.RunningDataInterchanges;
+import org.eclipse.xtend2.lib.StringConcatenation;
+import org.eclipse.xtext.common.types.JvmAnnotationReference;
+import org.eclipse.xtext.common.types.JvmConstructor;
+import org.eclipse.xtext.common.types.JvmDeclaredType;
+import org.eclipse.xtext.common.types.JvmEnumerationType;
+import org.eclipse.xtext.common.types.JvmField;
+import org.eclipse.xtext.common.types.JvmFormalParameter;
+import org.eclipse.xtext.common.types.JvmGenericType;
+import org.eclipse.xtext.common.types.JvmMember;
+import org.eclipse.xtext.common.types.JvmOperation;
+import org.eclipse.xtext.common.types.JvmType;
+import org.eclipse.xtext.common.types.JvmTypeReference;
+import org.eclipse.xtext.common.types.JvmVisibility;
+import org.eclipse.xtext.xbase.XExpression;
+import org.eclipse.xtext.xbase.compiler.output.ITreeAppendable;
+import org.eclipse.xtext.xbase.jvmmodel.AbstractModelInferrer;
+import org.eclipse.xtext.xbase.jvmmodel.IJvmDeclaredTypeAcceptor;
+import org.eclipse.xtext.xbase.jvmmodel.JvmTypesBuilder;
+import org.eclipse.xtext.xbase.lib.Exceptions;
+import org.eclipse.xtext.xbase.lib.Extension;
+import org.eclipse.xtext.xbase.lib.Procedures.Procedure1;
+import org.eclipse.xtext.xbase.lib.StringExtensions;
+import org.slf4j.Logger;
+
+/**
+ * <p>Infers a JVM model from the source model.</p>
+ * 
+ * <p>The JVM model should contain all elements that would appear in the Java code
+ * which is generated from the source model. Other models link against the JVM model rather than the source model.</p>
+ */
+@SuppressWarnings("all")
+public class EntityMockDSLJvmModelInferrer extends AbstractModelInferrer {
+  /**
+   * convenience API to build and initialize JVM types and their members.
+   */
+  @Inject
+  @Extension
+  private JvmTypesBuilder _jvmTypesBuilder;
+  
+  @Inject
+  @Extension
+  private DataDSLJvmModelInferrer _dataDSLJvmModelInferrer;
+  
+  @Inject
+  @Extension
+  private EntityUtils _entityUtils;
+  
+  @Inject
+  private DataType dtType;
+  
+  /**
+   * get the full qualified package name for the imported entities, removing the trailing
+   */
+  public static String getEntityPackageName(final EntityMockPackage pckg) {
+    String pckgName = "";
+    EList<LImport> _imports = pckg.getImports();
+    for (final LImport import_ : _imports) {
+      boolean _isEmpty = pckgName.isEmpty();
+      if (_isEmpty) {
+        StringConcatenation _builder = new StringConcatenation();
+        String _importedNamespace = import_.getImportedNamespace();
+        _builder.append(_importedNamespace, "");
+        String _string = _builder.toString();
+        pckgName = _string;
+        String _replace = pckgName.replace(".*", "");
+        pckgName = _replace;
+      }
+    }
+    return pckgName;
+  }
+  
+  /**
+   * generate the full qualified mock package name corresponding to the imported entities
+   */
+  public static String getEntityMockName(final EntityMockPackage pckg) {
+    StringConcatenation _builder = new StringConcatenation();
+    String _entityPackageName = EntityMockDSLJvmModelInferrer.getEntityPackageName(pckg);
+    _builder.append(_entityPackageName, "");
+    _builder.append("mock");
+    return _builder.toString();
+  }
+  
+  /**
+   * generate the class name for a temporary mock object
+   */
+  public String getEntityMockName(final EntityMockTemporary temporary) {
+    EntityMockObject _object = temporary.getObject();
+    return this.getEntityMockName(((EntityMockObject) _object));
+  }
+  
+  /**
+   * generate the class name for a mock resource class
+   */
+  public String getEntityMockName(final EntityMockResource resource) {
+    StringConcatenation _builder = new StringConcatenation();
+    _builder.append("Resource");
+    String _name = resource.getName();
+    String _capitalize = WordUtils.capitalize(_name);
+    _builder.append(_capitalize, "");
+    return _builder.toString();
+  }
+  
+  /**
+   * generate the class name for a mock object class
+   */
+  public String getEntityMockName(final EntityMockObject object) {
+    StringConcatenation _builder = new StringConcatenation();
+    _builder.append("Object");
+    String _name = object.getName();
+    String _capitalize = WordUtils.capitalize(_name);
+    _builder.append(_capitalize, "");
+    return _builder.toString();
+  }
+  
+  /**
+   * generate the class name for a mock entity
+   */
+  public String getEntityMockName(final EntityMockEntity entity) {
+    StringConcatenation _builder = new StringConcatenation();
+    _builder.append("Entity");
+    String _name = entity.getName();
+    String _capitalize = WordUtils.capitalize(_name);
+    _builder.append(_capitalize, "");
+    return _builder.toString();
+  }
+  
+  /**
+   * get the entity name referenced by a mock entity
+   */
+  public String getEntityName(final EntityMockEntity entity) {
+    LEntity _entityRef = entity.getEntityRef();
+    return this.getEntityName(_entityRef);
+  }
+  
+  /**
+   * get the entity name
+   */
+  public String getEntityName(final LEntity entity) {
+    return entity.getName();
+  }
+  
+  /**
+   * get the entity name
+   */
+  public String getEnumName(final LEnum lenum) {
+    return lenum.getName();
+  }
+  
+  /**
+   * get the full qualified entity name referenced by a mock entity
+   */
+  public String getEntityDtoFQN(final EntityMockEntity entity) {
+    LEntity _entityRef = entity.getEntityRef();
+    return EntityUtils.getDtoFQNForLEntity(_entityRef);
+  }
+  
+  /**
+   * get the full qualified entity class name referenced by a mock entity
+   */
+  public String getEntityDtoFQNClass(final EntityMockEntity entity) {
+    LEntity _entityRef = entity.getEntityRef();
+    return this.getEntityDtoFQNClass(_entityRef);
+  }
+  
+  /**
+   * get the full qualified entity class name
+   */
+  public String getEntityDtoFQNClass(final LEntity entity) {
+    StringConcatenation _builder = new StringConcatenation();
+    String _dtoFQNForLEntity = EntityUtils.getDtoFQNForLEntity(entity);
+    _builder.append(_dtoFQNForLEntity, "");
+    _builder.append(".class");
+    return _builder.toString();
+  }
+  
+  /**
+   * generate a mock object class
+   */
+  public void generateMockObject(final EntityMockModel model, final IJvmDeclaredTypeAcceptor acceptor, final EntityMockPackage pckg, final EntityMockObject mockObject) {
+    StringConcatenation _builder = new StringConcatenation();
+    String _entityMockName = EntityMockDSLJvmModelInferrer.getEntityMockName(pckg);
+    _builder.append(_entityMockName, "");
+    _builder.append(".");
+    String _entityMockName_1 = this.getEntityMockName(mockObject);
+    _builder.append(_entityMockName_1, "");
+    JvmGenericType _class = this._jvmTypesBuilder.toClass(model, _builder.toString());
+    final Procedure1<JvmGenericType> _function = new Procedure1<JvmGenericType>() {
+      public void apply(final JvmGenericType it) {
+        EList<JvmTypeReference> _superTypes = it.getSuperTypes();
+        JvmTypeReference _typeRef = EntityMockDSLJvmModelInferrer.this._typeReferenceBuilder.typeRef(ABaseMockObject.class);
+        EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.<JvmTypeReference>operator_add(_superTypes, _typeRef);
+        StringConcatenation _builder = new StringConcatenation();
+        _builder.append("<b>This class was auto generated! Leave it unmodified to avoid unpredictable results!</b><br>");
+        _builder.newLine();
+        String _documentation = EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.getDocumentation(mockObject);
+        _builder.append(_documentation, "");
+        _builder.newLineIfNotEmpty();
+        EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.setDocumentation(it, _builder.toString());
+        it.setFinal(true);
+        JvmField field = null;
+        JvmTypeReference _typeRef_1 = EntityMockDSLJvmModelInferrer.this._typeReferenceBuilder.typeRef(Logger.class);
+        final Procedure1<JvmField> _function = new Procedure1<JvmField>() {
+          public void apply(final JvmField it) {
+            final Procedure1<ITreeAppendable> _function = new Procedure1<ITreeAppendable>() {
+              public void apply(final ITreeAppendable it) {
+                StringConcatenation _builder = new StringConcatenation();
+                _builder.append("LoggerFactory.getLogger(");
+                String _entityMockName = EntityMockDSLJvmModelInferrer.getEntityMockName(pckg);
+                _builder.append(_entityMockName, "");
+                _builder.append(".");
+                String _entityMockName_1 = EntityMockDSLJvmModelInferrer.this.getEntityMockName(mockObject);
+                _builder.append(_entityMockName_1, "");
+                _builder.append(".class)");
+                it.append(_builder);
+              }
+            };
+            EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.setInitializer(it, _function);
+          }
+        };
+        JvmField _field = EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.toField(model, "log", _typeRef_1, _function);
+        field = _field;
+        field.setFinal(true);
+        field.setStatic(true);
+        EList<JvmMember> _members = it.getMembers();
+        EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.<JvmField>operator_add(_members, field);
+        EList<EntityMockObjectEnum> _enumerations = mockObject.getEnumerations();
+        for (final EntityMockObjectEnum enumeration : _enumerations) {
+          LEnum _usingResource = enumeration.getUsingResource();
+          if ((_usingResource instanceof EntityMockResource)) {
+            LEnum _usingResource_1 = enumeration.getUsingResource();
+            final EntityMockResource resource = ((EntityMockResource) _usingResource_1);
+            EList<JvmMember> _members_1 = it.getMembers();
+            StringConcatenation _builder_1 = new StringConcatenation();
+            String _name = enumeration.getName();
+            _builder_1.append(_name, "");
+            _builder_1.append("_resource");
+            JvmTypeReference _typeRef_2 = EntityMockDSLJvmModelInferrer.this._typeReferenceBuilder.typeRef(ABaseMockResource.class);
+            final Procedure1<JvmField> _function_1 = new Procedure1<JvmField>() {
+              public void apply(final JvmField it) {
+                final Procedure1<ITreeAppendable> _function = new Procedure1<ITreeAppendable>() {
+                  public void apply(final ITreeAppendable it) {
+                    StringConcatenation _builder = new StringConcatenation();
+                    _builder.append("new ");
+                    String _entityMockName = EntityMockDSLJvmModelInferrer.this.getEntityMockName(resource);
+                    _builder.append(_entityMockName, "");
+                    _builder.append("()");
+                    it.append(_builder);
+                  }
+                };
+                EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.setInitializer(it, _function);
+                String _documentation = EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.getDocumentation(enumeration);
+                EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.setDocumentation(it, _documentation);
+                it.setVisibility(JvmVisibility.PRIVATE);
+                it.setStatic(true);
+              }
+            };
+            JvmField _field_1 = EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.toField(mockObject, _builder_1.toString(), _typeRef_2, _function_1);
+            EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.<JvmField>operator_add(_members_1, _field_1);
+          } else {
+          }
+        }
+        EList<IEntityMockObjectAttribute> _attributes = mockObject.getAttributes();
+        for (final IEntityMockObjectAttribute attribute : _attributes) {
+          boolean _matched = false;
+          if (!_matched) {
+            if (attribute instanceof EntityMockObjectPlainValue) {
+              _matched=true;
+              final List<String> items = new ArrayList<String>();
+              EList<String> _values = ((EntityMockObjectPlainValue)attribute).getValues();
+              for (final String value : _values) {
+                StringConcatenation _builder_2 = new StringConcatenation();
+                _builder_2.append("\"");
+                _builder_2.append(value, "");
+                _builder_2.append("\"");
+                items.add(_builder_2.toString());
+              }
+              EList<JvmMember> _members_2 = it.getMembers();
+              StringConcatenation _builder_3 = new StringConcatenation();
+              String _name_1 = ((EntityMockObjectPlainValue)attribute).getName();
+              _builder_3.append(_name_1, "");
+              _builder_3.append("_items");
+              JvmTypeReference _typeRef_3 = EntityMockDSLJvmModelInferrer.this._typeReferenceBuilder.typeRef(Object[].class);
+              final Procedure1<JvmField> _function_2 = new Procedure1<JvmField>() {
+                public void apply(final JvmField it) {
+                  final Procedure1<ITreeAppendable> _function = new Procedure1<ITreeAppendable>() {
+                    public void apply(final ITreeAppendable it) {
+                      StringConcatenation _builder = new StringConcatenation();
+                      _builder.append("{");
+                      String _join = StringUtils.join(items, ",");
+                      _builder.append(_join, "");
+                      _builder.append("}");
+                      it.append(_builder);
+                    }
+                  };
+                  EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.setInitializer(it, _function);
+                  String _documentation = EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.getDocumentation(attribute);
+                  EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.setDocumentation(it, _documentation);
+                  it.setVisibility(JvmVisibility.PRIVATE);
+                  it.setStatic(true);
+                }
+              };
+              JvmField _field_2 = EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.toField(mockObject, _builder_3.toString(), _typeRef_3, _function_2);
+              EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.<JvmField>operator_add(_members_2, _field_2);
+            }
+          }
+          if (!_matched) {
+            if (attribute instanceof EntityMockObjectResourceValue) {
+              _matched=true;
+            }
+          }
+          if (!_matched) {
+            if (attribute instanceof EntityMockObjectArrayValue) {
+              _matched=true;
+              final List<String> enums = new ArrayList<String>();
+              String _xifexpression = null;
+              EntityMockObjectEnum _enumeration = ((EntityMockObjectArrayValue)attribute).getEnumeration();
+              LEnum _usingResource_2 = _enumeration.getUsingResource();
+              if ((_usingResource_2 instanceof EntityMockResource)) {
+                _xifexpression = "String";
+              } else {
+                StringConcatenation _builder_2 = new StringConcatenation();
+                EntityMockObjectEnum _enumeration_1 = ((EntityMockObjectArrayValue)attribute).getEnumeration();
+                LEnum _usingResource_3 = _enumeration_1.getUsingResource();
+                String _dtoFQNForLEnum = EntityUtils.getDtoFQNForLEnum(_usingResource_3);
+                _builder_2.append(_dtoFQNForLEnum, "");
+                _xifexpression = _builder_2.toString();
+              }
+              final String keyType = _xifexpression;
+              EList<EntityMockObjectItemValue> _items = ((EntityMockObjectArrayValue)attribute).getItems();
+              for (final EntityMockObjectItemValue enumItem : _items) {
+                {
+                  final List<String> items = new ArrayList<String>();
+                  EList<String> _values = enumItem.getValues();
+                  for (final String value : _values) {
+                    StringConcatenation _builder_3 = new StringConcatenation();
+                    _builder_3.append("\"");
+                    _builder_3.append(value, "");
+                    _builder_3.append("\"");
+                    items.add(_builder_3.toString());
+                  }
+                  LEnumLiteral _datarow = enumItem.getDatarow();
+                  if ((_datarow instanceof EntityMockResourceDataRow)) {
+                    StringConcatenation _builder_4 = new StringConcatenation();
+                    _builder_4.append("put(\"");
+                    LEnumLiteral _datarow_1 = enumItem.getDatarow();
+                    String _name_1 = _datarow_1.getName();
+                    _builder_4.append(_name_1, "");
+                    _builder_4.append("\", new Object[] {");
+                    String _join = StringUtils.join(items, ",");
+                    _builder_4.append(_join, "");
+                    _builder_4.append("});");
+                    enums.add(_builder_4.toString());
+                  } else {
+                    StringConcatenation _builder_5 = new StringConcatenation();
+                    _builder_5.append("put(");
+                    _builder_5.append(keyType, "");
+                    _builder_5.append(".");
+                    LEnumLiteral _datarow_2 = enumItem.getDatarow();
+                    String _name_2 = _datarow_2.getName();
+                    _builder_5.append(_name_2, "");
+                    _builder_5.append(", new Object[] {");
+                    String _join_1 = StringUtils.join(items, ",");
+                    _builder_5.append(_join_1, "");
+                    _builder_5.append("});");
+                    enums.add(_builder_5.toString());
+                  }
+                }
+              }
+              EList<JvmMember> _members_2 = it.getMembers();
+              StringConcatenation _builder_3 = new StringConcatenation();
+              String _name_1 = ((EntityMockObjectArrayValue)attribute).getName();
+              _builder_3.append(_name_1, "");
+              _builder_3.append("_items");
+              JvmTypeReference _typeRef_3 = EntityMockDSLJvmModelInferrer.this._typeReferenceBuilder.typeRef(Map.class);
+              final Procedure1<JvmField> _function_2 = new Procedure1<JvmField>() {
+                public void apply(final JvmField it) {
+                  final Procedure1<ITreeAppendable> _function = new Procedure1<ITreeAppendable>() {
+                    public void apply(final ITreeAppendable it) {
+                      StringConcatenation _builder = new StringConcatenation();
+                      _builder.append("new HashMap<");
+                      _builder.append(keyType, "");
+                      _builder.append(", Object[]>() {{");
+                      _builder.newLineIfNotEmpty();
+                      String _join = StringUtils.join(enums, "\r\n");
+                      _builder.append(_join, "");
+                      _builder.newLineIfNotEmpty();
+                      _builder.append("}}");
+                      it.append(_builder);
+                    }
+                  };
+                  EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.setInitializer(it, _function);
+                  String _documentation = EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.getDocumentation(attribute);
+                  EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.setDocumentation(it, _documentation);
+                  it.setVisibility(JvmVisibility.PRIVATE);
+                  it.setStatic(true);
+                }
+              };
+              JvmField _field_2 = EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.toField(mockObject, _builder_3.toString(), _typeRef_3, _function_2);
+              EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.<JvmField>operator_add(_members_2, _field_2);
+            }
+          }
+          if (!_matched) {
+            if (attribute instanceof EntityMockObjectEmbed) {
+              _matched=true;
+            }
+          }
+          if (!_matched) {
+            if (attribute instanceof EntityMockObjectFill) {
+              _matched=true;
+              PropertyFillerType type = ((EntityMockObjectFill)attribute).getFillerType();
+              boolean _matched_1 = false;
+              if (!_matched_1) {
+                if (type instanceof PropertyFillerTextRandom) {
+                  _matched_1=true;
+                  final List<String> items = new ArrayList<String>();
+                  EList<String> _items = ((PropertyFillerTextRandom)type).getItems();
+                  for (final String item : _items) {
+                    StringConcatenation _builder_2 = new StringConcatenation();
+                    _builder_2.append("\"");
+                    _builder_2.append(item, "");
+                    _builder_2.append("\"");
+                    items.add(_builder_2.toString());
+                  }
+                  EList<JvmMember> _members_2 = it.getMembers();
+                  StringConcatenation _builder_3 = new StringConcatenation();
+                  String _name_1 = ((EntityMockObjectFill)attribute).getName();
+                  _builder_3.append(_name_1, "");
+                  _builder_3.append("_items");
+                  JvmTypeReference _typeRef_3 = EntityMockDSLJvmModelInferrer.this._typeReferenceBuilder.typeRef(Object[].class);
+                  final Procedure1<JvmField> _function_2 = new Procedure1<JvmField>() {
+                    public void apply(final JvmField it) {
+                      final Procedure1<ITreeAppendable> _function = new Procedure1<ITreeAppendable>() {
+                        public void apply(final ITreeAppendable it) {
+                          StringConcatenation _builder = new StringConcatenation();
+                          _builder.append("{");
+                          String _join = StringUtils.join(items, ",");
+                          _builder.append(_join, "");
+                          _builder.append("}");
+                          it.append(_builder);
+                        }
+                      };
+                      EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.setInitializer(it, _function);
+                      String _documentation = EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.getDocumentation(attribute);
+                      EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.setDocumentation(it, _documentation);
+                      it.setVisibility(JvmVisibility.PRIVATE);
+                      it.setStatic(true);
+                    }
+                  };
+                  JvmField _field_2 = EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.toField(mockObject, _builder_3.toString(), _typeRef_3, _function_2);
+                  EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.<JvmField>operator_add(_members_2, _field_2);
+                }
+              }
+              if (!_matched_1) {
+                if (type instanceof PropertyFillerSignedDoubleRandom) {
+                  _matched_1=true;
+                  final List<String> items = new ArrayList<String>();
+                  EList<Double> _items = ((PropertyFillerSignedDoubleRandom)type).getItems();
+                  for (final Double item : _items) {
+                    StringConcatenation _builder_2 = new StringConcatenation();
+                    _builder_2.append(item, "");
+                    items.add(_builder_2.toString());
+                  }
+                  EList<JvmMember> _members_2 = it.getMembers();
+                  StringConcatenation _builder_3 = new StringConcatenation();
+                  String _name_1 = ((EntityMockObjectFill)attribute).getName();
+                  _builder_3.append(_name_1, "");
+                  _builder_3.append("_items");
+                  JvmTypeReference _typeRef_3 = EntityMockDSLJvmModelInferrer.this._typeReferenceBuilder.typeRef(double[].class);
+                  final Procedure1<JvmField> _function_2 = new Procedure1<JvmField>() {
+                    public void apply(final JvmField it) {
+                      final Procedure1<ITreeAppendable> _function = new Procedure1<ITreeAppendable>() {
+                        public void apply(final ITreeAppendable it) {
+                          StringConcatenation _builder = new StringConcatenation();
+                          _builder.append("{");
+                          String _join = StringUtils.join(items, ",");
+                          _builder.append(_join, "");
+                          _builder.append("}");
+                          it.append(_builder);
+                        }
+                      };
+                      EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.setInitializer(it, _function);
+                      String _documentation = EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.getDocumentation(attribute);
+                      EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.setDocumentation(it, _documentation);
+                      it.setVisibility(JvmVisibility.PRIVATE);
+                      it.setStatic(true);
+                    }
+                  };
+                  JvmField _field_2 = EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.toField(mockObject, _builder_3.toString(), _typeRef_3, _function_2);
+                  EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.<JvmField>operator_add(_members_2, _field_2);
+                }
+              }
+              if (!_matched_1) {
+                if (type instanceof PropertyFillerUnsignedDoubleRandom) {
+                  _matched_1=true;
+                  final List<String> items = new ArrayList<String>();
+                  EList<Double> _items = ((PropertyFillerUnsignedDoubleRandom)type).getItems();
+                  for (final Double item : _items) {
+                    StringConcatenation _builder_2 = new StringConcatenation();
+                    _builder_2.append(item, "");
+                    items.add(_builder_2.toString());
+                  }
+                  EList<JvmMember> _members_2 = it.getMembers();
+                  StringConcatenation _builder_3 = new StringConcatenation();
+                  String _name_1 = ((EntityMockObjectFill)attribute).getName();
+                  _builder_3.append(_name_1, "");
+                  _builder_3.append("_items");
+                  JvmTypeReference _typeRef_3 = EntityMockDSLJvmModelInferrer.this._typeReferenceBuilder.typeRef(double[].class);
+                  final Procedure1<JvmField> _function_2 = new Procedure1<JvmField>() {
+                    public void apply(final JvmField it) {
+                      final Procedure1<ITreeAppendable> _function = new Procedure1<ITreeAppendable>() {
+                        public void apply(final ITreeAppendable it) {
+                          StringConcatenation _builder = new StringConcatenation();
+                          _builder.append("{");
+                          String _join = StringUtils.join(items, ",");
+                          _builder.append(_join, "");
+                          _builder.append("}");
+                          it.append(_builder);
+                        }
+                      };
+                      EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.setInitializer(it, _function);
+                      String _documentation = EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.getDocumentation(attribute);
+                      EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.setDocumentation(it, _documentation);
+                      it.setVisibility(JvmVisibility.PRIVATE);
+                      it.setStatic(true);
+                    }
+                  };
+                  JvmField _field_2 = EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.toField(mockObject, _builder_3.toString(), _typeRef_3, _function_2);
+                  EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.<JvmField>operator_add(_members_2, _field_2);
+                }
+              }
+              if (!_matched_1) {
+                if (type instanceof PropertyFillerSignedIntegerRandom) {
+                  _matched_1=true;
+                  final List<String> items = new ArrayList<String>();
+                  EList<Integer> _items = ((PropertyFillerSignedIntegerRandom)type).getItems();
+                  for (final Integer item : _items) {
+                    StringConcatenation _builder_2 = new StringConcatenation();
+                    _builder_2.append(item, "");
+                    items.add(_builder_2.toString());
+                  }
+                  EList<JvmMember> _members_2 = it.getMembers();
+                  StringConcatenation _builder_3 = new StringConcatenation();
+                  String _name_1 = ((EntityMockObjectFill)attribute).getName();
+                  _builder_3.append(_name_1, "");
+                  _builder_3.append("_items");
+                  JvmTypeReference _typeRef_3 = EntityMockDSLJvmModelInferrer.this._typeReferenceBuilder.typeRef(int[].class);
+                  final Procedure1<JvmField> _function_2 = new Procedure1<JvmField>() {
+                    public void apply(final JvmField it) {
+                      final Procedure1<ITreeAppendable> _function = new Procedure1<ITreeAppendable>() {
+                        public void apply(final ITreeAppendable it) {
+                          StringConcatenation _builder = new StringConcatenation();
+                          _builder.append("{");
+                          String _join = StringUtils.join(items, ",");
+                          _builder.append(_join, "");
+                          _builder.append("}");
+                          it.append(_builder);
+                        }
+                      };
+                      EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.setInitializer(it, _function);
+                      String _documentation = EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.getDocumentation(attribute);
+                      EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.setDocumentation(it, _documentation);
+                      it.setVisibility(JvmVisibility.PRIVATE);
+                      it.setStatic(true);
+                    }
+                  };
+                  JvmField _field_2 = EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.toField(mockObject, _builder_3.toString(), _typeRef_3, _function_2);
+                  EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.<JvmField>operator_add(_members_2, _field_2);
+                }
+              }
+              if (!_matched_1) {
+                if (type instanceof PropertyFillerUnsignedIntegerRandom) {
+                  _matched_1=true;
+                  final List<String> items = new ArrayList<String>();
+                  EList<Integer> _items = ((PropertyFillerUnsignedIntegerRandom)type).getItems();
+                  for (final Integer item : _items) {
+                    StringConcatenation _builder_2 = new StringConcatenation();
+                    _builder_2.append(item, "");
+                    items.add(_builder_2.toString());
+                  }
+                  EList<JvmMember> _members_2 = it.getMembers();
+                  StringConcatenation _builder_3 = new StringConcatenation();
+                  String _name_1 = ((EntityMockObjectFill)attribute).getName();
+                  _builder_3.append(_name_1, "");
+                  _builder_3.append("_items");
+                  JvmTypeReference _typeRef_3 = EntityMockDSLJvmModelInferrer.this._typeReferenceBuilder.typeRef(int[].class);
+                  final Procedure1<JvmField> _function_2 = new Procedure1<JvmField>() {
+                    public void apply(final JvmField it) {
+                      final Procedure1<ITreeAppendable> _function = new Procedure1<ITreeAppendable>() {
+                        public void apply(final ITreeAppendable it) {
+                          StringConcatenation _builder = new StringConcatenation();
+                          _builder.append("{");
+                          String _join = StringUtils.join(items, ",");
+                          _builder.append(_join, "");
+                          _builder.append("}");
+                          it.append(_builder);
+                        }
+                      };
+                      EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.setInitializer(it, _function);
+                      String _documentation = EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.getDocumentation(attribute);
+                      EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.setDocumentation(it, _documentation);
+                      it.setVisibility(JvmVisibility.PRIVATE);
+                      it.setStatic(true);
+                    }
+                  };
+                  JvmField _field_2 = EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.toField(mockObject, _builder_3.toString(), _typeRef_3, _function_2);
+                  EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.<JvmField>operator_add(_members_2, _field_2);
+                }
+              }
+            }
+          }
+        }
+        EList<EntityMockObjectFunction> _calculations = mockObject.getCalculations();
+        for (final EntityMockObjectFunction calculation : _calculations) {
+          EList<JvmMember> _members_2 = it.getMembers();
+          StringConcatenation _builder_2 = new StringConcatenation();
+          _builder_2.append("calculate_");
+          String _name_1 = calculation.getName();
+          _builder_2.append(_name_1, "");
+          JvmTypeReference _oftype = calculation.getOftype();
+          final Procedure1<JvmOperation> _function_2 = new Procedure1<JvmOperation>() {
+            public void apply(final JvmOperation it) {
+              it.setVisibility(JvmVisibility.PROTECTED);
+              EList<EntityMockObjectFunctionParameter> _params = calculation.getParams();
+              for (final EntityMockObjectFunctionParameter param : _params) {
+                {
+                  JvmTypeReference type = param.getParameterType();
+                  EList<JvmFormalParameter> _parameters = it.getParameters();
+                  IEntityMockObjectUsable _name = param.getName();
+                  String _name_1 = EntityMockDSLJvmModelInferrer.this.getName(_name);
+                  JvmFormalParameter _parameter = EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.toParameter(param, _name_1, type);
+                  EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters, _parameter);
+                }
+              }
+              it.setFinal(true);
+              XExpression _body = calculation.getBody();
+              EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.setBody(it, _body);
+            }
+          };
+          JvmOperation _method = EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.toMethod(mockObject, _builder_2.toString(), _oftype, _function_2);
+          EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.<JvmOperation>operator_add(_members_2, _method);
+        }
+        EList<JvmMember> _members_3 = it.getMembers();
+        StringConcatenation _builder_3 = new StringConcatenation();
+        _builder_3.append("generateDataRow");
+        JvmTypeReference _typeRef_3 = EntityMockDSLJvmModelInferrer.this._typeReferenceBuilder.typeRef(Void.TYPE);
+        final Procedure1<JvmOperation> _function_3 = new Procedure1<JvmOperation>() {
+          public void apply(final JvmOperation it) {
+            it.setVisibility(JvmVisibility.PROTECTED);
+            it.setFinal(true);
+            final Procedure1<ITreeAppendable> _function = new Procedure1<ITreeAppendable>() {
+              public void apply(final ITreeAppendable it) {
+                EList<EntityMockObjectEnum> _enumerations = mockObject.getEnumerations();
+                for (final EntityMockObjectEnum enumeration : _enumerations) {
+                  {
+                    String doc = EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.getDocumentation(enumeration);
+                    boolean _and = false;
+                    if (!(doc instanceof String)) {
+                      _and = false;
+                    } else {
+                      String _trim = doc.trim();
+                      boolean _isEmpty = _trim.isEmpty();
+                      boolean _not = (!_isEmpty);
+                      _and = _not;
+                    }
+                    if (_and) {
+                      StringConcatenation _builder = new StringConcatenation();
+                      _builder.append("/** ");
+                      _builder.append(doc, "");
+                      _builder.append(" */");
+                      _builder.newLineIfNotEmpty();
+                      it.append(_builder);
+                    }
+                    LEnum _usingResource = enumeration.getUsingResource();
+                    if ((_usingResource instanceof EntityMockResource)) {
+                      StringConcatenation _builder_1 = new StringConcatenation();
+                      _builder_1.append("generateAttribute(\"");
+                      String _name = enumeration.getName();
+                      _builder_1.append(_name, "");
+                      _builder_1.append("\", ");
+                      String _name_1 = enumeration.getName();
+                      _builder_1.append(_name_1, "");
+                      _builder_1.append("_resource.getDataRows().toArray());");
+                      _builder_1.newLineIfNotEmpty();
+                      it.append(_builder_1);
+                    } else {
+                      final LEnum lenum = enumeration.getUsingResource();
+                      StringConcatenation _builder_2 = new StringConcatenation();
+                      _builder_2.append("generateAttribute(\"");
+                      String _name_2 = enumeration.getName();
+                      _builder_2.append(_name_2, "");
+                      _builder_2.append("\",");
+                      String _dtoFQNForLEnum = EntityUtils.getDtoFQNForLEnum(lenum);
+                      _builder_2.append(_dtoFQNForLEnum, "");
+                      _builder_2.append(".values());");
+                      _builder_2.newLineIfNotEmpty();
+                      it.append(_builder_2);
+                    }
+                  }
+                }
+                EList<IEntityMockObjectAttribute> _attributes = mockObject.getAttributes();
+                for (final IEntityMockObjectAttribute attribute : _attributes) {
+                  {
+                    String doc = EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.getDocumentation(attribute);
+                    boolean _and = false;
+                    if (!(doc instanceof String)) {
+                      _and = false;
+                    } else {
+                      String _trim = doc.trim();
+                      boolean _isEmpty = _trim.isEmpty();
+                      boolean _not = (!_isEmpty);
+                      _and = _not;
+                    }
+                    if (_and) {
+                      StringConcatenation _builder = new StringConcatenation();
+                      _builder.append("/** ");
+                      _builder.append(doc, "");
+                      _builder.append(" */");
+                      _builder.newLineIfNotEmpty();
+                      it.append(_builder);
+                    }
+                    boolean _matched = false;
+                    if (!_matched) {
+                      if (attribute instanceof EntityMockObjectPlainValue) {
+                        _matched=true;
+                        StringConcatenation _builder_1 = new StringConcatenation();
+                        _builder_1.append("generateAttribute(\"");
+                        String _name = ((EntityMockObjectPlainValue)attribute).getName();
+                        _builder_1.append(_name, "");
+                        _builder_1.append("\", ");
+                        String _name_1 = ((EntityMockObjectPlainValue)attribute).getName();
+                        _builder_1.append(_name_1, "");
+                        _builder_1.append("_items);");
+                        _builder_1.newLineIfNotEmpty();
+                        it.append(_builder_1);
+                      }
+                    }
+                    if (!_matched) {
+                      if (attribute instanceof EntityMockObjectResourceValue) {
+                        _matched=true;
+                        EntityMockObjectEnum _resourceEnum = ((EntityMockObjectResourceValue)attribute).getResourceEnum();
+                        LEnum _usingResource = _resourceEnum.getUsingResource();
+                        if ((_usingResource instanceof EntityMockResource)) {
+                          StringConcatenation _builder_1 = new StringConcatenation();
+                          _builder_1.append("setFixAttribute(\"");
+                          String _name = ((EntityMockObjectResourceValue)attribute).getName();
+                          _builder_1.append(_name, "");
+                          _builder_1.append("\", ");
+                          EntityMockObjectEnum _resourceEnum_1 = ((EntityMockObjectResourceValue)attribute).getResourceEnum();
+                          String _name_1 = _resourceEnum_1.getName();
+                          _builder_1.append(_name_1, "");
+                          _builder_1.append("_resource.getAttribute(getAttribute(\"");
+                          EntityMockObjectEnum _resourceEnum_2 = ((EntityMockObjectResourceValue)attribute).getResourceEnum();
+                          String _name_2 = _resourceEnum_2.getName();
+                          _builder_1.append(_name_2, "");
+                          _builder_1.append("\").toString(), \"");
+                          EntityMockResourceAttribute _resourceAttribute = ((EntityMockObjectResourceValue)attribute).getResourceAttribute();
+                          String _name_3 = _resourceAttribute.getName();
+                          _builder_1.append(_name_3, "");
+                          _builder_1.append("\"));");
+                          _builder_1.newLineIfNotEmpty();
+                          it.append(_builder_1);
+                        } else {
+                          StringConcatenation _builder_2 = new StringConcatenation();
+                          _builder_2.append("setFixAttribute(\"");
+                          String _name_4 = ((EntityMockObjectResourceValue)attribute).getName();
+                          _builder_2.append(_name_4, "");
+                          _builder_2.append("\", getAttribute(\"");
+                          EntityMockObjectEnum _resourceEnum_3 = ((EntityMockObjectResourceValue)attribute).getResourceEnum();
+                          String _name_5 = _resourceEnum_3.getName();
+                          _builder_2.append(_name_5, "");
+                          _builder_2.append("\"));");
+                          _builder_2.newLineIfNotEmpty();
+                          it.append(_builder_2);
+                        }
+                      }
+                    }
+                    if (!_matched) {
+                      if (attribute instanceof EntityMockObjectArrayValue) {
+                        _matched=true;
+                        StringConcatenation _builder_1 = new StringConcatenation();
+                        _builder_1.append("generateAttribute(\"");
+                        String _name = ((EntityMockObjectArrayValue)attribute).getName();
+                        _builder_1.append(_name, "");
+                        _builder_1.append("\", \"");
+                        EntityMockObjectEnum _enumeration = ((EntityMockObjectArrayValue)attribute).getEnumeration();
+                        String _name_1 = _enumeration.getName();
+                        _builder_1.append(_name_1, "");
+                        _builder_1.append("\", ");
+                        String _name_2 = ((EntityMockObjectArrayValue)attribute).getName();
+                        _builder_1.append(_name_2, "");
+                        _builder_1.append("_items);");
+                        _builder_1.newLineIfNotEmpty();
+                        it.append(_builder_1);
+                      }
+                    }
+                    if (!_matched) {
+                      if (attribute instanceof EntityMockObjectEmbed) {
+                        _matched=true;
+                        StringConcatenation _builder_1 = new StringConcatenation();
+                        _builder_1.append("generateAttribute(\"");
+                        String _name = ((EntityMockObjectEmbed)attribute).getName();
+                        _builder_1.append(_name, "");
+                        _builder_1.append("\", new ");
+                        EntityMockObject _object = ((EntityMockObjectEmbed)attribute).getObject();
+                        String _entityMockName = EntityMockDSLJvmModelInferrer.this.getEntityMockName(_object);
+                        _builder_1.append(_entityMockName, "");
+                        _builder_1.append("());");
+                        _builder_1.newLineIfNotEmpty();
+                        it.append(_builder_1);
+                      }
+                    }
+                    if (!_matched) {
+                      if (attribute instanceof EntityMockObjectFill) {
+                        _matched=true;
+                        PropertyFillerType type = ((EntityMockObjectFill)attribute).getFillerType();
+                        boolean _matched_1 = false;
+                        if (!_matched_1) {
+                          if (type instanceof PropertyFillerDateFuture) {
+                            _matched_1=true;
+                            StringConcatenation _builder_1 = new StringConcatenation();
+                            _builder_1.append("generateDateAttribute(\"");
+                            String _name = ((EntityMockObjectFill)attribute).getName();
+                            _builder_1.append(_name, "");
+                            _builder_1.append("\", 0 ,");
+                            int _dateFutureYears = ((PropertyFillerDateFuture)type).getDateFutureYears();
+                            _builder_1.append(_dateFutureYears, "");
+                            _builder_1.append(");");
+                            _builder_1.newLineIfNotEmpty();
+                            it.append(_builder_1);
+                          }
+                        }
+                        if (!_matched_1) {
+                          if (type instanceof PropertyFillerDatePast) {
+                            _matched_1=true;
+                            StringConcatenation _builder_1 = new StringConcatenation();
+                            _builder_1.append("generateDateAttribute(\"");
+                            String _name = ((EntityMockObjectFill)attribute).getName();
+                            _builder_1.append(_name, "");
+                            _builder_1.append("\", -");
+                            int _datePastYears = ((PropertyFillerDatePast)type).getDatePastYears();
+                            _builder_1.append(_datePastYears, "");
+                            _builder_1.append(", 0);");
+                            _builder_1.newLineIfNotEmpty();
+                            it.append(_builder_1);
+                          }
+                        }
+                        if (!_matched_1) {
+                          if (type instanceof PropertyFillerDateRange) {
+                            _matched_1=true;
+                            StringConcatenation _builder_1 = new StringConcatenation();
+                            _builder_1.append("generateDateAttribute(\"");
+                            String _name = ((EntityMockObjectFill)attribute).getName();
+                            _builder_1.append(_name, "");
+                            _builder_1.append("\", ");
+                            int _dateBeginYears = ((PropertyFillerDateRange)type).getDateBeginYears();
+                            _builder_1.append(_dateBeginYears, "");
+                            _builder_1.append(", ");
+                            int _dateEndYears = ((PropertyFillerDateRange)type).getDateEndYears();
+                            _builder_1.append(_dateEndYears, "");
+                            _builder_1.append(");");
+                            _builder_1.newLineIfNotEmpty();
+                            it.append(_builder_1);
+                          }
+                        }
+                        if (!_matched_1) {
+                          if (type instanceof PropertyFillerBoolean) {
+                            _matched_1=true;
+                            StringConcatenation _builder_1 = new StringConcatenation();
+                            _builder_1.append("generateBooleanAttribute(\"");
+                            String _name = ((EntityMockObjectFill)attribute).getName();
+                            _builder_1.append(_name, "");
+                            _builder_1.append("\");");
+                            _builder_1.newLineIfNotEmpty();
+                            it.append(_builder_1);
+                          }
+                        }
+                        if (!_matched_1) {
+                          if (type instanceof PropertyFillerSignedDoubleRange) {
+                            _matched_1=true;
+                            StringConcatenation _builder_1 = new StringConcatenation();
+                            double _beginRange = ((PropertyFillerSignedDoubleRange)type).getBeginRange();
+                            _builder_1.append(_beginRange, "");
+                            String beginRange = _builder_1.toString();
+                            StringConcatenation _builder_2 = new StringConcatenation();
+                            double _endRange = ((PropertyFillerSignedDoubleRange)type).getEndRange();
+                            _builder_2.append(_endRange, "");
+                            String endRange = _builder_2.toString();
+                            LEntityAttribute _beginRangeRef = ((PropertyFillerSignedDoubleRange)type).getBeginRangeRef();
+                            boolean _notEquals = (!Objects.equal(_beginRangeRef, null));
+                            if (_notEquals) {
+                              StringConcatenation _builder_3 = new StringConcatenation();
+                              _builder_3.append("get_\"");
+                              LEntityAttribute _beginRangeRef_1 = ((PropertyFillerSignedDoubleRange)type).getBeginRangeRef();
+                              String _name = _beginRangeRef_1.getName();
+                              _builder_3.append(_name, "");
+                              _builder_3.append("\"()");
+                              beginRange = _builder_3.toString();
+                            }
+                            LEntityAttribute _endRangeRef = ((PropertyFillerSignedDoubleRange)type).getEndRangeRef();
+                            boolean _notEquals_1 = (!Objects.equal(_endRangeRef, null));
+                            if (_notEquals_1) {
+                              StringConcatenation _builder_4 = new StringConcatenation();
+                              _builder_4.append("get_\"");
+                              LEntityAttribute _endRangeRef_1 = ((PropertyFillerSignedDoubleRange)type).getEndRangeRef();
+                              String _name_1 = _endRangeRef_1.getName();
+                              _builder_4.append(_name_1, "");
+                              _builder_4.append("\"()");
+                              endRange = _builder_4.toString();
+                            }
+                            StringConcatenation _builder_5 = new StringConcatenation();
+                            _builder_5.append("generateSignedAttribute(\"");
+                            String _name_2 = ((EntityMockObjectFill)attribute).getName();
+                            _builder_5.append(_name_2, "");
+                            _builder_5.append("\", ");
+                            int _decimals = ((PropertyFillerSignedDoubleRange)type).getDecimals();
+                            _builder_5.append(_decimals, "");
+                            _builder_5.append(", ");
+                            _builder_5.append(beginRange, "");
+                            _builder_5.append(", ");
+                            _builder_5.append(endRange, "");
+                            _builder_5.append(", ");
+                            double _rounded = ((PropertyFillerSignedDoubleRange)type).getRounded();
+                            _builder_5.append(_rounded, "");
+                            _builder_5.append(");");
+                            _builder_5.newLineIfNotEmpty();
+                            it.append(_builder_5);
+                          }
+                        }
+                        if (!_matched_1) {
+                          if (type instanceof PropertyFillerSignedDoubleRandom) {
+                            _matched_1=true;
+                            StringConcatenation _builder_1 = new StringConcatenation();
+                            _builder_1.append("generateAttribute(\"");
+                            String _name = ((EntityMockObjectFill)attribute).getName();
+                            _builder_1.append(_name, "");
+                            _builder_1.append("\", ");
+                            String _name_1 = ((EntityMockObjectFill)attribute).getName();
+                            _builder_1.append(_name_1, "");
+                            _builder_1.append("_items);");
+                            _builder_1.newLineIfNotEmpty();
+                            it.append(_builder_1);
+                          }
+                        }
+                        if (!_matched_1) {
+                          if (type instanceof PropertyFillerUnsignedDoubleRange) {
+                            _matched_1=true;
+                            StringConcatenation _builder_1 = new StringConcatenation();
+                            double _beginRange = ((PropertyFillerUnsignedDoubleRange)type).getBeginRange();
+                            _builder_1.append(_beginRange, "");
+                            String beginRange = _builder_1.toString();
+                            StringConcatenation _builder_2 = new StringConcatenation();
+                            double _endRange = ((PropertyFillerUnsignedDoubleRange)type).getEndRange();
+                            _builder_2.append(_endRange, "");
+                            String endRange = _builder_2.toString();
+                            LEntityAttribute _beginRangeRef = ((PropertyFillerUnsignedDoubleRange)type).getBeginRangeRef();
+                            boolean _notEquals = (!Objects.equal(_beginRangeRef, null));
+                            if (_notEquals) {
+                              StringConcatenation _builder_3 = new StringConcatenation();
+                              _builder_3.append("(double)get_\"");
+                              LEntityAttribute _beginRangeRef_1 = ((PropertyFillerUnsignedDoubleRange)type).getBeginRangeRef();
+                              String _name = _beginRangeRef_1.getName();
+                              _builder_3.append(_name, "");
+                              _builder_3.append("\"()");
+                              beginRange = _builder_3.toString();
+                            }
+                            LEntityAttribute _endRangeRef = ((PropertyFillerUnsignedDoubleRange)type).getEndRangeRef();
+                            boolean _notEquals_1 = (!Objects.equal(_endRangeRef, null));
+                            if (_notEquals_1) {
+                              StringConcatenation _builder_4 = new StringConcatenation();
+                              _builder_4.append("(double)get_\"");
+                              LEntityAttribute _endRangeRef_1 = ((PropertyFillerUnsignedDoubleRange)type).getEndRangeRef();
+                              String _name_1 = _endRangeRef_1.getName();
+                              _builder_4.append(_name_1, "");
+                              _builder_4.append("\"()");
+                              endRange = _builder_4.toString();
+                            }
+                            StringConcatenation _builder_5 = new StringConcatenation();
+                            _builder_5.append("generateUnsignedAttribute(\"");
+                            String _name_2 = ((EntityMockObjectFill)attribute).getName();
+                            _builder_5.append(_name_2, "");
+                            _builder_5.append("\", ");
+                            int _decimals = ((PropertyFillerUnsignedDoubleRange)type).getDecimals();
+                            _builder_5.append(_decimals, "");
+                            _builder_5.append(", ");
+                            _builder_5.append(beginRange, "");
+                            _builder_5.append(", ");
+                            _builder_5.append(endRange, "");
+                            _builder_5.append(", ");
+                            double _rounded = ((PropertyFillerUnsignedDoubleRange)type).getRounded();
+                            _builder_5.append(_rounded, "");
+                            _builder_5.append(");");
+                            _builder_5.newLineIfNotEmpty();
+                            it.append(_builder_5);
+                          }
+                        }
+                        if (!_matched_1) {
+                          if (type instanceof PropertyFillerUnsignedDoubleRandom) {
+                            _matched_1=true;
+                            StringConcatenation _builder_1 = new StringConcatenation();
+                            _builder_1.append("generateAttribute(\"");
+                            String _name = ((EntityMockObjectFill)attribute).getName();
+                            _builder_1.append(_name, "");
+                            _builder_1.append("\", ");
+                            String _name_1 = ((EntityMockObjectFill)attribute).getName();
+                            _builder_1.append(_name_1, "");
+                            _builder_1.append("_items);");
+                            _builder_1.newLineIfNotEmpty();
+                            it.append(_builder_1);
+                          }
+                        }
+                        if (!_matched_1) {
+                          if (type instanceof PropertyFillerSignedIntegerRange) {
+                            _matched_1=true;
+                            StringConcatenation _builder_1 = new StringConcatenation();
+                            int _beginRange = ((PropertyFillerSignedIntegerRange)type).getBeginRange();
+                            _builder_1.append(_beginRange, "");
+                            String beginRange = _builder_1.toString();
+                            StringConcatenation _builder_2 = new StringConcatenation();
+                            int _endRange = ((PropertyFillerSignedIntegerRange)type).getEndRange();
+                            _builder_2.append(_endRange, "");
+                            String endRange = _builder_2.toString();
+                            LEntityAttribute _beginRangeRef = ((PropertyFillerSignedIntegerRange)type).getBeginRangeRef();
+                            boolean _notEquals = (!Objects.equal(_beginRangeRef, null));
+                            if (_notEquals) {
+                              StringConcatenation _builder_3 = new StringConcatenation();
+                              _builder_3.append("(int)get_\"");
+                              LEntityAttribute _beginRangeRef_1 = ((PropertyFillerSignedIntegerRange)type).getBeginRangeRef();
+                              String _name = _beginRangeRef_1.getName();
+                              _builder_3.append(_name, "");
+                              _builder_3.append("\"()");
+                              beginRange = _builder_3.toString();
+                            }
+                            LEntityAttribute _endRangeRef = ((PropertyFillerSignedIntegerRange)type).getEndRangeRef();
+                            boolean _notEquals_1 = (!Objects.equal(_endRangeRef, null));
+                            if (_notEquals_1) {
+                              StringConcatenation _builder_4 = new StringConcatenation();
+                              _builder_4.append("(int)get_\"");
+                              LEntityAttribute _endRangeRef_1 = ((PropertyFillerSignedIntegerRange)type).getEndRangeRef();
+                              String _name_1 = _endRangeRef_1.getName();
+                              _builder_4.append(_name_1, "");
+                              _builder_4.append("\"()");
+                              endRange = _builder_4.toString();
+                            }
+                            StringConcatenation _builder_5 = new StringConcatenation();
+                            _builder_5.append("generateSignedAttribute(\"");
+                            String _name_2 = ((EntityMockObjectFill)attribute).getName();
+                            _builder_5.append(_name_2, "");
+                            _builder_5.append("\", ");
+                            _builder_5.append(beginRange, "");
+                            _builder_5.append(", ");
+                            _builder_5.append(endRange, "");
+                            _builder_5.append(", ");
+                            int _rounded = ((PropertyFillerSignedIntegerRange)type).getRounded();
+                            _builder_5.append(_rounded, "");
+                            _builder_5.append(");");
+                            _builder_5.newLineIfNotEmpty();
+                            it.append(_builder_5);
+                          }
+                        }
+                        if (!_matched_1) {
+                          if (type instanceof PropertyFillerSignedIntegerRandom) {
+                            _matched_1=true;
+                            StringConcatenation _builder_1 = new StringConcatenation();
+                            _builder_1.append("generateAttribute(\"");
+                            String _name = ((EntityMockObjectFill)attribute).getName();
+                            _builder_1.append(_name, "");
+                            _builder_1.append("\", ");
+                            String _name_1 = ((EntityMockObjectFill)attribute).getName();
+                            _builder_1.append(_name_1, "");
+                            _builder_1.append("_items);");
+                            _builder_1.newLineIfNotEmpty();
+                            it.append(_builder_1);
+                          }
+                        }
+                        if (!_matched_1) {
+                          if (type instanceof PropertyFillerUnsignedIntegerRange) {
+                            _matched_1=true;
+                            StringConcatenation _builder_1 = new StringConcatenation();
+                            int _beginRange = ((PropertyFillerUnsignedIntegerRange)type).getBeginRange();
+                            _builder_1.append(_beginRange, "");
+                            String beginRange = _builder_1.toString();
+                            StringConcatenation _builder_2 = new StringConcatenation();
+                            int _endRange = ((PropertyFillerUnsignedIntegerRange)type).getEndRange();
+                            _builder_2.append(_endRange, "");
+                            String endRange = _builder_2.toString();
+                            LEntityAttribute _beginRangeRef = ((PropertyFillerUnsignedIntegerRange)type).getBeginRangeRef();
+                            boolean _notEquals = (!Objects.equal(_beginRangeRef, null));
+                            if (_notEquals) {
+                              StringConcatenation _builder_3 = new StringConcatenation();
+                              _builder_3.append("(int)get_\"");
+                              LEntityAttribute _beginRangeRef_1 = ((PropertyFillerUnsignedIntegerRange)type).getBeginRangeRef();
+                              String _name = _beginRangeRef_1.getName();
+                              _builder_3.append(_name, "");
+                              _builder_3.append("\"()");
+                              beginRange = _builder_3.toString();
+                            }
+                            LEntityAttribute _endRangeRef = ((PropertyFillerUnsignedIntegerRange)type).getEndRangeRef();
+                            boolean _notEquals_1 = (!Objects.equal(_endRangeRef, null));
+                            if (_notEquals_1) {
+                              StringConcatenation _builder_4 = new StringConcatenation();
+                              _builder_4.append("(int)get_\"");
+                              LEntityAttribute _endRangeRef_1 = ((PropertyFillerUnsignedIntegerRange)type).getEndRangeRef();
+                              String _name_1 = _endRangeRef_1.getName();
+                              _builder_4.append(_name_1, "");
+                              _builder_4.append("\"()");
+                              endRange = _builder_4.toString();
+                            }
+                            StringConcatenation _builder_5 = new StringConcatenation();
+                            _builder_5.append("generateUnsignedAttribute(\"");
+                            String _name_2 = ((EntityMockObjectFill)attribute).getName();
+                            _builder_5.append(_name_2, "");
+                            _builder_5.append("\", ");
+                            _builder_5.append(beginRange, "");
+                            _builder_5.append(", ");
+                            _builder_5.append(endRange, "");
+                            _builder_5.append(", ");
+                            int _rounded = ((PropertyFillerUnsignedIntegerRange)type).getRounded();
+                            _builder_5.append(_rounded, "");
+                            _builder_5.append(");");
+                            _builder_5.newLineIfNotEmpty();
+                            it.append(_builder_5);
+                          }
+                        }
+                        if (!_matched_1) {
+                          if (type instanceof PropertyFillerUnsignedIntegerRandom) {
+                            _matched_1=true;
+                            StringConcatenation _builder_1 = new StringConcatenation();
+                            _builder_1.append("generateAttribute(\"");
+                            String _name = ((EntityMockObjectFill)attribute).getName();
+                            _builder_1.append(_name, "");
+                            _builder_1.append("\", ");
+                            String _name_1 = ((EntityMockObjectFill)attribute).getName();
+                            _builder_1.append(_name_1, "");
+                            _builder_1.append("_items);");
+                            _builder_1.newLineIfNotEmpty();
+                            it.append(_builder_1);
+                          }
+                        }
+                        if (!_matched_1) {
+                          if (type instanceof PropertyFillerTextRandom) {
+                            _matched_1=true;
+                            StringConcatenation _builder_1 = new StringConcatenation();
+                            _builder_1.append("generateAttribute(\"");
+                            String _name = ((EntityMockObjectFill)attribute).getName();
+                            _builder_1.append(_name, "");
+                            _builder_1.append("\", ");
+                            String _name_1 = ((EntityMockObjectFill)attribute).getName();
+                            _builder_1.append(_name_1, "");
+                            _builder_1.append("_items);");
+                            _builder_1.newLineIfNotEmpty();
+                            it.append(_builder_1);
+                          }
+                        }
+                        if (!_matched_1) {
+                          if (type instanceof PropertyFillerTextParagraphs) {
+                            _matched_1=true;
+                            StringConcatenation _builder_1 = new StringConcatenation();
+                            _builder_1.append("generateParagraphsAttribute(\"");
+                            String _name = ((EntityMockObjectFill)attribute).getName();
+                            _builder_1.append(_name, "");
+                            _builder_1.append("\", ");
+                            int _count = ((PropertyFillerTextParagraphs)type).getCount();
+                            _builder_1.append(_count, "");
+                            _builder_1.append(");");
+                            _builder_1.newLineIfNotEmpty();
+                            it.append(_builder_1);
+                          }
+                        }
+                        if (!_matched_1) {
+                          if (type instanceof PropertyFillerTextSentences) {
+                            _matched_1=true;
+                            StringConcatenation _builder_1 = new StringConcatenation();
+                            _builder_1.append("generateSentencesAttribute(\"");
+                            String _name = ((EntityMockObjectFill)attribute).getName();
+                            _builder_1.append(_name, "");
+                            _builder_1.append("\", ");
+                            int _count = ((PropertyFillerTextSentences)type).getCount();
+                            _builder_1.append(_count, "");
+                            _builder_1.append(");");
+                            _builder_1.newLineIfNotEmpty();
+                            it.append(_builder_1);
+                          }
+                        }
+                        if (!_matched_1) {
+                          if (type instanceof PropertyFillerTextWords) {
+                            _matched_1=true;
+                            StringConcatenation _builder_1 = new StringConcatenation();
+                            _builder_1.append("generateWordsAttribute(\"");
+                            String _name = ((EntityMockObjectFill)attribute).getName();
+                            _builder_1.append(_name, "");
+                            _builder_1.append("\", ");
+                            int _count = ((PropertyFillerTextWords)type).getCount();
+                            _builder_1.append(_count, "");
+                            _builder_1.append(");");
+                            _builder_1.newLineIfNotEmpty();
+                            it.append(_builder_1);
+                          }
+                        }
+                      }
+                    }
+                  }
+                }
+                EList<EntityMockObjectFunction> _calculations = mockObject.getCalculations();
+                for (final EntityMockObjectFunction calculation : _calculations) {
+                  {
+                    String doc = EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.getDocumentation(calculation);
+                    boolean _and = false;
+                    if (!(doc instanceof String)) {
+                      _and = false;
+                    } else {
+                      String _trim = doc.trim();
+                      boolean _isEmpty = _trim.isEmpty();
+                      boolean _not = (!_isEmpty);
+                      _and = _not;
+                    }
+                    if (_and) {
+                      StringConcatenation _builder = new StringConcatenation();
+                      _builder.append("/** ");
+                      _builder.append(doc, "");
+                      _builder.append(" */");
+                      _builder.newLineIfNotEmpty();
+                      it.append(_builder);
+                    }
+                    StringConcatenation _builder_1 = new StringConcatenation();
+                    String paramString = _builder_1.toString();
+                    EList<EntityMockObjectFunctionParameter> _params = calculation.getParams();
+                    for (final EntityMockObjectFunctionParameter param : _params) {
+                      {
+                        boolean _isEmpty_1 = paramString.isEmpty();
+                        boolean _not_1 = (!_isEmpty_1);
+                        if (_not_1) {
+                          StringConcatenation _builder_2 = new StringConcatenation();
+                          _builder_2.append(paramString, "");
+                          _builder_2.append(",");
+                          paramString = _builder_2.toString();
+                        }
+                        JvmTypeReference _parameterType = param.getParameterType();
+                        JvmType _type = _parameterType.getType();
+                        if ((_type instanceof JvmEnumerationType)) {
+                          StringConcatenation _builder_3 = new StringConcatenation();
+                          _builder_3.append(paramString, "");
+                          _builder_3.append(" ");
+                          JvmTypeReference _parameterType_1 = param.getParameterType();
+                          String _identifier = _parameterType_1.getIdentifier();
+                          _builder_3.append(_identifier, "");
+                          _builder_3.append(".valueOf(getAttribute(\"");
+                          IEntityMockObjectUsable _name = param.getName();
+                          String _name_1 = EntityMockDSLJvmModelInferrer.this.getName(_name);
+                          _builder_3.append(_name_1, "");
+                          _builder_3.append("\").toString())");
+                          paramString = _builder_3.toString();
+                        } else {
+                          StringConcatenation _builder_4 = new StringConcatenation();
+                          _builder_4.append(paramString, "");
+                          _builder_4.append("(");
+                          JvmTypeReference _parameterType_2 = param.getParameterType();
+                          String _identifier_1 = _parameterType_2.getIdentifier();
+                          _builder_4.append(_identifier_1, "");
+                          _builder_4.append(")getAttribute(\"");
+                          IEntityMockObjectUsable _name_2 = param.getName();
+                          String _name_3 = EntityMockDSLJvmModelInferrer.this.getName(_name_2);
+                          _builder_4.append(_name_3, "");
+                          _builder_4.append("\")");
+                          paramString = _builder_4.toString();
+                        }
+                      }
+                    }
+                    StringConcatenation _builder_2 = new StringConcatenation();
+                    _builder_2.append("try {");
+                    _builder_2.newLine();
+                    _builder_2.append("\t");
+                    _builder_2.append("setFixAttribute(\"");
+                    String _name = calculation.getName();
+                    _builder_2.append(_name, "\t");
+                    _builder_2.append("\", calculate_");
+                    String _name_1 = calculation.getName();
+                    _builder_2.append(_name_1, "\t");
+                    _builder_2.append("(");
+                    _builder_2.append(paramString, "\t");
+                    _builder_2.append("));");
+                    _builder_2.newLineIfNotEmpty();
+                    _builder_2.append("}");
+                    _builder_2.newLine();
+                    _builder_2.append("catch (NullPointerException npe) {}");
+                    _builder_2.newLine();
+                    _builder_2.append("catch (Exception e) {");
+                    _builder_2.newLine();
+                    _builder_2.append("    ");
+                    _builder_2.append("log.error(e.getLocalizedMessage()+e.getCause());");
+                    _builder_2.newLine();
+                    _builder_2.append("}");
+                    _builder_2.newLine();
+                    it.append(_builder_2);
+                  }
+                }
+              }
+            };
+            EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.setBody(it, _function);
+          }
+        };
+        JvmOperation _method_1 = EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.toMethod(mockObject, _builder_3.toString(), _typeRef_3, _function_3);
+        EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.<JvmOperation>operator_add(_members_3, _method_1);
+      }
+    };
+    acceptor.<JvmGenericType>accept(_class, _function);
+  }
+  
+  public String getName(final IEntityMockObjectUsable attribute) {
+    boolean _matched = false;
+    if (!_matched) {
+      if (attribute instanceof EntityMockObjectFunction) {
+        _matched=true;
+        StringConcatenation _builder = new StringConcatenation();
+        String _name = ((EntityMockObjectFunction)attribute).getName();
+        _builder.append(_name, "");
+        return _builder.toString();
+      }
+    }
+    if (!_matched) {
+      if (attribute instanceof EntityMockObjectEnum) {
+        _matched=true;
+        StringConcatenation _builder = new StringConcatenation();
+        String _name = ((EntityMockObjectEnum)attribute).getName();
+        _builder.append(_name, "");
+        return _builder.toString();
+      }
+    }
+    if (!_matched) {
+      if (attribute instanceof EntityMockObjectPlainValue) {
+        _matched=true;
+        StringConcatenation _builder = new StringConcatenation();
+        String _name = ((EntityMockObjectPlainValue)attribute).getName();
+        _builder.append(_name, "");
+        return _builder.toString();
+      }
+    }
+    if (!_matched) {
+      if (attribute instanceof EntityMockObjectArrayValue) {
+        _matched=true;
+        StringConcatenation _builder = new StringConcatenation();
+        String _name = ((EntityMockObjectArrayValue)attribute).getName();
+        _builder.append(_name, "");
+        return _builder.toString();
+      }
+    }
+    if (!_matched) {
+      if (attribute instanceof EntityMockObjectEmbed) {
+        _matched=true;
+        StringConcatenation _builder = new StringConcatenation();
+        String _name = ((EntityMockObjectEmbed)attribute).getName();
+        _builder.append(_name, "");
+        return _builder.toString();
+      }
+    }
+    if (!_matched) {
+      if (attribute instanceof EntityMockObjectFill) {
+        _matched=true;
+        StringConcatenation _builder = new StringConcatenation();
+        String _name = ((EntityMockObjectFill)attribute).getName();
+        _builder.append(_name, "");
+        return _builder.toString();
+      }
+    }
+    if (!_matched) {
+      if (attribute instanceof EntityMockObjectResourceValue) {
+        _matched=true;
+        StringConcatenation _builder = new StringConcatenation();
+        String _name = ((EntityMockObjectResourceValue)attribute).getName();
+        _builder.append(_name, "");
+        return _builder.toString();
+      }
+    }
+    return null;
+  }
+  
+  /**
+   * generate a mock entity class
+   */
+  public void generateMockEntity(final EntityMockModel model, final IJvmDeclaredTypeAcceptor acceptor, final EntityMockPackage pckg, final EntityMockEntity mockEntity) {
+    StringConcatenation _builder = new StringConcatenation();
+    String _entityMockName = EntityMockDSLJvmModelInferrer.getEntityMockName(pckg);
+    _builder.append(_entityMockName, "");
+    _builder.append(".");
+    String _entityMockName_1 = this.getEntityMockName(mockEntity);
+    _builder.append(_entityMockName_1, "");
+    JvmGenericType _class = this._jvmTypesBuilder.toClass(model, _builder.toString());
+    final Procedure1<JvmGenericType> _function = new Procedure1<JvmGenericType>() {
+      public void apply(final JvmGenericType it) {
+        EList<JvmTypeReference> _superTypes = it.getSuperTypes();
+        JvmTypeReference _typeRef = EntityMockDSLJvmModelInferrer.this._typeReferenceBuilder.typeRef(ABaseMockEntity.class);
+        EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.<JvmTypeReference>operator_add(_superTypes, _typeRef);
+        StringConcatenation _builder = new StringConcatenation();
+        _builder.append("<b>This class was auto generated! Leave it unmodified to avoid unpredictable results!</b><br>");
+        _builder.newLine();
+        String _documentation = EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.getDocumentation(mockEntity);
+        _builder.append(_documentation, "");
+        _builder.newLineIfNotEmpty();
+        EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.setDocumentation(it, _builder.toString());
+        it.setFinal(true);
+        JvmField field = null;
+        JvmTypeReference _typeRef_1 = EntityMockDSLJvmModelInferrer.this._typeReferenceBuilder.typeRef(Logger.class);
+        final Procedure1<JvmField> _function = new Procedure1<JvmField>() {
+          public void apply(final JvmField it) {
+            final Procedure1<ITreeAppendable> _function = new Procedure1<ITreeAppendable>() {
+              public void apply(final ITreeAppendable it) {
+                StringConcatenation _builder = new StringConcatenation();
+                _builder.append("LoggerFactory.getLogger(");
+                String _entityMockName = EntityMockDSLJvmModelInferrer.getEntityMockName(pckg);
+                _builder.append(_entityMockName, "");
+                _builder.append(".");
+                String _entityMockName_1 = EntityMockDSLJvmModelInferrer.this.getEntityMockName(mockEntity);
+                _builder.append(_entityMockName_1, "");
+                _builder.append(".class)");
+                it.append(_builder);
+              }
+            };
+            EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.setInitializer(it, _function);
+          }
+        };
+        JvmField _field = EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.toField(model, "log", _typeRef_1, _function);
+        field = _field;
+        field.setFinal(true);
+        field.setStatic(true);
+        EList<JvmMember> _members = it.getMembers();
+        EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.<JvmField>operator_add(_members, field);
+        EntityMockResource _byResource = mockEntity.getByResource();
+        boolean _notEquals = (!Objects.equal(_byResource, null));
+        if (_notEquals) {
+          EList<JvmMember> _members_1 = it.getMembers();
+          StringConcatenation _builder_1 = new StringConcatenation();
+          EntityMockResource _byResource_1 = mockEntity.getByResource();
+          String _name = _byResource_1.getName();
+          _builder_1.append(_name, "");
+          _builder_1.append("_resource");
+          JvmTypeReference _typeRef_2 = EntityMockDSLJvmModelInferrer.this._typeReferenceBuilder.typeRef(ABaseMockResource.class);
+          final Procedure1<JvmField> _function_1 = new Procedure1<JvmField>() {
+            public void apply(final JvmField it) {
+              final Procedure1<ITreeAppendable> _function = new Procedure1<ITreeAppendable>() {
+                public void apply(final ITreeAppendable it) {
+                  StringConcatenation _builder = new StringConcatenation();
+                  _builder.append("new ");
+                  EntityMockResource _byResource = mockEntity.getByResource();
+                  String _entityMockName = EntityMockDSLJvmModelInferrer.this.getEntityMockName(_byResource);
+                  _builder.append(_entityMockName, "");
+                  _builder.append("()");
+                  it.append(_builder);
+                }
+              };
+              EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.setInitializer(it, _function);
+              EntityMockResource _byResource = mockEntity.getByResource();
+              String _documentation = EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.getDocumentation(_byResource);
+              EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.setDocumentation(it, _documentation);
+              it.setVisibility(JvmVisibility.PRIVATE);
+              it.setStatic(true);
+            }
+          };
+          JvmField _field_1 = EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.toField(pckg, _builder_1.toString(), _typeRef_2, _function_1);
+          EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.<JvmField>operator_add(_members_1, _field_1);
+        }
+        EList<JvmMember> _members_2 = it.getMembers();
+        final Procedure1<JvmConstructor> _function_2 = new Procedure1<JvmConstructor>() {
+          public void apply(final JvmConstructor it) {
+            EList<JvmFormalParameter> _parameters = it.getParameters();
+            JvmTypeReference _typeRef = EntityMockDSLJvmModelInferrer.this._typeReferenceBuilder.typeRef(AEntityMockDataGenerator.class);
+            JvmFormalParameter _parameter = EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.toParameter(mockEntity, "mockDataGenerator", _typeRef);
+            EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters, _parameter);
+            final Procedure1<ITreeAppendable> _function = new Procedure1<ITreeAppendable>() {
+              public void apply(final ITreeAppendable it) {
+                StringConcatenation _builder = new StringConcatenation();
+                _builder.append("super(mockDataGenerator, \"");
+                LEntity _entityRef = mockEntity.getEntityRef();
+                String _persistenceUnit = _entityRef.getPersistenceUnit();
+                _builder.append(_persistenceUnit, "");
+                _builder.append("\");");
+                it.append(_builder);
+              }
+            };
+            EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.setBody(it, _function);
+          }
+        };
+        JvmConstructor _constructor = EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.toConstructor(pckg, _function_2);
+        EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.<JvmConstructor>operator_add(_members_2, _constructor);
+        EList<EntityMockTemporary> _temporaries = mockEntity.getTemporaries();
+        for (final EntityMockTemporary temporary : _temporaries) {
+          EList<JvmMember> _members_3 = it.getMembers();
+          StringConcatenation _builder_2 = new StringConcatenation();
+          String _name_1 = temporary.getName();
+          _builder_2.append(_name_1, "");
+          _builder_2.append("_temporary");
+          JvmTypeReference _typeRef_3 = EntityMockDSLJvmModelInferrer.this._typeReferenceBuilder.typeRef(ABaseMockObject.class);
+          final Procedure1<JvmField> _function_3 = new Procedure1<JvmField>() {
+            public void apply(final JvmField it) {
+              final Procedure1<ITreeAppendable> _function = new Procedure1<ITreeAppendable>() {
+                public void apply(final ITreeAppendable it) {
+                  StringConcatenation _builder = new StringConcatenation();
+                  _builder.append("new ");
+                  String _entityMockName = EntityMockDSLJvmModelInferrer.this.getEntityMockName(temporary);
+                  _builder.append(_entityMockName, "");
+                  _builder.append("()");
+                  it.append(_builder);
+                }
+              };
+              EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.setInitializer(it, _function);
+              String _documentation = EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.getDocumentation(temporary);
+              EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.setDocumentation(it, _documentation);
+              it.setVisibility(JvmVisibility.PRIVATE);
+              it.setStatic(true);
+            }
+          };
+          JvmField _field_2 = EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.toField(pckg, _builder_2.toString(), _typeRef_3, _function_3);
+          EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.<JvmField>operator_add(_members_3, _field_2);
+        }
+        EList<IEntityMockAttribute> _attributes = mockEntity.getAttributes();
+        for (final IEntityMockAttribute attribute : _attributes) {
+          boolean _matched = false;
+          if (!_matched) {
+            if (attribute instanceof EntityMockAttributeByObject) {
+              _matched=true;
+            }
+          }
+          if (!_matched) {
+            if (attribute instanceof EntityMockAttributeFiller) {
+              _matched=true;
+              PropertyFillerType type = ((EntityMockAttributeFiller)attribute).getFillerType();
+              boolean _matched_1 = false;
+              if (!_matched_1) {
+                if (type instanceof PropertyFillerTextRandom) {
+                  _matched_1=true;
+                  final List<String> items = new ArrayList<String>();
+                  EList<String> _items = ((PropertyFillerTextRandom)type).getItems();
+                  for (final String item : _items) {
+                    StringConcatenation _builder_3 = new StringConcatenation();
+                    _builder_3.append("\"");
+                    _builder_3.append(item, "");
+                    _builder_3.append("\"");
+                    items.add(_builder_3.toString());
+                  }
+                  EList<JvmMember> _members_4 = it.getMembers();
+                  StringConcatenation _builder_4 = new StringConcatenation();
+                  LEntityAttribute _attributeRef = ((EntityMockAttributeFiller)attribute).getAttributeRef();
+                  String _name_2 = _attributeRef.getName();
+                  _builder_4.append(_name_2, "");
+                  _builder_4.append("_items");
+                  JvmTypeReference _typeRef_4 = EntityMockDSLJvmModelInferrer.this._typeReferenceBuilder.typeRef(Object[].class);
+                  final Procedure1<JvmField> _function_4 = new Procedure1<JvmField>() {
+                    public void apply(final JvmField it) {
+                      final Procedure1<ITreeAppendable> _function = new Procedure1<ITreeAppendable>() {
+                        public void apply(final ITreeAppendable it) {
+                          StringConcatenation _builder = new StringConcatenation();
+                          _builder.append("{");
+                          String _join = StringUtils.join(items, ",");
+                          _builder.append(_join, "");
+                          _builder.append("}");
+                          it.append(_builder);
+                        }
+                      };
+                      EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.setInitializer(it, _function);
+                      String _documentation = EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.getDocumentation(attribute);
+                      EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.setDocumentation(it, _documentation);
+                      it.setVisibility(JvmVisibility.PRIVATE);
+                      it.setStatic(true);
+                    }
+                  };
+                  JvmField _field_3 = EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.toField(pckg, _builder_4.toString(), _typeRef_4, _function_4);
+                  EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.<JvmField>operator_add(_members_4, _field_3);
+                }
+              }
+              if (!_matched_1) {
+                if (type instanceof PropertyFillerSignedDoubleRandom) {
+                  _matched_1=true;
+                  final List<String> items = new ArrayList<String>();
+                  EList<Double> _items = ((PropertyFillerSignedDoubleRandom)type).getItems();
+                  for (final Double item : _items) {
+                    StringConcatenation _builder_3 = new StringConcatenation();
+                    _builder_3.append(item, "");
+                    items.add(_builder_3.toString());
+                  }
+                  EList<JvmMember> _members_4 = it.getMembers();
+                  StringConcatenation _builder_4 = new StringConcatenation();
+                  LEntityAttribute _attributeRef = ((EntityMockAttributeFiller)attribute).getAttributeRef();
+                  String _name_2 = _attributeRef.getName();
+                  _builder_4.append(_name_2, "");
+                  _builder_4.append("_items");
+                  JvmTypeReference _typeRef_4 = EntityMockDSLJvmModelInferrer.this._typeReferenceBuilder.typeRef(double[].class);
+                  final Procedure1<JvmField> _function_4 = new Procedure1<JvmField>() {
+                    public void apply(final JvmField it) {
+                      final Procedure1<ITreeAppendable> _function = new Procedure1<ITreeAppendable>() {
+                        public void apply(final ITreeAppendable it) {
+                          StringConcatenation _builder = new StringConcatenation();
+                          _builder.append("{");
+                          String _join = StringUtils.join(items, ",");
+                          _builder.append(_join, "");
+                          _builder.append("}");
+                          it.append(_builder);
+                        }
+                      };
+                      EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.setInitializer(it, _function);
+                      String _documentation = EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.getDocumentation(attribute);
+                      EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.setDocumentation(it, _documentation);
+                      it.setVisibility(JvmVisibility.PRIVATE);
+                      it.setStatic(true);
+                    }
+                  };
+                  JvmField _field_3 = EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.toField(pckg, _builder_4.toString(), _typeRef_4, _function_4);
+                  EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.<JvmField>operator_add(_members_4, _field_3);
+                }
+              }
+              if (!_matched_1) {
+                if (type instanceof PropertyFillerUnsignedDoubleRandom) {
+                  _matched_1=true;
+                  final List<String> items = new ArrayList<String>();
+                  EList<Double> _items = ((PropertyFillerUnsignedDoubleRandom)type).getItems();
+                  for (final Double item : _items) {
+                    StringConcatenation _builder_3 = new StringConcatenation();
+                    _builder_3.append(item, "");
+                    items.add(_builder_3.toString());
+                  }
+                  EList<JvmMember> _members_4 = it.getMembers();
+                  StringConcatenation _builder_4 = new StringConcatenation();
+                  LEntityAttribute _attributeRef = ((EntityMockAttributeFiller)attribute).getAttributeRef();
+                  String _name_2 = _attributeRef.getName();
+                  _builder_4.append(_name_2, "");
+                  _builder_4.append("_items");
+                  JvmTypeReference _typeRef_4 = EntityMockDSLJvmModelInferrer.this._typeReferenceBuilder.typeRef(double[].class);
+                  final Procedure1<JvmField> _function_4 = new Procedure1<JvmField>() {
+                    public void apply(final JvmField it) {
+                      final Procedure1<ITreeAppendable> _function = new Procedure1<ITreeAppendable>() {
+                        public void apply(final ITreeAppendable it) {
+                          StringConcatenation _builder = new StringConcatenation();
+                          _builder.append("{");
+                          String _join = StringUtils.join(items, ",");
+                          _builder.append(_join, "");
+                          _builder.append("}");
+                          it.append(_builder);
+                        }
+                      };
+                      EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.setInitializer(it, _function);
+                      String _documentation = EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.getDocumentation(attribute);
+                      EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.setDocumentation(it, _documentation);
+                      it.setVisibility(JvmVisibility.PRIVATE);
+                      it.setStatic(true);
+                    }
+                  };
+                  JvmField _field_3 = EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.toField(pckg, _builder_4.toString(), _typeRef_4, _function_4);
+                  EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.<JvmField>operator_add(_members_4, _field_3);
+                }
+              }
+              if (!_matched_1) {
+                if (type instanceof PropertyFillerSignedIntegerRandom) {
+                  _matched_1=true;
+                  final List<String> items = new ArrayList<String>();
+                  EList<Integer> _items = ((PropertyFillerSignedIntegerRandom)type).getItems();
+                  for (final Integer item : _items) {
+                    StringConcatenation _builder_3 = new StringConcatenation();
+                    _builder_3.append(item, "");
+                    items.add(_builder_3.toString());
+                  }
+                  EList<JvmMember> _members_4 = it.getMembers();
+                  StringConcatenation _builder_4 = new StringConcatenation();
+                  LEntityAttribute _attributeRef = ((EntityMockAttributeFiller)attribute).getAttributeRef();
+                  String _name_2 = _attributeRef.getName();
+                  _builder_4.append(_name_2, "");
+                  _builder_4.append("_items");
+                  JvmTypeReference _typeRef_4 = EntityMockDSLJvmModelInferrer.this._typeReferenceBuilder.typeRef(int[].class);
+                  final Procedure1<JvmField> _function_4 = new Procedure1<JvmField>() {
+                    public void apply(final JvmField it) {
+                      final Procedure1<ITreeAppendable> _function = new Procedure1<ITreeAppendable>() {
+                        public void apply(final ITreeAppendable it) {
+                          StringConcatenation _builder = new StringConcatenation();
+                          _builder.append("{");
+                          String _join = StringUtils.join(items, ",");
+                          _builder.append(_join, "");
+                          _builder.append("}");
+                          it.append(_builder);
+                        }
+                      };
+                      EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.setInitializer(it, _function);
+                      String _documentation = EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.getDocumentation(attribute);
+                      EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.setDocumentation(it, _documentation);
+                      it.setVisibility(JvmVisibility.PRIVATE);
+                      it.setStatic(true);
+                    }
+                  };
+                  JvmField _field_3 = EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.toField(pckg, _builder_4.toString(), _typeRef_4, _function_4);
+                  EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.<JvmField>operator_add(_members_4, _field_3);
+                }
+              }
+              if (!_matched_1) {
+                if (type instanceof PropertyFillerUnsignedIntegerRandom) {
+                  _matched_1=true;
+                  final List<String> items = new ArrayList<String>();
+                  EList<Integer> _items = ((PropertyFillerUnsignedIntegerRandom)type).getItems();
+                  for (final Integer item : _items) {
+                    StringConcatenation _builder_3 = new StringConcatenation();
+                    _builder_3.append(item, "");
+                    items.add(_builder_3.toString());
+                  }
+                  EList<JvmMember> _members_4 = it.getMembers();
+                  StringConcatenation _builder_4 = new StringConcatenation();
+                  LEntityAttribute _attributeRef = ((EntityMockAttributeFiller)attribute).getAttributeRef();
+                  String _name_2 = _attributeRef.getName();
+                  _builder_4.append(_name_2, "");
+                  _builder_4.append("_items");
+                  JvmTypeReference _typeRef_4 = EntityMockDSLJvmModelInferrer.this._typeReferenceBuilder.typeRef(int[].class);
+                  final Procedure1<JvmField> _function_4 = new Procedure1<JvmField>() {
+                    public void apply(final JvmField it) {
+                      final Procedure1<ITreeAppendable> _function = new Procedure1<ITreeAppendable>() {
+                        public void apply(final ITreeAppendable it) {
+                          StringConcatenation _builder = new StringConcatenation();
+                          _builder.append("{");
+                          String _join = StringUtils.join(items, ",");
+                          _builder.append(_join, "");
+                          _builder.append("}");
+                          it.append(_builder);
+                        }
+                      };
+                      EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.setInitializer(it, _function);
+                      String _documentation = EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.getDocumentation(attribute);
+                      EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.setDocumentation(it, _documentation);
+                      it.setVisibility(JvmVisibility.PRIVATE);
+                      it.setStatic(true);
+                    }
+                  };
+                  JvmField _field_3 = EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.toField(pckg, _builder_4.toString(), _typeRef_4, _function_4);
+                  EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.<JvmField>operator_add(_members_4, _field_3);
+                }
+              }
+            }
+          }
+          if (!_matched) {
+            if (attribute instanceof EntityMockAttributeByReference) {
+              _matched=true;
+            }
+          }
+        }
+        EntityMockResource _byResource_2 = mockEntity.getByResource();
+        boolean _notEquals_1 = (!Objects.equal(_byResource_2, null));
+        if (_notEquals_1) {
+          EList<JvmMember> _members_4 = it.getMembers();
+          StringConcatenation _builder_3 = new StringConcatenation();
+          _builder_3.append("getDataRows");
+          JvmTypeReference _typeRef_4 = EntityMockDSLJvmModelInferrer.this._typeReferenceBuilder.typeRef(Set.class);
+          final Procedure1<JvmOperation> _function_4 = new Procedure1<JvmOperation>() {
+            public void apply(final JvmOperation it) {
+              it.setVisibility(JvmVisibility.PUBLIC);
+              it.setFinal(true);
+              final Procedure1<ITreeAppendable> _function = new Procedure1<ITreeAppendable>() {
+                public void apply(final ITreeAppendable it) {
+                  StringConcatenation _builder = new StringConcatenation();
+                  _builder.append("return ");
+                  EntityMockResource _byResource = mockEntity.getByResource();
+                  String _name = _byResource.getName();
+                  _builder.append(_name, "");
+                  _builder.append("_resource.getDataRows();");
+                  it.append(_builder);
+                }
+              };
+              EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.setBody(it, _function);
+            }
+          };
+          JvmOperation _method = EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.toMethod(pckg, _builder_3.toString(), _typeRef_4, _function_4);
+          EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.<JvmOperation>operator_add(_members_4, _method);
+          EList<JvmMember> _members_5 = it.getMembers();
+          StringConcatenation _builder_4 = new StringConcatenation();
+          _builder_4.append("generateEntity");
+          JvmTypeReference _typeRef_5 = EntityMockDSLJvmModelInferrer.this._typeReferenceBuilder.typeRef(Object.class);
+          final Procedure1<JvmOperation> _function_5 = new Procedure1<JvmOperation>() {
+            public void apply(final JvmOperation it) {
+              it.setVisibility(JvmVisibility.PUBLIC);
+              EList<JvmFormalParameter> _parameters = it.getParameters();
+              JvmTypeReference _typeRef = EntityMockDSLJvmModelInferrer.this._typeReferenceBuilder.typeRef(Object.class);
+              JvmFormalParameter _parameter = EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.toParameter(pckg, "dataRow", _typeRef);
+              EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters, _parameter);
+              it.setFinal(true);
+              final Procedure1<ITreeAppendable> _function = new Procedure1<ITreeAppendable>() {
+                public void apply(final ITreeAppendable it) {
+                  StringConcatenation _builder = new StringConcatenation();
+                  _builder.append("reset();");
+                  _builder.newLine();
+                  String _entityDtoFQN = EntityMockDSLJvmModelInferrer.this.getEntityDtoFQN(mockEntity);
+                  _builder.append(_entityDtoFQN, "");
+                  _builder.append(" internal = new ");
+                  String _entityDtoFQN_1 = EntityMockDSLJvmModelInferrer.this.getEntityDtoFQN(mockEntity);
+                  _builder.append(_entityDtoFQN_1, "");
+                  _builder.append("();");
+                  _builder.newLineIfNotEmpty();
+                  _builder.append("entity = internal;");
+                  _builder.newLine();
+                  _builder.append("generateData();");
+                  _builder.newLine();
+                  _builder.append("try {");
+                  _builder.newLine();
+                  it.append(_builder);
+                  EList<EntityMockByResourceAttribute> _byResourceAttributes = mockEntity.getByResourceAttributes();
+                  for (final EntityMockByResourceAttribute attribute : _byResourceAttributes) {
+                    StringConcatenation _builder_1 = new StringConcatenation();
+                    _builder_1.append("internal.set");
+                    LEntityAttribute _attributeRef = attribute.getAttributeRef();
+                    String _name = _attributeRef.getName();
+                    String _capitalize = WordUtils.capitalize(_name);
+                    _builder_1.append(_capitalize, "");
+                    _builder_1.append("(");
+                    LEntityAttribute _attributeRef_1 = attribute.getAttributeRef();
+                    StringConcatenation _builder_2 = new StringConcatenation();
+                    EntityMockResource _byResource = mockEntity.getByResource();
+                    String _name_1 = _byResource.getName();
+                    _builder_2.append(_name_1, "");
+                    _builder_2.append("_resource.getAttribute(dataRow.toString(), \"");
+                    EntityMockResourceAttribute _resourceAttribute = attribute.getResourceAttribute();
+                    String _name_2 = _resourceAttribute.getName();
+                    _builder_2.append(_name_2, "");
+                    _builder_2.append("\")");
+                    String _baseMockDataTypeCasting = EntityMockDSLJvmModelInferrer.this.baseMockDataTypeCasting(_attributeRef_1, _builder_2.toString());
+                    _builder_1.append(_baseMockDataTypeCasting, "");
+                    _builder_1.append(");");
+                    _builder_1.newLineIfNotEmpty();
+                    it.append(_builder_1);
+                  }
+                  StringConcatenation _builder_3 = new StringConcatenation();
+                  _builder_3.append("}");
+                  _builder_3.newLine();
+                  _builder_3.append("catch (Exception e) {");
+                  _builder_3.newLine();
+                  _builder_3.append("    ");
+                  _builder_3.append("log.error(e.getLocalizedMessage()+e.getCause());");
+                  _builder_3.newLine();
+                  _builder_3.append("}");
+                  _builder_3.newLine();
+                  _builder_3.append("return entity;");
+                  it.append(_builder_3);
+                }
+              };
+              EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.setBody(it, _function);
+            }
+          };
+          JvmOperation _method_1 = EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.toMethod(pckg, _builder_4.toString(), _typeRef_5, _function_5);
+          EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.<JvmOperation>operator_add(_members_5, _method_1);
+        }
+        EList<EntityMockEntityFunction> _calculations = mockEntity.getCalculations();
+        for (final EntityMockEntityFunction calculation : _calculations) {
+          EList<JvmMember> _members_6 = it.getMembers();
+          StringConcatenation _builder_5 = new StringConcatenation();
+          _builder_5.append("calculate_");
+          LEntityAttribute _attributeRef = calculation.getAttributeRef();
+          String _name_2 = _attributeRef.getName();
+          _builder_5.append(_name_2, "");
+          LEntityAttribute _attributeRef_1 = calculation.getAttributeRef();
+          JvmTypeReference _jvmTypeRef = EntityMockDSLJvmModelInferrer.this.jvmTypeRef(_attributeRef_1);
+          final Procedure1<JvmOperation> _function_6 = new Procedure1<JvmOperation>() {
+            public void apply(final JvmOperation it) {
+              it.setVisibility(JvmVisibility.PROTECTED);
+              EList<EntityMockEntityFunctionParameter> _params = calculation.getParams();
+              for (final EntityMockEntityFunctionParameter param : _params) {
+                EList<JvmFormalParameter> _parameters = it.getParameters();
+                String _paramName = EntityMockDSLJvmModelInferrer.this.getParamName(param, "__");
+                JvmTypeReference _jvmType = EntityMockDSLJvmModelInferrer.this.getJvmType(param);
+                JvmFormalParameter _parameter = EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.toParameter(param, _paramName, _jvmType);
+                EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters, _parameter);
+              }
+              it.setFinal(true);
+              XExpression _body = calculation.getBody();
+              EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.setBody(it, _body);
+            }
+          };
+          JvmOperation _method_2 = EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.toMethod(pckg, _builder_5.toString(), _jvmTypeRef, _function_6);
+          EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.<JvmOperation>operator_add(_members_6, _method_2);
+        }
+        EList<JvmMember> _members_7 = it.getMembers();
+        StringConcatenation _builder_6 = new StringConcatenation();
+        _builder_6.append("generateDataRow");
+        JvmTypeReference _typeRef_6 = EntityMockDSLJvmModelInferrer.this._typeReferenceBuilder.typeRef(Void.TYPE);
+        final Procedure1<JvmOperation> _function_7 = new Procedure1<JvmOperation>() {
+          public void apply(final JvmOperation it) {
+            it.setVisibility(JvmVisibility.PROTECTED);
+            it.setFinal(true);
+            final Procedure1<ITreeAppendable> _function = new Procedure1<ITreeAppendable>() {
+              public void apply(final ITreeAppendable it) {
+                EList<EntityMockTemporary> _temporaries = mockEntity.getTemporaries();
+                for (final EntityMockTemporary temporary : _temporaries) {
+                  StringConcatenation _builder = new StringConcatenation();
+                  _builder.append("generateAttribute(\"");
+                  String _name = temporary.getName();
+                  _builder.append(_name, "");
+                  _builder.append("\", ");
+                  String _name_1 = temporary.getName();
+                  _builder.append(_name_1, "");
+                  _builder.append("_temporary);");
+                  _builder.newLineIfNotEmpty();
+                  it.append(_builder);
+                }
+                EList<IEntityMockAttribute> _attributes = mockEntity.getAttributes();
+                for (final IEntityMockAttribute attribute : _attributes) {
+                  boolean _matched = false;
+                  if (!_matched) {
+                    if (attribute instanceof EntityMockAttributeByObject) {
+                      _matched=true;
+                      EntityMockReferencedObjectAttribute _reference = ((EntityMockAttributeByObject)attribute).getReference();
+                      EntityMockTemporary _temporary = _reference.getTemporary();
+                      String sourceKey = _temporary.getName();
+                      EntityMockReferencedObjectAttribute _reference_1 = ((EntityMockAttributeByObject)attribute).getReference();
+                      EList<EntityMockObjectEmbed> _embedded = _reference_1.getEmbedded();
+                      for (final EntityMockObjectEmbed embed : _embedded) {
+                        StringConcatenation _builder_1 = new StringConcatenation();
+                        _builder_1.append(sourceKey, "");
+                        _builder_1.append(".");
+                        String _name_2 = embed.getName();
+                        _builder_1.append(_name_2, "");
+                        sourceKey = _builder_1.toString();
+                      }
+                      EntityMockReferencedObjectAttribute _reference_2 = ((EntityMockAttributeByObject)attribute).getReference();
+                      final IEntityMockObjectUsable refAttribute = _reference_2.getAttribute();
+                      if ((refAttribute instanceof EntityMockObjectEnum)) {
+                        StringConcatenation _builder_2 = new StringConcatenation();
+                        _builder_2.append(sourceKey, "");
+                        _builder_2.append(".");
+                        String _name_3 = ((EntityMockObjectEnum) refAttribute).getName();
+                        _builder_2.append(_name_3, "");
+                        sourceKey = _builder_2.toString();
+                      }
+                      if ((refAttribute instanceof EntityMockObjectPlainValue)) {
+                        StringConcatenation _builder_3 = new StringConcatenation();
+                        _builder_3.append(sourceKey, "");
+                        _builder_3.append(".");
+                        String _name_4 = ((EntityMockObjectPlainValue) refAttribute).getName();
+                        _builder_3.append(_name_4, "");
+                        sourceKey = _builder_3.toString();
+                      }
+                      if ((refAttribute instanceof EntityMockObjectResourceValue)) {
+                        StringConcatenation _builder_4 = new StringConcatenation();
+                        _builder_4.append(sourceKey, "");
+                        _builder_4.append(".");
+                        String _name_5 = ((EntityMockObjectResourceValue) refAttribute).getName();
+                        _builder_4.append(_name_5, "");
+                        sourceKey = _builder_4.toString();
+                      }
+                      if ((refAttribute instanceof EntityMockObjectArrayValue)) {
+                        StringConcatenation _builder_5 = new StringConcatenation();
+                        _builder_5.append(sourceKey, "");
+                        _builder_5.append(".");
+                        String _name_6 = ((EntityMockObjectArrayValue) refAttribute).getName();
+                        _builder_5.append(_name_6, "");
+                        sourceKey = _builder_5.toString();
+                      }
+                      if ((refAttribute instanceof EntityMockObjectEmbed)) {
+                        StringConcatenation _builder_6 = new StringConcatenation();
+                        _builder_6.append(sourceKey, "");
+                        _builder_6.append(".");
+                        String _name_7 = ((EntityMockObjectEmbed) refAttribute).getName();
+                        _builder_6.append(_name_7, "");
+                        sourceKey = _builder_6.toString();
+                      }
+                      if ((refAttribute instanceof EntityMockObjectFill)) {
+                        StringConcatenation _builder_7 = new StringConcatenation();
+                        _builder_7.append(sourceKey, "");
+                        _builder_7.append(".");
+                        String _name_8 = ((EntityMockObjectFill) refAttribute).getName();
+                        _builder_7.append(_name_8, "");
+                        sourceKey = _builder_7.toString();
+                      }
+                      if ((refAttribute instanceof EntityMockObjectFunction)) {
+                        StringConcatenation _builder_8 = new StringConcatenation();
+                        _builder_8.append(sourceKey, "");
+                        _builder_8.append(".");
+                        String _name_9 = ((EntityMockObjectFunction) refAttribute).getName();
+                        _builder_8.append(_name_9, "");
+                        sourceKey = _builder_8.toString();
+                      }
+                      StringConcatenation _builder_9 = new StringConcatenation();
+                      _builder_9.append("generateAttribute(\"");
+                      LEntityAttribute _attributeRef = ((EntityMockAttributeByObject)attribute).getAttributeRef();
+                      String _name_10 = _attributeRef.getName();
+                      _builder_9.append(_name_10, "");
+                      _builder_9.append("\", \"");
+                      _builder_9.append(sourceKey, "");
+                      _builder_9.append("\");");
+                      _builder_9.newLineIfNotEmpty();
+                      it.append(_builder_9);
+                    }
+                  }
+                  if (!_matched) {
+                    if (attribute instanceof EntityMockAttributeFiller) {
+                      _matched=true;
+                      PropertyFillerType type = ((EntityMockAttributeFiller)attribute).getFillerType();
+                      boolean _matched_1 = false;
+                      if (!_matched_1) {
+                        if (type instanceof PropertyFillerDateFuture) {
+                          _matched_1=true;
+                          StringConcatenation _builder_1 = new StringConcatenation();
+                          _builder_1.append("generateDateAttribute(\"");
+                          LEntityAttribute _attributeRef = ((EntityMockAttributeFiller)attribute).getAttributeRef();
+                          String _name_2 = _attributeRef.getName();
+                          _builder_1.append(_name_2, "");
+                          _builder_1.append("\", 0 ,");
+                          int _dateFutureYears = ((PropertyFillerDateFuture)type).getDateFutureYears();
+                          _builder_1.append(_dateFutureYears, "");
+                          _builder_1.append(");");
+                          _builder_1.newLineIfNotEmpty();
+                          it.append(_builder_1);
+                        }
+                      }
+                      if (!_matched_1) {
+                        if (type instanceof PropertyFillerDatePast) {
+                          _matched_1=true;
+                          StringConcatenation _builder_1 = new StringConcatenation();
+                          _builder_1.append("generateDateAttribute(\"");
+                          LEntityAttribute _attributeRef = ((EntityMockAttributeFiller)attribute).getAttributeRef();
+                          String _name_2 = _attributeRef.getName();
+                          _builder_1.append(_name_2, "");
+                          _builder_1.append("\", -");
+                          int _datePastYears = ((PropertyFillerDatePast)type).getDatePastYears();
+                          _builder_1.append(_datePastYears, "");
+                          _builder_1.append(", 0);");
+                          _builder_1.newLineIfNotEmpty();
+                          it.append(_builder_1);
+                        }
+                      }
+                      if (!_matched_1) {
+                        if (type instanceof PropertyFillerDateRange) {
+                          _matched_1=true;
+                          StringConcatenation _builder_1 = new StringConcatenation();
+                          _builder_1.append("generateDateAttribute(\"");
+                          LEntityAttribute _attributeRef = ((EntityMockAttributeFiller)attribute).getAttributeRef();
+                          String _name_2 = _attributeRef.getName();
+                          _builder_1.append(_name_2, "");
+                          _builder_1.append("\", ");
+                          int _dateBeginYears = ((PropertyFillerDateRange)type).getDateBeginYears();
+                          _builder_1.append(_dateBeginYears, "");
+                          _builder_1.append(", ");
+                          int _dateEndYears = ((PropertyFillerDateRange)type).getDateEndYears();
+                          _builder_1.append(_dateEndYears, "");
+                          _builder_1.append(");");
+                          _builder_1.newLineIfNotEmpty();
+                          it.append(_builder_1);
+                        }
+                      }
+                      if (!_matched_1) {
+                        if (type instanceof PropertyFillerBoolean) {
+                          _matched_1=true;
+                          StringConcatenation _builder_1 = new StringConcatenation();
+                          _builder_1.append("generateBooleanAttribute(\"");
+                          LEntityAttribute _attributeRef = ((EntityMockAttributeFiller)attribute).getAttributeRef();
+                          String _name_2 = _attributeRef.getName();
+                          _builder_1.append(_name_2, "");
+                          _builder_1.append("\");");
+                          _builder_1.newLineIfNotEmpty();
+                          it.append(_builder_1);
+                        }
+                      }
+                      if (!_matched_1) {
+                        if (type instanceof PropertyFillerSignedDoubleRange) {
+                          _matched_1=true;
+                          StringConcatenation _builder_1 = new StringConcatenation();
+                          double _beginRange = ((PropertyFillerSignedDoubleRange)type).getBeginRange();
+                          _builder_1.append(_beginRange, "");
+                          String beginRange = _builder_1.toString();
+                          StringConcatenation _builder_2 = new StringConcatenation();
+                          double _endRange = ((PropertyFillerSignedDoubleRange)type).getEndRange();
+                          _builder_2.append(_endRange, "");
+                          String endRange = _builder_2.toString();
+                          LEntityAttribute _beginRangeRef = ((PropertyFillerSignedDoubleRange)type).getBeginRangeRef();
+                          boolean _notEquals = (!Objects.equal(_beginRangeRef, null));
+                          if (_notEquals) {
+                            StringConcatenation _builder_3 = new StringConcatenation();
+                            _builder_3.append("get_\"");
+                            LEntityAttribute _beginRangeRef_1 = ((PropertyFillerSignedDoubleRange)type).getBeginRangeRef();
+                            String _name_2 = _beginRangeRef_1.getName();
+                            _builder_3.append(_name_2, "");
+                            _builder_3.append("\"()");
+                            beginRange = _builder_3.toString();
+                          }
+                          LEntityAttribute _endRangeRef = ((PropertyFillerSignedDoubleRange)type).getEndRangeRef();
+                          boolean _notEquals_1 = (!Objects.equal(_endRangeRef, null));
+                          if (_notEquals_1) {
+                            StringConcatenation _builder_4 = new StringConcatenation();
+                            _builder_4.append("get_\"");
+                            LEntityAttribute _endRangeRef_1 = ((PropertyFillerSignedDoubleRange)type).getEndRangeRef();
+                            String _name_3 = _endRangeRef_1.getName();
+                            _builder_4.append(_name_3, "");
+                            _builder_4.append("\"()");
+                            endRange = _builder_4.toString();
+                          }
+                          StringConcatenation _builder_5 = new StringConcatenation();
+                          _builder_5.append("generateSignedAttribute(\"");
+                          LEntityAttribute _attributeRef = ((EntityMockAttributeFiller)attribute).getAttributeRef();
+                          String _name_4 = _attributeRef.getName();
+                          _builder_5.append(_name_4, "");
+                          _builder_5.append("\", ");
+                          int _decimals = ((PropertyFillerSignedDoubleRange)type).getDecimals();
+                          _builder_5.append(_decimals, "");
+                          _builder_5.append(", ");
+                          _builder_5.append(beginRange, "");
+                          _builder_5.append(", ");
+                          _builder_5.append(endRange, "");
+                          _builder_5.append(", ");
+                          double _rounded = ((PropertyFillerSignedDoubleRange)type).getRounded();
+                          _builder_5.append(_rounded, "");
+                          _builder_5.append(");");
+                          _builder_5.newLineIfNotEmpty();
+                          it.append(_builder_5);
+                        }
+                      }
+                      if (!_matched_1) {
+                        if (type instanceof PropertyFillerSignedDoubleRandom) {
+                          _matched_1=true;
+                          StringConcatenation _builder_1 = new StringConcatenation();
+                          _builder_1.append("generateAttribute(\"");
+                          LEntityAttribute _attributeRef = ((EntityMockAttributeFiller)attribute).getAttributeRef();
+                          String _name_2 = _attributeRef.getName();
+                          _builder_1.append(_name_2, "");
+                          _builder_1.append("\", ");
+                          LEntityAttribute _attributeRef_1 = ((EntityMockAttributeFiller)attribute).getAttributeRef();
+                          String _name_3 = _attributeRef_1.getName();
+                          _builder_1.append(_name_3, "");
+                          _builder_1.append("_items);");
+                          _builder_1.newLineIfNotEmpty();
+                          it.append(_builder_1);
+                        }
+                      }
+                      if (!_matched_1) {
+                        if (type instanceof PropertyFillerUnsignedDoubleRange) {
+                          _matched_1=true;
+                          StringConcatenation _builder_1 = new StringConcatenation();
+                          double _beginRange = ((PropertyFillerUnsignedDoubleRange)type).getBeginRange();
+                          _builder_1.append(_beginRange, "");
+                          String beginRange = _builder_1.toString();
+                          StringConcatenation _builder_2 = new StringConcatenation();
+                          double _endRange = ((PropertyFillerUnsignedDoubleRange)type).getEndRange();
+                          _builder_2.append(_endRange, "");
+                          String endRange = _builder_2.toString();
+                          LEntityAttribute _beginRangeRef = ((PropertyFillerUnsignedDoubleRange)type).getBeginRangeRef();
+                          boolean _notEquals = (!Objects.equal(_beginRangeRef, null));
+                          if (_notEquals) {
+                            StringConcatenation _builder_3 = new StringConcatenation();
+                            _builder_3.append("(double)get_\"");
+                            LEntityAttribute _beginRangeRef_1 = ((PropertyFillerUnsignedDoubleRange)type).getBeginRangeRef();
+                            String _name_2 = _beginRangeRef_1.getName();
+                            _builder_3.append(_name_2, "");
+                            _builder_3.append("\"()");
+                            beginRange = _builder_3.toString();
+                          }
+                          LEntityAttribute _endRangeRef = ((PropertyFillerUnsignedDoubleRange)type).getEndRangeRef();
+                          boolean _notEquals_1 = (!Objects.equal(_endRangeRef, null));
+                          if (_notEquals_1) {
+                            StringConcatenation _builder_4 = new StringConcatenation();
+                            _builder_4.append("(double)get_\"");
+                            LEntityAttribute _endRangeRef_1 = ((PropertyFillerUnsignedDoubleRange)type).getEndRangeRef();
+                            String _name_3 = _endRangeRef_1.getName();
+                            _builder_4.append(_name_3, "");
+                            _builder_4.append("\"()");
+                            endRange = _builder_4.toString();
+                          }
+                          StringConcatenation _builder_5 = new StringConcatenation();
+                          _builder_5.append("generateUnsignedAttribute(\"");
+                          LEntityAttribute _attributeRef = ((EntityMockAttributeFiller)attribute).getAttributeRef();
+                          String _name_4 = _attributeRef.getName();
+                          _builder_5.append(_name_4, "");
+                          _builder_5.append("\", ");
+                          int _decimals = ((PropertyFillerUnsignedDoubleRange)type).getDecimals();
+                          _builder_5.append(_decimals, "");
+                          _builder_5.append(", ");
+                          _builder_5.append(beginRange, "");
+                          _builder_5.append(", ");
+                          _builder_5.append(endRange, "");
+                          _builder_5.append(", ");
+                          double _rounded = ((PropertyFillerUnsignedDoubleRange)type).getRounded();
+                          _builder_5.append(_rounded, "");
+                          _builder_5.append(");");
+                          _builder_5.newLineIfNotEmpty();
+                          it.append(_builder_5);
+                        }
+                      }
+                      if (!_matched_1) {
+                        if (type instanceof PropertyFillerUnsignedDoubleRandom) {
+                          _matched_1=true;
+                          StringConcatenation _builder_1 = new StringConcatenation();
+                          _builder_1.append("generateAttribute(\"");
+                          LEntityAttribute _attributeRef = ((EntityMockAttributeFiller)attribute).getAttributeRef();
+                          String _name_2 = _attributeRef.getName();
+                          _builder_1.append(_name_2, "");
+                          _builder_1.append("\", ");
+                          LEntityAttribute _attributeRef_1 = ((EntityMockAttributeFiller)attribute).getAttributeRef();
+                          String _name_3 = _attributeRef_1.getName();
+                          _builder_1.append(_name_3, "");
+                          _builder_1.append("_items);");
+                          _builder_1.newLineIfNotEmpty();
+                          it.append(_builder_1);
+                        }
+                      }
+                      if (!_matched_1) {
+                        if (type instanceof PropertyFillerSignedIntegerRange) {
+                          _matched_1=true;
+                          StringConcatenation _builder_1 = new StringConcatenation();
+                          int _beginRange = ((PropertyFillerSignedIntegerRange)type).getBeginRange();
+                          _builder_1.append(_beginRange, "");
+                          String beginRange = _builder_1.toString();
+                          StringConcatenation _builder_2 = new StringConcatenation();
+                          int _endRange = ((PropertyFillerSignedIntegerRange)type).getEndRange();
+                          _builder_2.append(_endRange, "");
+                          String endRange = _builder_2.toString();
+                          LEntityAttribute _beginRangeRef = ((PropertyFillerSignedIntegerRange)type).getBeginRangeRef();
+                          boolean _notEquals = (!Objects.equal(_beginRangeRef, null));
+                          if (_notEquals) {
+                            StringConcatenation _builder_3 = new StringConcatenation();
+                            _builder_3.append("(int)get_\"");
+                            LEntityAttribute _beginRangeRef_1 = ((PropertyFillerSignedIntegerRange)type).getBeginRangeRef();
+                            String _name_2 = _beginRangeRef_1.getName();
+                            _builder_3.append(_name_2, "");
+                            _builder_3.append("\"()");
+                            beginRange = _builder_3.toString();
+                          }
+                          LEntityAttribute _endRangeRef = ((PropertyFillerSignedIntegerRange)type).getEndRangeRef();
+                          boolean _notEquals_1 = (!Objects.equal(_endRangeRef, null));
+                          if (_notEquals_1) {
+                            StringConcatenation _builder_4 = new StringConcatenation();
+                            _builder_4.append("(int)get_\"");
+                            LEntityAttribute _endRangeRef_1 = ((PropertyFillerSignedIntegerRange)type).getEndRangeRef();
+                            String _name_3 = _endRangeRef_1.getName();
+                            _builder_4.append(_name_3, "");
+                            _builder_4.append("\"()");
+                            endRange = _builder_4.toString();
+                          }
+                          StringConcatenation _builder_5 = new StringConcatenation();
+                          _builder_5.append("generateSignedAttribute(\"");
+                          LEntityAttribute _attributeRef = ((EntityMockAttributeFiller)attribute).getAttributeRef();
+                          String _name_4 = _attributeRef.getName();
+                          _builder_5.append(_name_4, "");
+                          _builder_5.append("\", ");
+                          _builder_5.append(beginRange, "");
+                          _builder_5.append(", ");
+                          _builder_5.append(endRange, "");
+                          _builder_5.append(", ");
+                          int _rounded = ((PropertyFillerSignedIntegerRange)type).getRounded();
+                          _builder_5.append(_rounded, "");
+                          _builder_5.append(");");
+                          _builder_5.newLineIfNotEmpty();
+                          it.append(_builder_5);
+                        }
+                      }
+                      if (!_matched_1) {
+                        if (type instanceof PropertyFillerSignedIntegerRandom) {
+                          _matched_1=true;
+                          StringConcatenation _builder_1 = new StringConcatenation();
+                          _builder_1.append("generateAttribute(\"");
+                          LEntityAttribute _attributeRef = ((EntityMockAttributeFiller)attribute).getAttributeRef();
+                          String _name_2 = _attributeRef.getName();
+                          _builder_1.append(_name_2, "");
+                          _builder_1.append("\", ");
+                          LEntityAttribute _attributeRef_1 = ((EntityMockAttributeFiller)attribute).getAttributeRef();
+                          String _name_3 = _attributeRef_1.getName();
+                          _builder_1.append(_name_3, "");
+                          _builder_1.append("_items);");
+                          _builder_1.newLineIfNotEmpty();
+                          it.append(_builder_1);
+                        }
+                      }
+                      if (!_matched_1) {
+                        if (type instanceof PropertyFillerUnsignedIntegerRange) {
+                          _matched_1=true;
+                          StringConcatenation _builder_1 = new StringConcatenation();
+                          int _beginRange = ((PropertyFillerUnsignedIntegerRange)type).getBeginRange();
+                          _builder_1.append(_beginRange, "");
+                          String beginRange = _builder_1.toString();
+                          StringConcatenation _builder_2 = new StringConcatenation();
+                          int _endRange = ((PropertyFillerUnsignedIntegerRange)type).getEndRange();
+                          _builder_2.append(_endRange, "");
+                          String endRange = _builder_2.toString();
+                          LEntityAttribute _beginRangeRef = ((PropertyFillerUnsignedIntegerRange)type).getBeginRangeRef();
+                          boolean _notEquals = (!Objects.equal(_beginRangeRef, null));
+                          if (_notEquals) {
+                            StringConcatenation _builder_3 = new StringConcatenation();
+                            _builder_3.append("(int)get_\"");
+                            LEntityAttribute _beginRangeRef_1 = ((PropertyFillerUnsignedIntegerRange)type).getBeginRangeRef();
+                            String _name_2 = _beginRangeRef_1.getName();
+                            _builder_3.append(_name_2, "");
+                            _builder_3.append("\"()");
+                            beginRange = _builder_3.toString();
+                          }
+                          LEntityAttribute _endRangeRef = ((PropertyFillerUnsignedIntegerRange)type).getEndRangeRef();
+                          boolean _notEquals_1 = (!Objects.equal(_endRangeRef, null));
+                          if (_notEquals_1) {
+                            StringConcatenation _builder_4 = new StringConcatenation();
+                            _builder_4.append("(int)get_\"");
+                            LEntityAttribute _endRangeRef_1 = ((PropertyFillerUnsignedIntegerRange)type).getEndRangeRef();
+                            String _name_3 = _endRangeRef_1.getName();
+                            _builder_4.append(_name_3, "");
+                            _builder_4.append("\"()");
+                            endRange = _builder_4.toString();
+                          }
+                          StringConcatenation _builder_5 = new StringConcatenation();
+                          _builder_5.append("generateUnsignedAttribute(\"");
+                          LEntityAttribute _attributeRef = ((EntityMockAttributeFiller)attribute).getAttributeRef();
+                          String _name_4 = _attributeRef.getName();
+                          _builder_5.append(_name_4, "");
+                          _builder_5.append("\", ");
+                          _builder_5.append(beginRange, "");
+                          _builder_5.append(", ");
+                          _builder_5.append(endRange, "");
+                          _builder_5.append(", ");
+                          int _rounded = ((PropertyFillerUnsignedIntegerRange)type).getRounded();
+                          _builder_5.append(_rounded, "");
+                          _builder_5.append(");");
+                          _builder_5.newLineIfNotEmpty();
+                          it.append(_builder_5);
+                        }
+                      }
+                      if (!_matched_1) {
+                        if (type instanceof PropertyFillerUnsignedIntegerRandom) {
+                          _matched_1=true;
+                          StringConcatenation _builder_1 = new StringConcatenation();
+                          _builder_1.append("generateAttribute(\"");
+                          LEntityAttribute _attributeRef = ((EntityMockAttributeFiller)attribute).getAttributeRef();
+                          String _name_2 = _attributeRef.getName();
+                          _builder_1.append(_name_2, "");
+                          _builder_1.append("\", ");
+                          LEntityAttribute _attributeRef_1 = ((EntityMockAttributeFiller)attribute).getAttributeRef();
+                          String _name_3 = _attributeRef_1.getName();
+                          _builder_1.append(_name_3, "");
+                          _builder_1.append("_items);");
+                          _builder_1.newLineIfNotEmpty();
+                          it.append(_builder_1);
+                        }
+                      }
+                      if (!_matched_1) {
+                        if (type instanceof PropertyFillerTextRandom) {
+                          _matched_1=true;
+                          StringConcatenation _builder_1 = new StringConcatenation();
+                          _builder_1.append("generateAttribute(\"");
+                          LEntityAttribute _attributeRef = ((EntityMockAttributeFiller)attribute).getAttributeRef();
+                          String _name_2 = _attributeRef.getName();
+                          _builder_1.append(_name_2, "");
+                          _builder_1.append("\", ");
+                          LEntityAttribute _attributeRef_1 = ((EntityMockAttributeFiller)attribute).getAttributeRef();
+                          String _name_3 = _attributeRef_1.getName();
+                          _builder_1.append(_name_3, "");
+                          _builder_1.append("_items);");
+                          _builder_1.newLineIfNotEmpty();
+                          it.append(_builder_1);
+                        }
+                      }
+                      if (!_matched_1) {
+                        if (type instanceof PropertyFillerTextParagraphs) {
+                          _matched_1=true;
+                          StringConcatenation _builder_1 = new StringConcatenation();
+                          _builder_1.append("generateParagraphsAttribute(\"");
+                          LEntityAttribute _attributeRef = ((EntityMockAttributeFiller)attribute).getAttributeRef();
+                          String _name_2 = _attributeRef.getName();
+                          _builder_1.append(_name_2, "");
+                          _builder_1.append("\", ");
+                          int _count = ((PropertyFillerTextParagraphs)type).getCount();
+                          _builder_1.append(_count, "");
+                          _builder_1.append(");");
+                          _builder_1.newLineIfNotEmpty();
+                          it.append(_builder_1);
+                        }
+                      }
+                      if (!_matched_1) {
+                        if (type instanceof PropertyFillerTextSentences) {
+                          _matched_1=true;
+                          StringConcatenation _builder_1 = new StringConcatenation();
+                          _builder_1.append("generateSentencesAttribute(\"");
+                          LEntityAttribute _attributeRef = ((EntityMockAttributeFiller)attribute).getAttributeRef();
+                          String _name_2 = _attributeRef.getName();
+                          _builder_1.append(_name_2, "");
+                          _builder_1.append("\", ");
+                          int _count = ((PropertyFillerTextSentences)type).getCount();
+                          _builder_1.append(_count, "");
+                          _builder_1.append(");");
+                          _builder_1.newLineIfNotEmpty();
+                          it.append(_builder_1);
+                        }
+                      }
+                      if (!_matched_1) {
+                        if (type instanceof PropertyFillerTextWords) {
+                          _matched_1=true;
+                          StringConcatenation _builder_1 = new StringConcatenation();
+                          _builder_1.append("generateWordsAttribute(\"");
+                          LEntityAttribute _attributeRef = ((EntityMockAttributeFiller)attribute).getAttributeRef();
+                          String _name_2 = _attributeRef.getName();
+                          _builder_1.append(_name_2, "");
+                          _builder_1.append("\", ");
+                          int _count = ((PropertyFillerTextWords)type).getCount();
+                          _builder_1.append(_count, "");
+                          _builder_1.append(");");
+                          _builder_1.newLineIfNotEmpty();
+                          it.append(_builder_1);
+                        }
+                      }
+                    }
+                  }
+                  if (!_matched) {
+                    if (attribute instanceof EntityMockAttributeByReference) {
+                      _matched=true;
+                      EntityMockEntity _mockedEntity = ((EntityMockAttributeByReference)attribute).getMockedEntity();
+                      boolean _equals = Objects.equal(_mockedEntity, null);
+                      if (_equals) {
+                        StringConcatenation _builder_1 = new StringConcatenation();
+                        _builder_1.append("generateAttribute(\"");
+                        LEntityReference _attributeRef = ((EntityMockAttributeByReference)attribute).getAttributeRef();
+                        String _name_2 = _attributeRef.getName();
+                        _builder_1.append(_name_2, "");
+                        _builder_1.append("\", ");
+                        LEntityReference _attributeRef_1 = ((EntityMockAttributeByReference)attribute).getAttributeRef();
+                        LEntity _type = _attributeRef_1.getType();
+                        String _dtoFQNForLEntity = EntityUtils.getDtoFQNForLEntity(_type);
+                        _builder_1.append(_dtoFQNForLEntity, "");
+                        _builder_1.append(".class, ");
+                        int _optionalFor = ((EntityMockAttributeByReference)attribute).getOptionalFor();
+                        _builder_1.append((((double) _optionalFor) / 100.0), "");
+                        _builder_1.append(");");
+                        _builder_1.newLineIfNotEmpty();
+                        it.append(_builder_1);
+                      } else {
+                        StringConcatenation _builder_2 = new StringConcatenation();
+                        _builder_2.append("generateAttribute(\"");
+                        LEntityReference _attributeRef_2 = ((EntityMockAttributeByReference)attribute).getAttributeRef();
+                        String _name_3 = _attributeRef_2.getName();
+                        _builder_2.append(_name_3, "");
+                        _builder_2.append("\", \"");
+                        EntityMockEntity _mockedEntity_1 = ((EntityMockAttributeByReference)attribute).getMockedEntity();
+                        String _name_4 = _mockedEntity_1.getName();
+                        _builder_2.append(_name_4, "");
+                        _builder_2.append("\", ");
+                        int _optionalFor_1 = ((EntityMockAttributeByReference)attribute).getOptionalFor();
+                        _builder_2.append((((double) _optionalFor_1) / 100.0), "");
+                        _builder_2.append(");");
+                        _builder_2.newLineIfNotEmpty();
+                        it.append(_builder_2);
+                      }
+                    }
+                  }
+                }
+                EList<EntityMockEntityFunction> _calculations = mockEntity.getCalculations();
+                for (final EntityMockEntityFunction calculation : _calculations) {
+                  {
+                    String doc = EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.getDocumentation(calculation);
+                    boolean _and = false;
+                    if (!(doc instanceof String)) {
+                      _and = false;
+                    } else {
+                      String _trim = doc.trim();
+                      boolean _isEmpty = _trim.isEmpty();
+                      boolean _not = (!_isEmpty);
+                      _and = _not;
+                    }
+                    if (_and) {
+                      StringConcatenation _builder_1 = new StringConcatenation();
+                      _builder_1.append("/** ");
+                      _builder_1.append(doc, "");
+                      _builder_1.append(" */");
+                      _builder_1.newLineIfNotEmpty();
+                      it.append(_builder_1);
+                    }
+                    StringConcatenation _builder_2 = new StringConcatenation();
+                    String paramString = _builder_2.toString();
+                    EList<EntityMockEntityFunctionParameter> _params = calculation.getParams();
+                    for (final EntityMockEntityFunctionParameter param : _params) {
+                      {
+                        boolean _isEmpty_1 = paramString.isEmpty();
+                        boolean _not_1 = (!_isEmpty_1);
+                        if (_not_1) {
+                          StringConcatenation _builder_3 = new StringConcatenation();
+                          _builder_3.append(paramString, "");
+                          _builder_3.append(",");
+                          paramString = _builder_3.toString();
+                        }
+                        LEntityAttribute _attributeRef = param.getAttributeRef();
+                        boolean _notEquals = (!Objects.equal(_attributeRef, null));
+                        if (_notEquals) {
+                          StringConcatenation _builder_4 = new StringConcatenation();
+                          _builder_4.append(paramString, "");
+                          _builder_4.append("(");
+                          JvmTypeReference _jvmType = EntityMockDSLJvmModelInferrer.this.getJvmType(param);
+                          String _identifier = _jvmType.getIdentifier();
+                          _builder_4.append(_identifier, "");
+                          _builder_4.append(")getAttribute(\"");
+                          String _paramName = EntityMockDSLJvmModelInferrer.this.getParamName(param, ".");
+                          _builder_4.append(_paramName, "");
+                          _builder_4.append("\")");
+                          paramString = _builder_4.toString();
+                        } else {
+                          boolean _isReferenceOnExistingDto = EntityMockDSLJvmModelInferrer.this.isReferenceOnExistingDto(param);
+                          if (_isReferenceOnExistingDto) {
+                            StringConcatenation _builder_5 = new StringConcatenation();
+                            _builder_5.append(paramString, "");
+                            _builder_5.append("(");
+                            JvmTypeReference _jvmType_1 = EntityMockDSLJvmModelInferrer.this.getJvmType(param);
+                            String _identifier_1 = _jvmType_1.getIdentifier();
+                            _builder_5.append(_identifier_1, "");
+                            _builder_5.append(")((");
+                            EList<LEntityReference> _referencePaths = param.getReferencePaths();
+                            LEntityReference _get = _referencePaths.get(0);
+                            LEntity _type = _get.getType();
+                            String _dtoFQNForLEntity = EntityUtils.getDtoFQNForLEntity(_type);
+                            _builder_5.append(_dtoFQNForLEntity, "");
+                            _builder_5.append(")getAttribute(\"");
+                            EList<LEntityReference> _referencePaths_1 = param.getReferencePaths();
+                            LEntityReference _get_1 = _referencePaths_1.get(0);
+                            String _name_2 = _get_1.getName();
+                            _builder_5.append(_name_2, "");
+                            _builder_5.append("\", mockDataGenerator, persistenceUnit)).get");
+                            LEntityAttribute _referenceRef = param.getReferenceRef();
+                            String _name_3 = _referenceRef.getName();
+                            String _firstUpper = StringExtensions.toFirstUpper(_name_3);
+                            _builder_5.append(_firstUpper, "");
+                            _builder_5.append("()");
+                            paramString = _builder_5.toString();
+                          } else {
+                            StringConcatenation _builder_6 = new StringConcatenation();
+                            _builder_6.append(paramString, "");
+                            _builder_6.append("(");
+                            JvmTypeReference _jvmType_2 = EntityMockDSLJvmModelInferrer.this.getJvmType(param);
+                            String _identifier_2 = _jvmType_2.getIdentifier();
+                            _builder_6.append(_identifier_2, "");
+                            _builder_6.append(")getAttribute(\"");
+                            String _paramName_1 = EntityMockDSLJvmModelInferrer.this.getParamName(param, ".");
+                            _builder_6.append(_paramName_1, "");
+                            _builder_6.append("\", mockDataGenerator, persistenceUnit)");
+                            paramString = _builder_6.toString();
+                          }
+                        }
+                      }
+                    }
+                    StringConcatenation _builder_3 = new StringConcatenation();
+                    _builder_3.append("try {");
+                    _builder_3.newLine();
+                    _builder_3.append("\t");
+                    _builder_3.append("setFixAttribute(\"");
+                    LEntityAttribute _attributeRef = calculation.getAttributeRef();
+                    String _name_2 = _attributeRef.getName();
+                    _builder_3.append(_name_2, "\t");
+                    _builder_3.append("\", calculate_");
+                    LEntityAttribute _attributeRef_1 = calculation.getAttributeRef();
+                    String _name_3 = _attributeRef_1.getName();
+                    _builder_3.append(_name_3, "\t");
+                    _builder_3.append("(");
+                    _builder_3.append(paramString, "\t");
+                    _builder_3.append("));");
+                    _builder_3.newLineIfNotEmpty();
+                    _builder_3.append("}");
+                    _builder_3.newLine();
+                    _builder_3.append("catch (NullPointerException npe) {}");
+                    _builder_3.newLine();
+                    _builder_3.append("catch (Exception e) {");
+                    _builder_3.newLine();
+                    _builder_3.append("    ");
+                    _builder_3.append("log.error(e.getLocalizedMessage()+e.getCause());");
+                    _builder_3.newLine();
+                    _builder_3.append("}");
+                    _builder_3.newLine();
+                    it.append(_builder_3);
+                  }
+                }
+              }
+            };
+            EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.setBody(it, _function);
+          }
+        };
+        JvmOperation _method_3 = EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.toMethod(pckg, _builder_6.toString(), _typeRef_6, _function_7);
+        EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.<JvmOperation>operator_add(_members_7, _method_3);
+        EntityMockResource _byResource_3 = mockEntity.getByResource();
+        boolean _equals = Objects.equal(_byResource_3, null);
+        if (_equals) {
+          EList<JvmMember> _members_8 = it.getMembers();
+          StringConcatenation _builder_7 = new StringConcatenation();
+          _builder_7.append("generateEntity");
+          JvmTypeReference _typeRef_7 = EntityMockDSLJvmModelInferrer.this._typeReferenceBuilder.typeRef(Object.class);
+          final Procedure1<JvmOperation> _function_8 = new Procedure1<JvmOperation>() {
+            public void apply(final JvmOperation it) {
+              it.setVisibility(JvmVisibility.PUBLIC);
+              EList<JvmFormalParameter> _parameters = it.getParameters();
+              JvmTypeReference _typeRef = EntityMockDSLJvmModelInferrer.this._typeReferenceBuilder.typeRef(Object.class);
+              JvmFormalParameter _parameter = EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.toParameter(mockEntity, "dataRow", _typeRef);
+              EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters, _parameter);
+              it.setFinal(true);
+              final Procedure1<ITreeAppendable> _function = new Procedure1<ITreeAppendable>() {
+                public void apply(final ITreeAppendable it) {
+                  StringConcatenation _builder = new StringConcatenation();
+                  _builder.append("reset();");
+                  _builder.newLine();
+                  it.append(_builder);
+                  LEntityAttribute _iterator = mockEntity.getIterator();
+                  boolean _notEquals = (!Objects.equal(_iterator, null));
+                  if (_notEquals) {
+                    StringConcatenation _builder_1 = new StringConcatenation();
+                    _builder_1.append("setFixAttribute(\"");
+                    LEntityAttribute _iterator_1 = mockEntity.getIterator();
+                    String _name = _iterator_1.getName();
+                    _builder_1.append(_name, "");
+                    _builder_1.append("\", dataRow);");
+                    _builder_1.newLineIfNotEmpty();
+                    it.append(_builder_1);
+                  }
+                  StringConcatenation _builder_2 = new StringConcatenation();
+                  String _entityDtoFQN = EntityMockDSLJvmModelInferrer.this.getEntityDtoFQN(mockEntity);
+                  _builder_2.append(_entityDtoFQN, "");
+                  _builder_2.append(" internal = new ");
+                  String _entityDtoFQN_1 = EntityMockDSLJvmModelInferrer.this.getEntityDtoFQN(mockEntity);
+                  _builder_2.append(_entityDtoFQN_1, "");
+                  _builder_2.append("();");
+                  _builder_2.newLineIfNotEmpty();
+                  _builder_2.append("entity = internal;");
+                  _builder_2.newLine();
+                  _builder_2.append("generateData();");
+                  _builder_2.newLine();
+                  _builder_2.append("mockDataGenerator.addDtoMockData(internal, mockData);");
+                  _builder_2.newLine();
+                  _builder_2.append("try {");
+                  _builder_2.newLine();
+                  it.append(_builder_2);
+                  EList<IEntityMockAttribute> _attributes = mockEntity.getAttributes();
+                  for (final IEntityMockAttribute attribute : _attributes) {
+                    boolean _matched = false;
+                    if (!_matched) {
+                      if (attribute instanceof EntityMockAttributeByObject) {
+                        _matched=true;
+                        StringConcatenation _builder_3 = new StringConcatenation();
+                        _builder_3.append("internal.set");
+                        LEntityAttribute _attributeRef = ((EntityMockAttributeByObject)attribute).getAttributeRef();
+                        String _name_1 = _attributeRef.getName();
+                        String _capitalize = WordUtils.capitalize(_name_1);
+                        _builder_3.append(_capitalize, "");
+                        _builder_3.append("(");
+                        LEntityAttribute _attributeRef_1 = ((EntityMockAttributeByObject)attribute).getAttributeRef();
+                        StringConcatenation _builder_4 = new StringConcatenation();
+                        _builder_4.append("mockData.get(\"");
+                        LEntityAttribute _attributeRef_2 = ((EntityMockAttributeByObject)attribute).getAttributeRef();
+                        String _name_2 = _attributeRef_2.getName();
+                        _builder_4.append(_name_2, "");
+                        _builder_4.append("\")");
+                        String _baseMockDataTypeCasting = EntityMockDSLJvmModelInferrer.this.baseMockDataTypeCasting(_attributeRef_1, _builder_4.toString());
+                        _builder_3.append(_baseMockDataTypeCasting, "");
+                        _builder_3.append(");");
+                        _builder_3.newLineIfNotEmpty();
+                        it.append(_builder_3);
+                      }
+                    }
+                    if (!_matched) {
+                      if (attribute instanceof EntityMockAttributeFiller) {
+                        _matched=true;
+                        StringConcatenation _builder_3 = new StringConcatenation();
+                        _builder_3.append("internal.set");
+                        LEntityAttribute _attributeRef = ((EntityMockAttributeFiller)attribute).getAttributeRef();
+                        String _name_1 = _attributeRef.getName();
+                        String _capitalize = WordUtils.capitalize(_name_1);
+                        _builder_3.append(_capitalize, "");
+                        _builder_3.append("(");
+                        LEntityAttribute _attributeRef_1 = ((EntityMockAttributeFiller)attribute).getAttributeRef();
+                        StringConcatenation _builder_4 = new StringConcatenation();
+                        _builder_4.append("mockData.get(\"");
+                        LEntityAttribute _attributeRef_2 = ((EntityMockAttributeFiller)attribute).getAttributeRef();
+                        String _name_2 = _attributeRef_2.getName();
+                        _builder_4.append(_name_2, "");
+                        _builder_4.append("\")");
+                        String _baseMockDataTypeCasting = EntityMockDSLJvmModelInferrer.this.baseMockDataTypeCasting(_attributeRef_1, _builder_4.toString());
+                        _builder_3.append(_baseMockDataTypeCasting, "");
+                        _builder_3.append(");");
+                        _builder_3.newLineIfNotEmpty();
+                        it.append(_builder_3);
+                      }
+                    }
+                    if (!_matched) {
+                      if (attribute instanceof EntityMockAttributeByReference) {
+                        _matched=true;
+                        StringConcatenation _builder_3 = new StringConcatenation();
+                        _builder_3.append("internal.set");
+                        LEntityReference _attributeRef = ((EntityMockAttributeByReference)attribute).getAttributeRef();
+                        String _name_1 = _attributeRef.getName();
+                        String _capitalize = WordUtils.capitalize(_name_1);
+                        _builder_3.append(_capitalize, "");
+                        _builder_3.append("((");
+                        LEntityReference _attributeRef_1 = ((EntityMockAttributeByReference)attribute).getAttributeRef();
+                        LEntity _type = _attributeRef_1.getType();
+                        String _dtoFQNForLEntity = EntityUtils.getDtoFQNForLEntity(_type);
+                        _builder_3.append(_dtoFQNForLEntity, "");
+                        _builder_3.append(")mockData.get(\"");
+                        LEntityReference _attributeRef_2 = ((EntityMockAttributeByReference)attribute).getAttributeRef();
+                        String _name_2 = _attributeRef_2.getName();
+                        _builder_3.append(_name_2, "");
+                        _builder_3.append("\"));");
+                        _builder_3.newLineIfNotEmpty();
+                        it.append(_builder_3);
+                      }
+                    }
+                  }
+                  EList<EntityMockEntityFunction> _calculations = mockEntity.getCalculations();
+                  for (final EntityMockEntityFunction calculation : _calculations) {
+                    StringConcatenation _builder_3 = new StringConcatenation();
+                    _builder_3.append("internal.set");
+                    LEntityAttribute _attributeRef = calculation.getAttributeRef();
+                    String _name_1 = _attributeRef.getName();
+                    String _capitalize = WordUtils.capitalize(_name_1);
+                    _builder_3.append(_capitalize, "");
+                    _builder_3.append("(");
+                    LEntityAttribute _attributeRef_1 = calculation.getAttributeRef();
+                    StringConcatenation _builder_4 = new StringConcatenation();
+                    _builder_4.append("mockData.get(\"");
+                    LEntityAttribute _attributeRef_2 = calculation.getAttributeRef();
+                    String _name_2 = _attributeRef_2.getName();
+                    _builder_4.append(_name_2, "");
+                    _builder_4.append("\")");
+                    String _baseMockDataTypeCasting = EntityMockDSLJvmModelInferrer.this.baseMockDataTypeCasting(_attributeRef_1, _builder_4.toString());
+                    _builder_3.append(_baseMockDataTypeCasting, "");
+                    _builder_3.append(");");
+                    _builder_3.newLineIfNotEmpty();
+                    it.append(_builder_3);
+                  }
+                  StringConcatenation _builder_5 = new StringConcatenation();
+                  _builder_5.append("}");
+                  _builder_5.newLine();
+                  _builder_5.append("catch (Exception e) {");
+                  _builder_5.newLine();
+                  _builder_5.append("    ");
+                  _builder_5.append("log.error(e.getLocalizedMessage()+e.getCause());");
+                  _builder_5.newLine();
+                  _builder_5.append("}");
+                  _builder_5.newLine();
+                  _builder_5.append("return entity;");
+                  it.append(_builder_5);
+                }
+              };
+              EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.setBody(it, _function);
+            }
+          };
+          JvmOperation _method_4 = EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.toMethod(pckg, _builder_7.toString(), _typeRef_7, _function_8);
+          EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.<JvmOperation>operator_add(_members_8, _method_4);
+        }
+      }
+    };
+    acceptor.<JvmGenericType>accept(_class, _function);
+  }
+  
+  public boolean isReferenceOnExistingDto(final EntityMockEntityFunctionParameter param) {
+    EObject _eContainer = param.eContainer();
+    EObject _eContainer_1 = _eContainer.eContainer();
+    final EntityMockEntity entityMock = ((EntityMockEntity) _eContainer_1);
+    EList<IEntityMockAttribute> _attributes = entityMock.getAttributes();
+    for (final IEntityMockAttribute attribute : _attributes) {
+      if ((attribute instanceof EntityMockAttributeByReference)) {
+        EntityMockEntity _mockedEntity = ((EntityMockAttributeByReference)attribute).getMockedEntity();
+        boolean _equals = Objects.equal(_mockedEntity, null);
+        if (_equals) {
+          LEntityReference _attributeRef = ((EntityMockAttributeByReference)attribute).getAttributeRef();
+          LEntity _type = _attributeRef.getType();
+          LEntityAttribute _referenceRef = param.getReferenceRef();
+          EObject _eContainer_2 = _referenceRef.eContainer();
+          boolean _equals_1 = _type.equals(_eContainer_2);
+          if (_equals_1) {
+            return true;
+          }
+        }
+      }
+    }
+    return false;
+  }
+  
+  public JvmTypeReference getJvmType(final EntityMockEntityFunctionParameter param) {
+    LEntityAttribute _attributeRef = param.getAttributeRef();
+    boolean _notEquals = (!Objects.equal(_attributeRef, null));
+    if (_notEquals) {
+      LEntityAttribute _attributeRef_1 = param.getAttributeRef();
+      return this.jvmTypeRef(_attributeRef_1);
+    } else {
+      LEntityAttribute _referenceRef = param.getReferenceRef();
+      return _referenceRef.getTypeJvm();
+    }
+  }
+  
+  public String getParamName(final EntityMockEntityFunctionParameter param, final String separator) {
+    StringConcatenation _builder = new StringConcatenation();
+    String paramName = _builder.toString();
+    LEntityAttribute _attributeRef = param.getAttributeRef();
+    boolean _notEquals = (!Objects.equal(_attributeRef, null));
+    if (_notEquals) {
+      StringConcatenation _builder_1 = new StringConcatenation();
+      LEntityAttribute _attributeRef_1 = param.getAttributeRef();
+      String _name = _attributeRef_1.getName();
+      _builder_1.append(_name, "");
+      paramName = _builder_1.toString();
+    } else {
+      EList<LEntityReference> _referencePaths = param.getReferencePaths();
+      for (final LEntityReference referencePath : _referencePaths) {
+        StringConcatenation _builder_2 = new StringConcatenation();
+        _builder_2.append(paramName, "");
+        String _name_1 = referencePath.getName();
+        _builder_2.append(_name_1, "");
+        _builder_2.append(separator, "");
+        paramName = _builder_2.toString();
+      }
+      StringConcatenation _builder_3 = new StringConcatenation();
+      _builder_3.append(paramName, "");
+      LEntityAttribute _referenceRef = param.getReferenceRef();
+      String _name_2 = _referenceRef.getName();
+      _builder_3.append(_name_2, "");
+      paramName = _builder_3.toString();
+    }
+    return paramName;
+  }
+  
+  /**
+   * generate the JVM type reference needed for of the entity attribute
+   */
+  public JvmTypeReference jvmTypeRef(final LEntityAttribute attribute) {
+    IDataMart.EType etype = this.dtType.getBasicType(attribute);
+    if (etype != null) {
+      switch (etype) {
+        case BOOLEAN:
+          return this._typeReferenceBuilder.typeRef(boolean.class);
+        case BYTE:
+          return this._typeReferenceBuilder.typeRef(byte.class);
+        case DATE:
+          return this._typeReferenceBuilder.typeRef(Date.class);
+        case FLOAT:
+          return this._typeReferenceBuilder.typeRef(float.class);
+        case DOUBLE:
+          return this._typeReferenceBuilder.typeRef(double.class);
+        case SHORT:
+          return this._typeReferenceBuilder.typeRef(short.class);
+        case INTEGER:
+          return this._typeReferenceBuilder.typeRef(int.class);
+        case LONG:
+          return this._typeReferenceBuilder.typeRef(long.class);
+        case STRING:
+          return this._typeReferenceBuilder.typeRef(String.class);
+        default:
+          return this._typeReferenceBuilder.typeRef(Object.class);
+      }
+    } else {
+      return this._typeReferenceBuilder.typeRef(Object.class);
+    }
+  }
+  
+  /**
+   * generate the code for casting a mock data to the data type of the entity attribute
+   */
+  public String baseMockDataTypeCasting(final LEntityAttribute attribute, final String getting) {
+    LScalarType _type = attribute.getType();
+    if ((_type instanceof LEnum)) {
+      StringConcatenation _builder = new StringConcatenation();
+      LScalarType _type_1 = attribute.getType();
+      String _dtoFQNForLEnum = EntityUtils.getDtoFQNForLEnum(((LEnum) _type_1));
+      _builder.append(_dtoFQNForLEnum, "");
+      _builder.append(".valueOf(");
+      _builder.append(getting, "");
+      _builder.append(".toString())");
+      return _builder.toString();
+    }
+    LScalarType _type_2 = attribute.getType();
+    if ((_type_2 instanceof LBean)) {
+      StringConcatenation _builder_1 = new StringConcatenation();
+      _builder_1.append("(");
+      LScalarType _type_3 = attribute.getType();
+      String _dtoFQNForLBean = EntityUtils.getDtoFQNForLBean(((LBean) _type_3));
+      _builder_1.append(_dtoFQNForLBean, "");
+      _builder_1.append(")(");
+      _builder_1.append(getting, "");
+      _builder_1.append(")");
+      return _builder_1.toString();
+    }
+    IDataMart.EType etype = this.dtType.getBasicType(attribute);
+    if (etype != null) {
+      switch (etype) {
+        case BOOLEAN:
+          StringConcatenation _builder_2 = new StringConcatenation();
+          _builder_2.append("asBoolean(");
+          _builder_2.append(getting, "");
+          _builder_2.append(")");
+          return _builder_2.toString();
+        case BYTE:
+          StringConcatenation _builder_3 = new StringConcatenation();
+          _builder_3.append("asByte(");
+          _builder_3.append(getting, "");
+          _builder_3.append(")");
+          return _builder_3.toString();
+        case DATE:
+          StringConcatenation _builder_4 = new StringConcatenation();
+          _builder_4.append("asDate(");
+          _builder_4.append(getting, "");
+          _builder_4.append(")");
+          return _builder_4.toString();
+        case FLOAT:
+          StringConcatenation _builder_5 = new StringConcatenation();
+          _builder_5.append("asFloat(");
+          _builder_5.append(getting, "");
+          _builder_5.append(")");
+          return _builder_5.toString();
+        case DOUBLE:
+          StringConcatenation _builder_6 = new StringConcatenation();
+          _builder_6.append("asDouble(");
+          _builder_6.append(getting, "");
+          _builder_6.append(")");
+          return _builder_6.toString();
+        case SHORT:
+          StringConcatenation _builder_7 = new StringConcatenation();
+          _builder_7.append("asShort(");
+          _builder_7.append(getting, "");
+          _builder_7.append(")");
+          return _builder_7.toString();
+        case INTEGER:
+          StringConcatenation _builder_8 = new StringConcatenation();
+          _builder_8.append("asInt(");
+          _builder_8.append(getting, "");
+          _builder_8.append(")");
+          return _builder_8.toString();
+        case LONG:
+          StringConcatenation _builder_9 = new StringConcatenation();
+          _builder_9.append("asLong(");
+          _builder_9.append(getting, "");
+          _builder_9.append(")");
+          return _builder_9.toString();
+        case TIME:
+          StringConcatenation _builder_10 = new StringConcatenation();
+          _builder_10.append("asTime(");
+          _builder_10.append(getting, "");
+          _builder_10.append(")");
+          return _builder_10.toString();
+        default:
+          StringConcatenation _builder_11 = new StringConcatenation();
+          _builder_11.append("asString(");
+          _builder_11.append(getting, "");
+          _builder_11.append(")");
+          return _builder_11.toString();
+      }
+    } else {
+      StringConcatenation _builder_11 = new StringConcatenation();
+      _builder_11.append("asString(");
+      _builder_11.append(getting, "");
+      _builder_11.append(")");
+      return _builder_11.toString();
+    }
+  }
+  
+  public final static String ENTITY_MOCK_GENERATOR = "EntityMockGenerator";
+  
+  public String asString(final org.eclipse.osbp.xtext.entitymock.Date date) {
+    boolean _isYesterday = date.isYesterday();
+    if (_isYesterday) {
+      StringConcatenation _builder = new StringConcatenation();
+      _builder.append("\"yesterday\"");
+      return _builder.toString();
+    }
+    boolean _isToday = date.isToday();
+    if (_isToday) {
+      StringConcatenation _builder_1 = new StringConcatenation();
+      _builder_1.append("\"today\"");
+      return _builder_1.toString();
+    }
+    boolean _isTomorrow = date.isTomorrow();
+    if (_isTomorrow) {
+      StringConcatenation _builder_2 = new StringConcatenation();
+      _builder_2.append("\"tomorrow\"");
+      return _builder_2.toString();
+    }
+    StringConcatenation _builder_3 = new StringConcatenation();
+    _builder_3.append("\"");
+    int _year = date.getYear();
+    int _month = date.getMonth();
+    int _day = date.getDay();
+    String _format = String.format("%04d-%02d-%02d", Integer.valueOf(_year), Integer.valueOf(_month), Integer.valueOf(_day));
+    String _plus = (_builder_3.toString() + _format);
+    StringConcatenation _builder_4 = new StringConcatenation();
+    _builder_4.append("\"");
+    return (_plus + _builder_4);
+  }
+  
+  /**
+   * generate the main mock data generator for the EntityMockPackage
+   */
+  public void generateMockDataGenerator(final EntityMockModel model, final IJvmDeclaredTypeAcceptor acceptor, final EntityMockPackage pckg) {
+    StringConcatenation _builder = new StringConcatenation();
+    String _entityMockName = EntityMockDSLJvmModelInferrer.getEntityMockName(pckg);
+    _builder.append(_entityMockName, "");
+    _builder.append(".");
+    _builder.append(EntityMockDSLJvmModelInferrer.ENTITY_MOCK_GENERATOR, "");
+    JvmGenericType _class = this._jvmTypesBuilder.toClass(model, _builder.toString());
+    final Procedure1<JvmGenericType> _function = new Procedure1<JvmGenericType>() {
+      public void apply(final JvmGenericType it) {
+        EList<JvmTypeReference> _superTypes = it.getSuperTypes();
+        JvmTypeReference _typeRef = EntityMockDSLJvmModelInferrer.this._typeReferenceBuilder.typeRef(AEntityMockDataGenerator.class);
+        EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.<JvmTypeReference>operator_add(_superTypes, _typeRef);
+        it.setFinal(true);
+        JvmField field = null;
+        JvmTypeReference _typeRef_1 = EntityMockDSLJvmModelInferrer.this._typeReferenceBuilder.typeRef(Logger.class);
+        final Procedure1<JvmField> _function = new Procedure1<JvmField>() {
+          public void apply(final JvmField it) {
+            final Procedure1<ITreeAppendable> _function = new Procedure1<ITreeAppendable>() {
+              public void apply(final ITreeAppendable it) {
+                StringConcatenation _builder = new StringConcatenation();
+                _builder.append("LoggerFactory.getLogger(");
+                String _entityMockName = EntityMockDSLJvmModelInferrer.getEntityMockName(pckg);
+                _builder.append(_entityMockName, "");
+                _builder.append(".");
+                _builder.append(EntityMockDSLJvmModelInferrer.ENTITY_MOCK_GENERATOR, "");
+                _builder.append(".class)");
+                it.append(_builder);
+              }
+            };
+            EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.setInitializer(it, _function);
+          }
+        };
+        JvmField _field = EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.toField(model, "log", _typeRef_1, _function);
+        field = _field;
+        field.setFinal(true);
+        field.setStatic(true);
+        EList<JvmMember> _members = it.getMembers();
+        EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.<JvmField>operator_add(_members, field);
+        EList<JvmMember> _members_1 = it.getMembers();
+        StringConcatenation _builder = new StringConcatenation();
+        _builder.append("getRunWithPriority");
+        JvmTypeReference _typeRef_2 = EntityMockDSLJvmModelInferrer.this._typeReferenceBuilder.typeRef(int.class);
+        final Procedure1<JvmOperation> _function_1 = new Procedure1<JvmOperation>() {
+          public void apply(final JvmOperation it) {
+            EList<JvmAnnotationReference> _annotations = it.getAnnotations();
+            JvmAnnotationReference _annotation = EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.toAnnotation(pckg, Override.class);
+            EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.<JvmAnnotationReference>operator_add(_annotations, _annotation);
+            final Procedure1<ITreeAppendable> _function = new Procedure1<ITreeAppendable>() {
+              public void apply(final ITreeAppendable it) {
+                int count = IEntityMockDataGenerator.DEFAULT_PRIORITY;
+                int _runPriority = pckg.getRunPriority();
+                boolean _greaterThan = (_runPriority > 0);
+                if (_greaterThan) {
+                  int _runPriority_1 = pckg.getRunPriority();
+                  count = _runPriority_1;
+                }
+                StringConcatenation _builder = new StringConcatenation();
+                _builder.append("return ");
+                _builder.append(count, "");
+                _builder.append(";");
+                _builder.newLineIfNotEmpty();
+                it.append(_builder);
+              }
+            };
+            EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.setBody(it, _function);
+          }
+        };
+        JvmOperation _method = EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.toMethod(model, _builder.toString(), _typeRef_2, _function_1);
+        EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.<JvmOperation>operator_add(_members_1, _method);
+        EList<JvmMember> _members_2 = it.getMembers();
+        StringConcatenation _builder_1 = new StringConcatenation();
+        _builder_1.append("getDataInterchangeSteps");
+        JvmTypeReference _typeRef_3 = EntityMockDSLJvmModelInferrer.this._typeReferenceBuilder.typeRef(int.class);
+        final Procedure1<JvmOperation> _function_2 = new Procedure1<JvmOperation>() {
+          public void apply(final JvmOperation it) {
+            EList<JvmAnnotationReference> _annotations = it.getAnnotations();
+            JvmAnnotationReference _annotation = EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.toAnnotation(pckg, Override.class);
+            EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.<JvmAnnotationReference>operator_add(_annotations, _annotation);
+            final Procedure1<ITreeAppendable> _function = new Procedure1<ITreeAppendable>() {
+              public void apply(final ITreeAppendable it) {
+                int count = 0;
+                RunningDataInterchanges _datainterchanges = pckg.getDatainterchanges();
+                boolean _notEquals = (!Objects.equal(_datainterchanges, null));
+                if (_notEquals) {
+                  RunningDataInterchanges _datainterchanges_1 = pckg.getDatainterchanges();
+                  EList<RunningDataInterchange> _datainterchanges_2 = _datainterchanges_1.getDatainterchanges();
+                  int _size = _datainterchanges_2.size();
+                  count = _size;
+                }
+                StringConcatenation _builder = new StringConcatenation();
+                _builder.append("return ");
+                _builder.append(count, "");
+                _builder.append(";");
+                _builder.newLineIfNotEmpty();
+                it.append(_builder);
+              }
+            };
+            EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.setBody(it, _function);
+          }
+        };
+        JvmOperation _method_1 = EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.toMethod(model, _builder_1.toString(), _typeRef_3, _function_2);
+        EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.<JvmOperation>operator_add(_members_2, _method_1);
+        EList<JvmMember> _members_3 = it.getMembers();
+        StringConcatenation _builder_2 = new StringConcatenation();
+        _builder_2.append("getEntityMockSteps");
+        JvmTypeReference _typeRef_4 = EntityMockDSLJvmModelInferrer.this._typeReferenceBuilder.typeRef(int.class);
+        final Procedure1<JvmOperation> _function_3 = new Procedure1<JvmOperation>() {
+          public void apply(final JvmOperation it) {
+            EList<JvmAnnotationReference> _annotations = it.getAnnotations();
+            JvmAnnotationReference _annotation = EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.toAnnotation(pckg, Override.class);
+            EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.<JvmAnnotationReference>operator_add(_annotations, _annotation);
+            final Procedure1<ITreeAppendable> _function = new Procedure1<ITreeAppendable>() {
+              public void apply(final ITreeAppendable it) {
+                int count = 0;
+                EntityMockEntities _entities = pckg.getEntities();
+                boolean _notEquals = (!Objects.equal(_entities, null));
+                if (_notEquals) {
+                  EntityMockEntities _entities_1 = pckg.getEntities();
+                  EList<EntityMockEntity> _entities_2 = _entities_1.getEntities();
+                  int _size = _entities_2.size();
+                  count = _size;
+                }
+                StringConcatenation _builder = new StringConcatenation();
+                _builder.append("return ");
+                _builder.append(count, "");
+                _builder.append(";");
+                _builder.newLineIfNotEmpty();
+                it.append(_builder);
+              }
+            };
+            EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.setBody(it, _function);
+          }
+        };
+        JvmOperation _method_2 = EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.toMethod(model, _builder_2.toString(), _typeRef_4, _function_3);
+        EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.<JvmOperation>operator_add(_members_3, _method_2);
+        EList<JvmMember> _members_4 = it.getMembers();
+        StringConcatenation _builder_3 = new StringConcatenation();
+        _builder_3.append("runDataInterchanges");
+        JvmTypeReference _typeRef_5 = EntityMockDSLJvmModelInferrer.this._typeReferenceBuilder.typeRef(Void.TYPE);
+        final Procedure1<JvmOperation> _function_4 = new Procedure1<JvmOperation>() {
+          public void apply(final JvmOperation it) {
+            EList<JvmFormalParameter> _parameters = it.getParameters();
+            JvmTypeReference _typeRef = EntityMockDSLJvmModelInferrer.this._typeReferenceBuilder.typeRef(IPersistenceService.class);
+            JvmFormalParameter _parameter = EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.toParameter(pckg, "persistenceService", _typeRef);
+            EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters, _parameter);
+            EList<JvmFormalParameter> _parameters_1 = it.getParameters();
+            JvmTypeReference _typeRef_1 = EntityMockDSLJvmModelInferrer.this._typeReferenceBuilder.typeRef(IEntityMockDataDbFiller.class);
+            JvmFormalParameter _parameter_1 = EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.toParameter(pckg, "entityMockDbFiller", _typeRef_1);
+            EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters_1, _parameter_1);
+            final Procedure1<ITreeAppendable> _function = new Procedure1<ITreeAppendable>() {
+              public void apply(final ITreeAppendable it) {
+                RunningDataInterchanges _datainterchanges = pckg.getDatainterchanges();
+                boolean _notEquals = (!Objects.equal(_datainterchanges, null));
+                if (_notEquals) {
+                  RunningDataInterchanges _datainterchanges_1 = pckg.getDatainterchanges();
+                  EList<RunningDataInterchange> _datainterchanges_2 = _datainterchanges_1.getDatainterchanges();
+                  for (final RunningDataInterchange runDatainterchange : _datainterchanges_2) {
+                    StringConcatenation _builder = new StringConcatenation();
+                    _builder.append("try {");
+                    _builder.newLine();
+                    _builder.append("\t");
+                    _builder.append("entityMockDbFiller.notifyInitializationStep(\"datainterchange ");
+                    DataInterchange _datainterchangeRef = runDatainterchange.getDatainterchangeRef();
+                    String _name = _datainterchangeRef.getName();
+                    _builder.append(_name, "\t");
+                    _builder.append("\", 1, 0.3);");
+                    _builder.newLineIfNotEmpty();
+                    _builder.append("\t");
+                    DataInterchange _datainterchangeRef_1 = runDatainterchange.getDatainterchangeRef();
+                    String _fileURL = runDatainterchange.getFileURL();
+                    String _basicRunConfiguration = EntityMockDSLJvmModelInferrer.this._dataDSLJvmModelInferrer.getBasicRunConfiguration(_datainterchangeRef_1, true, _fileURL);
+                    _builder.append(_basicRunConfiguration, "\t");
+                    _builder.newLineIfNotEmpty();
+                    _builder.append("\t");
+                    _builder.append("entityMockDbFiller.notifyInitializationStep(\"datainterchange ");
+                    DataInterchange _datainterchangeRef_2 = runDatainterchange.getDatainterchangeRef();
+                    String _name_1 = _datainterchangeRef_2.getName();
+                    _builder.append(_name_1, "\t");
+                    _builder.append("\", 0, 0.4);");
+                    _builder.newLineIfNotEmpty();
+                    _builder.append("\t");
+                    DataInterchange _datainterchangeRef_3 = runDatainterchange.getDatainterchangeRef();
+                    String _defaultVariableName = EntityMockDSLJvmModelInferrer.this._dataDSLJvmModelInferrer.getDefaultVariableName(_datainterchangeRef_3);
+                    _builder.append(_defaultVariableName, "\t");
+                    _builder.append(".run(entityMockDbFiller);");
+                    _builder.newLineIfNotEmpty();
+                    _builder.append("\t");
+                    _builder.append("entityMockDbFiller.notifyInitializationStep(\"datainterchange ");
+                    DataInterchange _datainterchangeRef_4 = runDatainterchange.getDatainterchangeRef();
+                    String _name_2 = _datainterchangeRef_4.getName();
+                    _builder.append(_name_2, "\t");
+                    _builder.append("\", 0, 0.9);");
+                    _builder.newLineIfNotEmpty();
+                    _builder.append("} ");
+                    _builder.newLine();
+                    _builder.append("catch (Exception e) {");
+                    _builder.newLine();
+                    _builder.append("\t");
+                    _builder.append("log.error(e.getLocalizedMessage()+e.getCause());");
+                    _builder.newLine();
+                    _builder.append("}");
+                    _builder.newLine();
+                    it.append(_builder);
+                  }
+                }
+              }
+            };
+            EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.setBody(it, _function);
+          }
+        };
+        JvmOperation _method_3 = EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.toMethod(model, _builder_3.toString(), _typeRef_5, _function_4);
+        EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.<JvmOperation>operator_add(_members_4, _method_3);
+        EList<JvmMember> _members_5 = it.getMembers();
+        StringConcatenation _builder_4 = new StringConcatenation();
+        _builder_4.append("getMockData");
+        JvmTypeReference _typeRef_6 = EntityMockDSLJvmModelInferrer.this._typeReferenceBuilder.typeRef(Map.class);
+        final Procedure1<JvmOperation> _function_5 = new Procedure1<JvmOperation>() {
+          public void apply(final JvmOperation it) {
+            EList<JvmFormalParameter> _parameters = it.getParameters();
+            JvmTypeReference _typeRef = EntityMockDSLJvmModelInferrer.this._typeReferenceBuilder.typeRef(IEntityMockDataDbFiller.class);
+            JvmFormalParameter _parameter = EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.toParameter(pckg, "entityMockDbFiller", _typeRef);
+            EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters, _parameter);
+            final Procedure1<ITreeAppendable> _function = new Procedure1<ITreeAppendable>() {
+              public void apply(final ITreeAppendable it) {
+                StringConcatenation _builder = new StringConcatenation();
+                _builder.append("initialize();");
+                _builder.newLine();
+                it.append(_builder);
+                ArrayList<EntityMockEntity> mockEntitiesDone = new ArrayList<EntityMockEntity>();
+                ArrayList<EntityMockEntity> mockEntitiesToDo = new ArrayList<EntityMockEntity>();
+                EntityMockEntities _entities = pckg.getEntities();
+                EList<EntityMockEntity> _entities_1 = null;
+                if (_entities!=null) {
+                  _entities_1=_entities.getEntities();
+                }
+                mockEntitiesToDo.addAll(_entities_1);
+                boolean breakTodo = false;
+                while (((!mockEntitiesToDo.isEmpty()) && (!breakTodo))) {
+                  {
+                    int handled = 0;
+                    Object[] mockEntitesStepping = mockEntitiesToDo.toArray();
+                    for (final Object mockEntityO : mockEntitesStepping) {
+                      {
+                        EntityMockEntity mockEntity = ((EntityMockEntity) mockEntityO);
+                        boolean _canBeHandled = EntityMockDSLJvmModelInferrer.this.canBeHandled(mockEntity, mockEntitiesDone);
+                        if (_canBeHandled) {
+                          handled++;
+                          IIterate _iterate = mockEntity.getIterate();
+                          if ((_iterate instanceof IntegerIterate)) {
+                            IIterate _iterate_1 = mockEntity.getIterate();
+                            IntegerIterate iterate = ((IntegerIterate) _iterate_1);
+                            StringConcatenation _builder_1 = new StringConcatenation();
+                            _builder_1.append("entityMockDbFiller.notifyInitializationStep(\"generate ");
+                            String _entityMockName = EntityMockDSLJvmModelInferrer.this.getEntityMockName(mockEntity);
+                            _builder_1.append(_entityMockName, "");
+                            _builder_1.append("\", 1, 0.3);");
+                            _builder_1.newLineIfNotEmpty();
+                            String _entityMockName_1 = EntityMockDSLJvmModelInferrer.this.getEntityMockName(mockEntity);
+                            _builder_1.append(_entityMockName_1, "");
+                            _builder_1.append(" entity");
+                            String _name = mockEntity.getName();
+                            _builder_1.append(_name, "");
+                            _builder_1.append(" = new ");
+                            String _entityMockName_2 = EntityMockDSLJvmModelInferrer.this.getEntityMockName(mockEntity);
+                            _builder_1.append(_entityMockName_2, "");
+                            _builder_1.append("(this);");
+                            _builder_1.newLineIfNotEmpty();
+                            _builder_1.append("Iterator<Integer> iterator");
+                            String _name_1 = mockEntity.getName();
+                            _builder_1.append(_name_1, "");
+                            _builder_1.append(" = new IntegerIterator(");
+                            int _from = iterate.getFrom();
+                            _builder_1.append(_from, "");
+                            _builder_1.append(", ");
+                            int _until = iterate.getUntil();
+                            _builder_1.append(_until, "");
+                            _builder_1.append(", ");
+                            int _step = iterate.getStep();
+                            _builder_1.append(_step, "");
+                            _builder_1.append(");");
+                            _builder_1.newLineIfNotEmpty();
+                            _builder_1.append("List list");
+                            String _name_2 = mockEntity.getName();
+                            _builder_1.append(_name_2, "");
+                            _builder_1.append(" = new ArrayList<");
+                            String _entityDtoFQN = EntityMockDSLJvmModelInferrer.this.getEntityDtoFQN(mockEntity);
+                            _builder_1.append(_entityDtoFQN, "");
+                            _builder_1.append(">();");
+                            _builder_1.newLineIfNotEmpty();
+                            _builder_1.append("entityMockDbFiller.notifyInitializationStep(\"generate ");
+                            String _entityMockName_3 = EntityMockDSLJvmModelInferrer.this.getEntityMockName(mockEntity);
+                            _builder_1.append(_entityMockName_3, "");
+                            _builder_1.append("\", 0, 0.6);");
+                            _builder_1.newLineIfNotEmpty();
+                            _builder_1.append("while (iterator");
+                            String _name_3 = mockEntity.getName();
+                            _builder_1.append(_name_3, "");
+                            _builder_1.append(".hasNext()) {");
+                            _builder_1.newLineIfNotEmpty();
+                            _builder_1.append("    ");
+                            _builder_1.append("list");
+                            String _name_4 = mockEntity.getName();
+                            _builder_1.append(_name_4, "    ");
+                            _builder_1.append(".add(entity");
+                            String _name_5 = mockEntity.getName();
+                            _builder_1.append(_name_5, "    ");
+                            _builder_1.append(".generateEntity(iterator");
+                            String _name_6 = mockEntity.getName();
+                            _builder_1.append(_name_6, "    ");
+                            _builder_1.append(".next()));");
+                            _builder_1.newLineIfNotEmpty();
+                            _builder_1.append("}");
+                            _builder_1.newLine();
+                            _builder_1.append("addMockObjects(\"");
+                            String _name_7 = mockEntity.getName();
+                            _builder_1.append(_name_7, "");
+                            _builder_1.append("\", ");
+                            String _entityDtoFQNClass = EntityMockDSLJvmModelInferrer.this.getEntityDtoFQNClass(mockEntity);
+                            _builder_1.append(_entityDtoFQNClass, "");
+                            _builder_1.append(", \"");
+                            LEntity _entityRef = mockEntity.getEntityRef();
+                            String _persistenceUnit = _entityRef.getPersistenceUnit();
+                            _builder_1.append(_persistenceUnit, "");
+                            _builder_1.append("\", list");
+                            String _name_8 = mockEntity.getName();
+                            _builder_1.append(_name_8, "");
+                            _builder_1.append(");");
+                            _builder_1.newLineIfNotEmpty();
+                            _builder_1.append("entityMockDbFiller.notifyInitializationStep(\"generate ");
+                            String _entityMockName_4 = EntityMockDSLJvmModelInferrer.this.getEntityMockName(mockEntity);
+                            _builder_1.append(_entityMockName_4, "");
+                            _builder_1.append("\", 0, 0.9);");
+                            _builder_1.newLineIfNotEmpty();
+                            it.append(_builder_1);
+                          }
+                          IIterate _iterate_2 = mockEntity.getIterate();
+                          if ((_iterate_2 instanceof DateIterate)) {
+                            IIterate _iterate_3 = mockEntity.getIterate();
+                            DateIterate iterate_1 = ((DateIterate) _iterate_3);
+                            StringConcatenation _builder_2 = new StringConcatenation();
+                            _builder_2.append("entityMockDbFiller.notifyInitializationStep(\"generate ");
+                            String _entityMockName_5 = EntityMockDSLJvmModelInferrer.this.getEntityMockName(mockEntity);
+                            _builder_2.append(_entityMockName_5, "");
+                            _builder_2.append("\", 1, 0.3);");
+                            _builder_2.newLineIfNotEmpty();
+                            String _entityMockName_6 = EntityMockDSLJvmModelInferrer.this.getEntityMockName(mockEntity);
+                            _builder_2.append(_entityMockName_6, "");
+                            _builder_2.append(" entity");
+                            String _name_9 = mockEntity.getName();
+                            _builder_2.append(_name_9, "");
+                            _builder_2.append(" = new ");
+                            String _entityMockName_7 = EntityMockDSLJvmModelInferrer.this.getEntityMockName(mockEntity);
+                            _builder_2.append(_entityMockName_7, "");
+                            _builder_2.append("(this);");
+                            _builder_2.newLineIfNotEmpty();
+                            _builder_2.append("Iterator<Date> iterator");
+                            String _name_10 = mockEntity.getName();
+                            _builder_2.append(_name_10, "");
+                            _builder_2.append(" = new DateIterator(");
+                            org.eclipse.osbp.xtext.entitymock.Date _from_1 = iterate_1.getFrom();
+                            String _asString = EntityMockDSLJvmModelInferrer.this.asString(_from_1);
+                            _builder_2.append(_asString, "");
+                            _builder_2.append(", ");
+                            org.eclipse.osbp.xtext.entitymock.Date _until_1 = iterate_1.getUntil();
+                            String _asString_1 = EntityMockDSLJvmModelInferrer.this.asString(_until_1);
+                            _builder_2.append(_asString_1, "");
+                            _builder_2.append(", ");
+                            int _stepCount = iterate_1.getStepCount();
+                            _builder_2.append(_stepCount, "");
+                            _builder_2.append(", \"");
+                            EDateStepType _stepType = iterate_1.getStepType();
+                            _builder_2.append(_stepType, "");
+                            _builder_2.append("\");");
+                            _builder_2.newLineIfNotEmpty();
+                            _builder_2.append("List list");
+                            String _name_11 = mockEntity.getName();
+                            _builder_2.append(_name_11, "");
+                            _builder_2.append(" = new ArrayList<");
+                            String _entityDtoFQN_1 = EntityMockDSLJvmModelInferrer.this.getEntityDtoFQN(mockEntity);
+                            _builder_2.append(_entityDtoFQN_1, "");
+                            _builder_2.append(">();");
+                            _builder_2.newLineIfNotEmpty();
+                            _builder_2.append("entityMockDbFiller.notifyInitializationStep(\"generate ");
+                            String _entityMockName_8 = EntityMockDSLJvmModelInferrer.this.getEntityMockName(mockEntity);
+                            _builder_2.append(_entityMockName_8, "");
+                            _builder_2.append("\", 0, 0.6);");
+                            _builder_2.newLineIfNotEmpty();
+                            _builder_2.append("while (iterator");
+                            String _name_12 = mockEntity.getName();
+                            _builder_2.append(_name_12, "");
+                            _builder_2.append(".hasNext()) {");
+                            _builder_2.newLineIfNotEmpty();
+                            _builder_2.append("    ");
+                            _builder_2.append("list");
+                            String _name_13 = mockEntity.getName();
+                            _builder_2.append(_name_13, "    ");
+                            _builder_2.append(".add(entity");
+                            String _name_14 = mockEntity.getName();
+                            _builder_2.append(_name_14, "    ");
+                            _builder_2.append(".generateEntity(iterator");
+                            String _name_15 = mockEntity.getName();
+                            _builder_2.append(_name_15, "    ");
+                            _builder_2.append(".next()));");
+                            _builder_2.newLineIfNotEmpty();
+                            _builder_2.append("}");
+                            _builder_2.newLine();
+                            _builder_2.append("addMockObjects(\"");
+                            String _name_16 = mockEntity.getName();
+                            _builder_2.append(_name_16, "");
+                            _builder_2.append("\", ");
+                            String _entityDtoFQNClass_1 = EntityMockDSLJvmModelInferrer.this.getEntityDtoFQNClass(mockEntity);
+                            _builder_2.append(_entityDtoFQNClass_1, "");
+                            _builder_2.append(", \"");
+                            LEntity _entityRef_1 = mockEntity.getEntityRef();
+                            String _persistenceUnit_1 = _entityRef_1.getPersistenceUnit();
+                            _builder_2.append(_persistenceUnit_1, "");
+                            _builder_2.append("\", list");
+                            String _name_17 = mockEntity.getName();
+                            _builder_2.append(_name_17, "");
+                            _builder_2.append(");");
+                            _builder_2.newLineIfNotEmpty();
+                            _builder_2.append("entityMockDbFiller.notifyInitializationStep(\"generate ");
+                            String _entityMockName_9 = EntityMockDSLJvmModelInferrer.this.getEntityMockName(mockEntity);
+                            _builder_2.append(_entityMockName_9, "");
+                            _builder_2.append("\", 0, 0.9);");
+                            _builder_2.newLineIfNotEmpty();
+                            it.append(_builder_2);
+                          } else {
+                            EntityMockResource _byResource = mockEntity.getByResource();
+                            boolean _notEquals = (!Objects.equal(_byResource, null));
+                            if (_notEquals) {
+                              StringConcatenation _builder_3 = new StringConcatenation();
+                              _builder_3.append("entityMockDbFiller.notifyInitializationStep(\"generate ");
+                              String _entityMockName_10 = EntityMockDSLJvmModelInferrer.this.getEntityMockName(mockEntity);
+                              _builder_3.append(_entityMockName_10, "");
+                              _builder_3.append("\", 1, 0.3);");
+                              _builder_3.newLineIfNotEmpty();
+                              String _entityMockName_11 = EntityMockDSLJvmModelInferrer.this.getEntityMockName(mockEntity);
+                              _builder_3.append(_entityMockName_11, "");
+                              _builder_3.append(" entity");
+                              String _name_18 = mockEntity.getName();
+                              _builder_3.append(_name_18, "");
+                              _builder_3.append(" = new ");
+                              String _entityMockName_12 = EntityMockDSLJvmModelInferrer.this.getEntityMockName(mockEntity);
+                              _builder_3.append(_entityMockName_12, "");
+                              _builder_3.append("(this);");
+                              _builder_3.newLineIfNotEmpty();
+                              _builder_3.append("List list");
+                              String _name_19 = mockEntity.getName();
+                              _builder_3.append(_name_19, "");
+                              _builder_3.append(" = new ArrayList<");
+                              String _entityDtoFQN_2 = EntityMockDSLJvmModelInferrer.this.getEntityDtoFQN(mockEntity);
+                              _builder_3.append(_entityDtoFQN_2, "");
+                              _builder_3.append(">();");
+                              _builder_3.newLineIfNotEmpty();
+                              _builder_3.append("Iterator iterator");
+                              String _name_20 = mockEntity.getName();
+                              _builder_3.append(_name_20, "");
+                              _builder_3.append(" = entity");
+                              String _name_21 = mockEntity.getName();
+                              _builder_3.append(_name_21, "");
+                              _builder_3.append(".getDataRows().iterator();");
+                              _builder_3.newLineIfNotEmpty();
+                              _builder_3.append("entityMockDbFiller.notifyInitializationStep(\"generate ");
+                              String _entityMockName_13 = EntityMockDSLJvmModelInferrer.this.getEntityMockName(mockEntity);
+                              _builder_3.append(_entityMockName_13, "");
+                              _builder_3.append("\", 0, 0.6);");
+                              _builder_3.newLineIfNotEmpty();
+                              _builder_3.append("while (iterator");
+                              String _name_22 = mockEntity.getName();
+                              _builder_3.append(_name_22, "");
+                              _builder_3.append(".hasNext()) {");
+                              _builder_3.newLineIfNotEmpty();
+                              _builder_3.append("    ");
+                              _builder_3.append("list");
+                              String _name_23 = mockEntity.getName();
+                              _builder_3.append(_name_23, "    ");
+                              _builder_3.append(".add(entity");
+                              String _name_24 = mockEntity.getName();
+                              _builder_3.append(_name_24, "    ");
+                              _builder_3.append(".generateEntity(iterator");
+                              String _name_25 = mockEntity.getName();
+                              _builder_3.append(_name_25, "    ");
+                              _builder_3.append(".next()));");
+                              _builder_3.newLineIfNotEmpty();
+                              _builder_3.append("}");
+                              _builder_3.newLine();
+                              _builder_3.append("addMockObjects(\"");
+                              String _name_26 = mockEntity.getName();
+                              _builder_3.append(_name_26, "");
+                              _builder_3.append("\", ");
+                              String _entityDtoFQNClass_2 = EntityMockDSLJvmModelInferrer.this.getEntityDtoFQNClass(mockEntity);
+                              _builder_3.append(_entityDtoFQNClass_2, "");
+                              _builder_3.append(", \"");
+                              LEntity _entityRef_2 = mockEntity.getEntityRef();
+                              String _persistenceUnit_2 = _entityRef_2.getPersistenceUnit();
+                              _builder_3.append(_persistenceUnit_2, "");
+                              _builder_3.append("\", list");
+                              String _name_27 = mockEntity.getName();
+                              _builder_3.append(_name_27, "");
+                              _builder_3.append(");");
+                              _builder_3.newLineIfNotEmpty();
+                              _builder_3.append("entityMockDbFiller.notifyInitializationStep(\"generate ");
+                              String _entityMockName_14 = EntityMockDSLJvmModelInferrer.this.getEntityMockName(mockEntity);
+                              _builder_3.append(_entityMockName_14, "");
+                              _builder_3.append("\", 0, 0.9);");
+                              _builder_3.newLineIfNotEmpty();
+                              it.append(_builder_3);
+                              boolean _isCreateBlobMapping = mockEntity.isCreateBlobMapping();
+                              if (_isCreateBlobMapping) {
+                                StringConcatenation _builder_4 = new StringConcatenation();
+                                _builder_4.append("entityMockDbFiller.notifyInitializationStep(\"generate ");
+                                String _entityMockName_15 = EntityMockDSLJvmModelInferrer.this.getEntityMockName(mockEntity);
+                                _builder_4.append(_entityMockName_15, "");
+                                _builder_4.append("Blobs\", 0, 0.93);");
+                                _builder_4.newLineIfNotEmpty();
+                                _builder_4.append("List list");
+                                String _name_28 = mockEntity.getName();
+                                _builder_4.append(_name_28, "");
+                                _builder_4.append("Blobs = new ArrayList<org.eclipse.osbp.utils.blob.dtos.BlobDto>();");
+                                _builder_4.newLineIfNotEmpty();
+                                _builder_4.append("BlobTypingAPI ");
+                                String _name_29 = mockEntity.getName();
+                                _builder_4.append(_name_29, "");
+                                _builder_4.append("BlobTypingAPI = new BlobTypingAPI();");
+                                _builder_4.newLineIfNotEmpty();
+                                _builder_4.append("BlobUpload ");
+                                String _name_30 = mockEntity.getName();
+                                _builder_4.append(_name_30, "");
+                                _builder_4.append("BlobUpload = new BlobUpload();");
+                                _builder_4.newLineIfNotEmpty();
+                                _builder_4.append("entityMockDbFiller.notifyInitializationStep(\"generate ");
+                                String _entityMockName_16 = EntityMockDSLJvmModelInferrer.this.getEntityMockName(mockEntity);
+                                _builder_4.append(_entityMockName_16, "");
+                                _builder_4.append("Blobs\", 0, 0.96);");
+                                _builder_4.newLineIfNotEmpty();
+                                _builder_4.append("for (Object list");
+                                String _name_31 = mockEntity.getName();
+                                _builder_4.append(_name_31, "");
+                                _builder_4.append("Object : list");
+                                String _name_32 = mockEntity.getName();
+                                _builder_4.append(_name_32, "");
+                                _builder_4.append(") {");
+                                _builder_4.newLineIfNotEmpty();
+                                _builder_4.append("    ");
+                                _builder_4.append("if  (list");
+                                String _name_33 = mockEntity.getName();
+                                _builder_4.append(_name_33, "    ");
+                                _builder_4.append("Object instanceof org.eclipse.osbp.utils.blob.dtos.BlobMappingDto) {");
+                                _builder_4.newLineIfNotEmpty();
+                                _builder_4.append("        ");
+                                _builder_4.append("org.eclipse.osbp.utils.blob.dtos.BlobMappingDto blobMappingDto = (org.eclipse.osbp.utils.blob.dtos.BlobMappingDto)list");
+                                String _name_34 = mockEntity.getName();
+                                _builder_4.append(_name_34, "        ");
+                                _builder_4.append("Object;");
+                                _builder_4.newLineIfNotEmpty();
+                                _builder_4.append("        ");
+                                _builder_4.append("try {");
+                                _builder_4.newLine();
+                                _builder_4.append("            ");
+                                _builder_4.append("InputStream inputStream = new BufferedInputStream(this.getClass().getClassLoader().getResourceAsStream(\"/resources/entitymock/\"+blobMappingDto.getFileName()));");
+                                _builder_4.newLine();
+                                _builder_4.append("            ");
+                                _builder_4.append("if  (inputStream != null) {");
+                                _builder_4.newLine();
+                                _builder_4.append("                ");
+                                _builder_4.append("List<org.eclipse.osbp.utils.blob.dtos.BlobDto> blobs = ");
+                                String _name_35 = mockEntity.getName();
+                                _builder_4.append(_name_35, "                ");
+                                _builder_4.append("BlobUpload.createBlobMappingBlobs(");
+                                _builder_4.newLineIfNotEmpty();
+                                _builder_4.append("                    ");
+                                _builder_4.append("inputStream,");
+                                _builder_4.newLine();
+                                _builder_4.append("                    ");
+                                String _name_36 = mockEntity.getName();
+                                _builder_4.append(_name_36, "                    ");
+                                _builder_4.append("BlobTypingAPI.getMimeTypeContentTypeById(blobMappingDto.getMimeTypeId()),");
+                                _builder_4.newLineIfNotEmpty();
+                                _builder_4.append("                    ");
+                                String _name_37 = mockEntity.getName();
+                                _builder_4.append(_name_37, "                    ");
+                                _builder_4.append("BlobTypingAPI,");
+                                _builder_4.newLineIfNotEmpty();
+                                _builder_4.append("                    ");
+                                _builder_4.append("blobMappingDto.getId()");
+                                _builder_4.newLine();
+                                _builder_4.append("                ");
+                                _builder_4.append(");");
+                                _builder_4.newLine();
+                                _builder_4.append("                ");
+                                _builder_4.append("blobMappingDto.setBlobsRef(blobs);");
+                                _builder_4.newLine();
+                                _builder_4.append("                ");
+                                _builder_4.append("for (org.eclipse.osbp.utils.blob.dtos.BlobDto blob : blobs) {");
+                                _builder_4.newLine();
+                                _builder_4.append("                    ");
+                                _builder_4.append("list");
+                                String _name_38 = mockEntity.getName();
+                                _builder_4.append(_name_38, "                    ");
+                                _builder_4.append("Blobs.add(blob);");
+                                _builder_4.newLineIfNotEmpty();
+                                _builder_4.append("                ");
+                                _builder_4.append("}");
+                                _builder_4.newLine();
+                                _builder_4.append("            ");
+                                _builder_4.append("}");
+                                _builder_4.newLine();
+                                _builder_4.append("        ");
+                                _builder_4.append("}");
+                                _builder_4.newLine();
+                                _builder_4.append("        ");
+                                _builder_4.append("catch (Exception e) {");
+                                _builder_4.newLine();
+                                _builder_4.append("            ");
+                                _builder_4.append("log.error(e.getLocalizedMessage()+e.getCause());");
+                                _builder_4.newLine();
+                                _builder_4.append("        ");
+                                _builder_4.append("}");
+                                _builder_4.newLine();
+                                _builder_4.append("    ");
+                                _builder_4.append("}");
+                                _builder_4.newLine();
+                                _builder_4.append("}");
+                                _builder_4.newLine();
+                                _builder_4.append("addMockObjects(\"");
+                                String _name_39 = mockEntity.getName();
+                                _builder_4.append(_name_39, "");
+                                _builder_4.append("Blobs\", org.eclipse.osbp.utils.blob.dtos.BlobDto.class, \"blob\", list");
+                                String _name_40 = mockEntity.getName();
+                                _builder_4.append(_name_40, "");
+                                _builder_4.append("Blobs);");
+                                _builder_4.newLineIfNotEmpty();
+                                _builder_4.append("entityMockDbFiller.notifyInitializationStep(\"generate ");
+                                String _entityMockName_17 = EntityMockDSLJvmModelInferrer.this.getEntityMockName(mockEntity);
+                                _builder_4.append(_entityMockName_17, "");
+                                _builder_4.append("Blobs\", 0, 0.99);");
+                                _builder_4.newLineIfNotEmpty();
+                                it.append(_builder_4);
+                              }
+                            } else {
+                              StringConcatenation _builder_5 = new StringConcatenation();
+                              _builder_5.append("entityMockDbFiller.notifyInitializationStep(\"generate ");
+                              String _entityMockName_18 = EntityMockDSLJvmModelInferrer.this.getEntityMockName(mockEntity);
+                              _builder_5.append(_entityMockName_18, "");
+                              _builder_5.append("\", 1, 0.3);");
+                              _builder_5.newLineIfNotEmpty();
+                              String _entityMockName_19 = EntityMockDSLJvmModelInferrer.this.getEntityMockName(mockEntity);
+                              _builder_5.append(_entityMockName_19, "");
+                              _builder_5.append(" entity");
+                              String _name_41 = mockEntity.getName();
+                              _builder_5.append(_name_41, "");
+                              _builder_5.append(" = new ");
+                              String _entityMockName_20 = EntityMockDSLJvmModelInferrer.this.getEntityMockName(mockEntity);
+                              _builder_5.append(_entityMockName_20, "");
+                              _builder_5.append("(this);");
+                              _builder_5.newLineIfNotEmpty();
+                              _builder_5.append("Iterator<Integer> iterator");
+                              String _name_42 = mockEntity.getName();
+                              _builder_5.append(_name_42, "");
+                              _builder_5.append(" = new IntegerIterator(1, fillerProvider.signedinteger(");
+                              int _minRows = mockEntity.getMinRows();
+                              _builder_5.append(_minRows, "");
+                              _builder_5.append(", ");
+                              int _maxRows = mockEntity.getMaxRows();
+                              _builder_5.append(_maxRows, "");
+                              _builder_5.append("));");
+                              _builder_5.newLineIfNotEmpty();
+                              _builder_5.append("List list");
+                              String _name_43 = mockEntity.getName();
+                              _builder_5.append(_name_43, "");
+                              _builder_5.append(" = new ArrayList<");
+                              String _entityDtoFQN_3 = EntityMockDSLJvmModelInferrer.this.getEntityDtoFQN(mockEntity);
+                              _builder_5.append(_entityDtoFQN_3, "");
+                              _builder_5.append(">();");
+                              _builder_5.newLineIfNotEmpty();
+                              _builder_5.append("entityMockDbFiller.notifyInitializationStep(\"generate ");
+                              String _entityMockName_21 = EntityMockDSLJvmModelInferrer.this.getEntityMockName(mockEntity);
+                              _builder_5.append(_entityMockName_21, "");
+                              _builder_5.append("\", 0, 0.6);");
+                              _builder_5.newLineIfNotEmpty();
+                              _builder_5.append("while (iterator");
+                              String _name_44 = mockEntity.getName();
+                              _builder_5.append(_name_44, "");
+                              _builder_5.append(".hasNext()) {");
+                              _builder_5.newLineIfNotEmpty();
+                              _builder_5.append("    ");
+                              _builder_5.append("list");
+                              String _name_45 = mockEntity.getName();
+                              _builder_5.append(_name_45, "    ");
+                              _builder_5.append(".add(entity");
+                              String _name_46 = mockEntity.getName();
+                              _builder_5.append(_name_46, "    ");
+                              _builder_5.append(".generateEntity(iterator");
+                              String _name_47 = mockEntity.getName();
+                              _builder_5.append(_name_47, "    ");
+                              _builder_5.append(".next()));");
+                              _builder_5.newLineIfNotEmpty();
+                              _builder_5.append("}");
+                              _builder_5.newLine();
+                              _builder_5.append("addMockObjects(\"");
+                              String _name_48 = mockEntity.getName();
+                              _builder_5.append(_name_48, "");
+                              _builder_5.append("\", ");
+                              String _entityDtoFQNClass_3 = EntityMockDSLJvmModelInferrer.this.getEntityDtoFQNClass(mockEntity);
+                              _builder_5.append(_entityDtoFQNClass_3, "");
+                              _builder_5.append(", \"");
+                              LEntity _entityRef_3 = mockEntity.getEntityRef();
+                              String _persistenceUnit_3 = _entityRef_3.getPersistenceUnit();
+                              _builder_5.append(_persistenceUnit_3, "");
+                              _builder_5.append("\", list");
+                              String _name_49 = mockEntity.getName();
+                              _builder_5.append(_name_49, "");
+                              _builder_5.append(");");
+                              _builder_5.newLineIfNotEmpty();
+                              _builder_5.append("entityMockDbFiller.notifyInitializationStep(\"generate ");
+                              String _entityMockName_22 = EntityMockDSLJvmModelInferrer.this.getEntityMockName(mockEntity);
+                              _builder_5.append(_entityMockName_22, "");
+                              _builder_5.append("\", 0, 0.9);");
+                              _builder_5.newLineIfNotEmpty();
+                              it.append(_builder_5);
+                            }
+                          }
+                          mockEntitiesDone.add(((EntityMockEntity) mockEntity));
+                          mockEntitiesToDo.remove(mockEntity);
+                        }
+                      }
+                    }
+                    breakTodo = (handled == 0);
+                  }
+                }
+                StringConcatenation _builder_1 = new StringConcatenation();
+                _builder_1.append("return mockDataClassMap;");
+                it.append(_builder_1);
+              }
+            };
+            EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.setBody(it, _function);
+          }
+        };
+        JvmOperation _method_4 = EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.toMethod(pckg, _builder_4.toString(), _typeRef_6, _function_5);
+        EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.<JvmOperation>operator_add(_members_5, _method_4);
+      }
+    };
+    acceptor.<JvmGenericType>accept(_class, _function);
+  }
+  
+  /**
+   * The dispatch method {@code infer} is called for each instance of the
+   * given element's type that is contained in a resource.
+   * 
+   * @param element
+   *            the model to create one or more
+   *            {@link JvmDeclaredType declared
+   *            types} from.
+   * @param acceptor
+   *            each created
+   *            {@link JvmDeclaredType type}
+   *            without a container should be passed to the acceptor in order
+   *            get attached to the current resource. The acceptor's
+   *            {@link IJvmDeclaredTypeAcceptor#accept(org.eclipse.xtext.common.types.JvmDeclaredType)
+   *            accept(..)} method takes the constructed empty type for the
+   *            pre-indexing phase. This one is further initialized in the
+   *            indexing phase using the closure you pass to the returned
+   *            {@link IPostIndexingInitializing#initializeLater(org.eclipse.xtext.xbase.lib.Procedures.Procedure1)
+   *            initializeLater(..)}.
+   * @param isPreIndexingPhase
+   *            whether the method is called in a pre-indexing phase, i.e.
+   *            when the global index is not yet fully updated. You must not
+   *            rely on linking using the index if isPreIndexingPhase is
+   *            <code>true</code>.
+   */
+  protected void _infer(final EntityMockModel model, final IJvmDeclaredTypeAcceptor acceptor, final boolean isPreIndexingPhase) {
+    EList<EntityMockPackage> _packages = model.getPackages();
+    final Consumer<EntityMockPackage> _function = new Consumer<EntityMockPackage>() {
+      public void accept(final EntityMockPackage pckg) {
+        EntityMockResources _resources = pckg.getResources();
+        EList<EntityMockResource> _resources_1 = null;
+        if (_resources!=null) {
+          _resources_1=_resources.getResources();
+        }
+        if (_resources_1!=null) {
+          final Consumer<EntityMockResource> _function = new Consumer<EntityMockResource>() {
+            public void accept(final EntityMockResource mockResource) {
+              try {
+                EntityMockDSLJvmModelInferrer.this.generateMockResource(model, acceptor, pckg, mockResource);
+              } catch (final Throwable _t) {
+                if (_t instanceof Exception) {
+                  final Exception e = (Exception)_t;
+                  e.printStackTrace();
+                } else {
+                  throw Exceptions.sneakyThrow(_t);
+                }
+              }
+            }
+          };
+          _resources_1.forEach(_function);
+        }
+        EntityMockObjects _objects = pckg.getObjects();
+        EList<EntityMockObject> _objects_1 = null;
+        if (_objects!=null) {
+          _objects_1=_objects.getObjects();
+        }
+        if (_objects_1!=null) {
+          final Consumer<EntityMockObject> _function_1 = new Consumer<EntityMockObject>() {
+            public void accept(final EntityMockObject mockObject) {
+              try {
+                EntityMockDSLJvmModelInferrer.this.generateMockObject(model, acceptor, pckg, mockObject);
+              } catch (final Throwable _t) {
+                if (_t instanceof Exception) {
+                  final Exception e = (Exception)_t;
+                  e.printStackTrace();
+                } else {
+                  throw Exceptions.sneakyThrow(_t);
+                }
+              }
+            }
+          };
+          _objects_1.forEach(_function_1);
+        }
+        EntityMockEntities _entities = pckg.getEntities();
+        EList<EntityMockEntity> _entities_1 = null;
+        if (_entities!=null) {
+          _entities_1=_entities.getEntities();
+        }
+        if (_entities_1!=null) {
+          final Consumer<EntityMockEntity> _function_2 = new Consumer<EntityMockEntity>() {
+            public void accept(final EntityMockEntity mockEntity) {
+              try {
+                EntityMockDSLJvmModelInferrer.this.generateMockEntity(model, acceptor, pckg, mockEntity);
+              } catch (final Throwable _t) {
+                if (_t instanceof Exception) {
+                  final Exception e = (Exception)_t;
+                  e.printStackTrace();
+                } else {
+                  throw Exceptions.sneakyThrow(_t);
+                }
+              }
+            }
+          };
+          _entities_1.forEach(_function_2);
+        }
+        try {
+          EntityMockDSLJvmModelInferrer.this.generateMockDataGenerator(model, acceptor, pckg);
+        } catch (final Throwable _t) {
+          if (_t instanceof Exception) {
+            final Exception e = (Exception)_t;
+            e.printStackTrace();
+          } else {
+            throw Exceptions.sneakyThrow(_t);
+          }
+        }
+      }
+    };
+    _packages.forEach(_function);
+  }
+  
+  /**
+   * checks if the mockEntityTodo can be handled, considering all requested references to other mock entities,
+   * which may already been mocked
+   */
+  public boolean canBeHandled(final EntityMockEntity mockEntityTodo, final ArrayList<EntityMockEntity> mockEntitiesDone) {
+    EntityMockResource _byResource = mockEntityTodo.getByResource();
+    boolean _notEquals = (!Objects.equal(_byResource, null));
+    if (_notEquals) {
+      return true;
+    }
+    EList<IEntityMockAttribute> _attributes = mockEntityTodo.getAttributes();
+    for (final IEntityMockAttribute attribute : _attributes) {
+      if ((attribute instanceof EntityMockAttributeByReference)) {
+        EntityMockEntity referencedMockEntity = ((EntityMockAttributeByReference) attribute).getMockedEntity();
+        boolean _and = false;
+        boolean _notEquals_1 = (!Objects.equal(referencedMockEntity, null));
+        if (!_notEquals_1) {
+          _and = false;
+        } else {
+          boolean _contains = mockEntitiesDone.contains(referencedMockEntity);
+          boolean _not = (!_contains);
+          _and = _not;
+        }
+        if (_and) {
+          return false;
+        }
+      }
+    }
+    return true;
+  }
+  
+  /**
+   * generate a mock object class
+   */
+  public void generateMockResource(final EntityMockModel model, final IJvmDeclaredTypeAcceptor acceptor, final EntityMockPackage pckg, final EntityMockResource mockResource) {
+    StringConcatenation _builder = new StringConcatenation();
+    String _entityMockName = EntityMockDSLJvmModelInferrer.getEntityMockName(pckg);
+    _builder.append(_entityMockName, "");
+    _builder.append(".");
+    String _entityMockName_1 = this.getEntityMockName(mockResource);
+    _builder.append(_entityMockName_1, "");
+    JvmGenericType _class = this._jvmTypesBuilder.toClass(model, _builder.toString());
+    final Procedure1<JvmGenericType> _function = new Procedure1<JvmGenericType>() {
+      public void apply(final JvmGenericType it) {
+        EList<JvmTypeReference> _superTypes = it.getSuperTypes();
+        JvmTypeReference _typeRef = EntityMockDSLJvmModelInferrer.this._typeReferenceBuilder.typeRef(ABaseMockResource.class);
+        EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.<JvmTypeReference>operator_add(_superTypes, _typeRef);
+        StringConcatenation _builder = new StringConcatenation();
+        _builder.append("<b>This class was auto generated! Leave it unmodified to avoid unpredictable results!</b><br>");
+        _builder.newLine();
+        String _documentation = EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.getDocumentation(mockResource);
+        _builder.append(_documentation, "");
+        _builder.newLineIfNotEmpty();
+        EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.setDocumentation(it, _builder.toString());
+        it.setFinal(true);
+        JvmField field = null;
+        JvmTypeReference _typeRef_1 = EntityMockDSLJvmModelInferrer.this._typeReferenceBuilder.typeRef(Logger.class);
+        final Procedure1<JvmField> _function = new Procedure1<JvmField>() {
+          public void apply(final JvmField it) {
+            final Procedure1<ITreeAppendable> _function = new Procedure1<ITreeAppendable>() {
+              public void apply(final ITreeAppendable it) {
+                StringConcatenation _builder = new StringConcatenation();
+                _builder.append("LoggerFactory.getLogger(");
+                String _entityMockName = EntityMockDSLJvmModelInferrer.getEntityMockName(pckg);
+                _builder.append(_entityMockName, "");
+                _builder.append(".");
+                String _entityMockName_1 = EntityMockDSLJvmModelInferrer.this.getEntityMockName(mockResource);
+                _builder.append(_entityMockName_1, "");
+                _builder.append(".class)");
+                it.append(_builder);
+              }
+            };
+            EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.setInitializer(it, _function);
+          }
+        };
+        JvmField _field = EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.toField(model, "log", _typeRef_1, _function);
+        field = _field;
+        field.setFinal(true);
+        field.setStatic(true);
+        EList<JvmMember> _members = it.getMembers();
+        EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.<JvmField>operator_add(_members, field);
+        EList<JvmMember> _members_1 = it.getMembers();
+        final Procedure1<JvmConstructor> _function_1 = new Procedure1<JvmConstructor>() {
+          public void apply(final JvmConstructor it) {
+            final Procedure1<ITreeAppendable> _function = new Procedure1<ITreeAppendable>() {
+              public void apply(final ITreeAppendable it) {
+                final List<String> attributes = new ArrayList<String>();
+                EList<EntityMockResourceAttribute> _attributes = mockResource.getAttributes();
+                for (final EntityMockResourceAttribute attribute : _attributes) {
+                  StringConcatenation _builder = new StringConcatenation();
+                  _builder.append("\"");
+                  String _name = attribute.getName();
+                  _builder.append(_name, "");
+                  _builder.append("\"");
+                  attributes.add(_builder.toString());
+                }
+                StringConcatenation _builder_1 = new StringConcatenation();
+                _builder_1.append("setAttributes(");
+                String _join = StringUtils.join(attributes, ",");
+                _builder_1.append(_join, "");
+                _builder_1.append(");");
+                _builder_1.newLineIfNotEmpty();
+                it.append(_builder_1);
+                EList<EntityMockResourceDataRow> _datarows = mockResource.getDatarows();
+                for (final EntityMockResourceDataRow datarow : _datarows) {
+                  {
+                    final List<String> values = new ArrayList<String>();
+                    StringConcatenation _builder_2 = new StringConcatenation();
+                    _builder_2.append("\"");
+                    String _name_1 = datarow.getName();
+                    _builder_2.append(_name_1, "");
+                    _builder_2.append("\"");
+                    values.add(_builder_2.toString());
+                    EList<String> _values = datarow.getValues();
+                    for (final String value : _values) {
+                      StringConcatenation _builder_3 = new StringConcatenation();
+                      _builder_3.append("\"");
+                      _builder_3.append(value, "");
+                      _builder_3.append("\"");
+                      values.add(_builder_3.toString());
+                    }
+                    StringConcatenation _builder_4 = new StringConcatenation();
+                    _builder_4.append("addDataRow(");
+                    String _join_1 = StringUtils.join(values, ",");
+                    _builder_4.append(_join_1, "");
+                    _builder_4.append(");");
+                    _builder_4.newLineIfNotEmpty();
+                    it.append(_builder_4);
+                  }
+                }
+              }
+            };
+            EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.setBody(it, _function);
+          }
+        };
+        JvmConstructor _constructor = EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.toConstructor(pckg, _function_1);
+        EntityMockDSLJvmModelInferrer.this._jvmTypesBuilder.<JvmConstructor>operator_add(_members_1, _constructor);
+      }
+    };
+    acceptor.<JvmGenericType>accept(_class, _function);
+  }
+  
+  public void infer(final EObject model, final IJvmDeclaredTypeAcceptor acceptor, final boolean isPreIndexingPhase) {
+    if (model instanceof EntityMockModel) {
+      _infer((EntityMockModel)model, acceptor, isPreIndexingPhase);
+      return;
+    } else if (model != null) {
+      _infer(model, acceptor, isPreIndexingPhase);
+      return;
+    } else {
+      throw new IllegalArgumentException("Unhandled parameter types: " +
+        Arrays.<Object>asList(model, acceptor, isPreIndexingPhase).toString());
+    }
+  }
+}
diff --git a/org.eclipse.osbp.xtext.entitymock/xtend-gen/org/eclipse/osbp/xtext/entitymock/scoping/EntityMockDSLScopeProvider.java b/org.eclipse.osbp.xtext.entitymock/xtend-gen/org/eclipse/osbp/xtext/entitymock/scoping/EntityMockDSLScopeProvider.java
new file mode 100644
index 0000000..6237cec
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/xtend-gen/org/eclipse/osbp/xtext/entitymock/scoping/EntityMockDSLScopeProvider.java
@@ -0,0 +1,548 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ * 
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ * 
+ * 
+ *  This copyright notice shows up in the generated Java code
+ */
+package org.eclipse.osbp.xtext.entitymock.scoping;
+
+import com.google.common.base.Objects;
+import java.util.ArrayList;
+import java.util.List;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.osbp.dsl.semantic.common.types.LEnum;
+import org.eclipse.osbp.dsl.semantic.common.types.LEnumLiteral;
+import org.eclipse.osbp.dsl.semantic.entity.LEntity;
+import org.eclipse.osbp.dsl.semantic.entity.LEntityAttribute;
+import org.eclipse.osbp.dsl.semantic.entity.LEntityReference;
+import org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByObject;
+import org.eclipse.osbp.xtext.entitymock.EntityMockAttributeByReference;
+import org.eclipse.osbp.xtext.entitymock.EntityMockAttributeFiller;
+import org.eclipse.osbp.xtext.entitymock.EntityMockDSLPackage;
+import org.eclipse.osbp.xtext.entitymock.EntityMockEntities;
+import org.eclipse.osbp.xtext.entitymock.EntityMockEntity;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObject;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectArrayValue;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectEmbed;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectEnum;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectFunction;
+import org.eclipse.osbp.xtext.entitymock.EntityMockObjectResourceValue;
+import org.eclipse.osbp.xtext.entitymock.EntityMockReferencedObjectAttribute;
+import org.eclipse.osbp.xtext.entitymock.EntityMockResource;
+import org.eclipse.osbp.xtext.entitymock.EntityMockResourceAttribute;
+import org.eclipse.osbp.xtext.entitymock.EntityMockResourceDataRow;
+import org.eclipse.osbp.xtext.entitymock.EntityMockTemporary;
+import org.eclipse.osbp.xtext.entitymock.IEntityMockObjectAttribute;
+import org.eclipse.xtext.resource.EObjectDescription;
+import org.eclipse.xtext.resource.IEObjectDescription;
+import org.eclipse.xtext.scoping.IScope;
+import org.eclipse.xtext.scoping.impl.MapBasedScope;
+import org.eclipse.xtext.xbase.annotations.typesystem.XbaseWithAnnotationsBatchScopeProvider;
+import org.eclipse.xtext.xbase.lib.CollectionLiterals;
+import org.eclipse.xtext.xbase.lib.IterableExtensions;
+
+/**
+ * This class contains custom scoping description.
+ * 
+ * see : http://www.eclipse.org/Xtext/documentation.html#scoping
+ * on how and when to use it
+ */
+@SuppressWarnings("all")
+public class EntityMockDSLScopeProvider extends XbaseWithAnnotationsBatchScopeProvider {
+  public IScope getScope(final EObject context, final EReference reference) {
+    IScope _xblockexpression = null;
+    {
+      boolean _equals = Objects.equal(reference, EntityMockDSLPackage.Literals.ENTITY_MOCK_OBJECT_ARRAY_VALUE__ENUMERATION);
+      if (_equals) {
+        return this.getScope_MockObjectEnum(context);
+      }
+      boolean _equals_1 = Objects.equal(reference, EntityMockDSLPackage.Literals.ENTITY_MOCK_OBJECT_ITEM_VALUE__DATAROW);
+      if (_equals_1) {
+        return this.getScope_MockObjectEnumValue(context);
+      }
+      boolean _equals_2 = Objects.equal(reference, EntityMockDSLPackage.Literals.ENTITY_MOCK_REFERENCED_OBJECT_ATTRIBUTE__EMBEDDED);
+      if (_equals_2) {
+        return this.getScope_MockObjectEmbed(context);
+      }
+      boolean _equals_3 = Objects.equal(reference, EntityMockDSLPackage.Literals.ENTITY_MOCK_REFERENCED_OBJECT_ATTRIBUTE__ATTRIBUTE);
+      if (_equals_3) {
+        return this.getScope_MockObjectAttribute(context);
+      }
+      boolean _equals_4 = Objects.equal(reference, EntityMockDSLPackage.Literals.ENTITY_MOCK_ATTRIBUTE_BY_OBJECT__ATTRIBUTE_REF);
+      if (_equals_4) {
+        return this.getLEntityAttributes(context);
+      }
+      boolean _equals_5 = Objects.equal(reference, EntityMockDSLPackage.Literals.ENTITY_MOCK_ENTITY__ITERATOR);
+      if (_equals_5) {
+        return this.getLEntityAttributes(context);
+      }
+      boolean _equals_6 = Objects.equal(reference, EntityMockDSLPackage.Literals.ENTITY_MOCK_ATTRIBUTE_FILLER__ATTRIBUTE_REF);
+      if (_equals_6) {
+        return this.getLEntityAttributes(context);
+      }
+      boolean _equals_7 = Objects.equal(reference, EntityMockDSLPackage.Literals.ENTITY_MOCK_ATTRIBUTE_BY_REFERENCE__ATTRIBUTE_REF);
+      if (_equals_7) {
+        return this.getLEntityReferences(context);
+      }
+      boolean _equals_8 = Objects.equal(reference, EntityMockDSLPackage.Literals.ENTITY_MOCK_ATTRIBUTE_BY_OBJECT__ATTRIBUTE_REF);
+      if (_equals_8) {
+        boolean _matched = false;
+        if (!_matched) {
+          if (Objects.equal(context, EntityMockAttributeByObject.class)) {
+            _matched=true;
+            EObject _eContainer = context.eContainer();
+            ArrayList<IEObjectDescription> _entityAttributes = this.getEntityAttributes(((EntityMockEntity) _eContainer), null);
+            return MapBasedScope.createScope(IScope.NULLSCOPE, _entityAttributes);
+          }
+        }
+        if (!_matched) {
+          if (Objects.equal(context, EntityMockEntity.class)) {
+            _matched=true;
+            ArrayList<IEObjectDescription> _entityAttributes_1 = this.getEntityAttributes(((EntityMockEntity) context), null);
+            return MapBasedScope.createScope(IScope.NULLSCOPE, _entityAttributes_1);
+          }
+        }
+      }
+      boolean _equals_9 = Objects.equal(reference, EntityMockDSLPackage.Literals.ENTITY_MOCK_ATTRIBUTE_FILLER__ATTRIBUTE_REF);
+      if (_equals_9) {
+        boolean _matched_1 = false;
+        if (!_matched_1) {
+          if (Objects.equal(context, EntityMockAttributeFiller.class)) {
+            _matched_1=true;
+            EObject _eContainer_1 = context.eContainer();
+            ArrayList<IEObjectDescription> _entityAttributes_2 = this.getEntityAttributes(((EntityMockEntity) _eContainer_1), null);
+            return MapBasedScope.createScope(IScope.NULLSCOPE, _entityAttributes_2);
+          }
+        }
+        if (!_matched_1) {
+          if (Objects.equal(context, EntityMockEntities.class)) {
+            _matched_1=true;
+            ArrayList<IEObjectDescription> _entityAttributes_3 = this.getEntityAttributes(((EntityMockEntities) context), null);
+            return MapBasedScope.createScope(IScope.NULLSCOPE, _entityAttributes_3);
+          }
+        }
+      }
+      boolean _equals_10 = Objects.equal(reference, EntityMockDSLPackage.Literals.ENTITY_MOCK_ATTRIBUTE_BY_REFERENCE__ATTRIBUTE_REF);
+      if (_equals_10) {
+        boolean _matched_2 = false;
+        if (!_matched_2) {
+          if (Objects.equal(context, EntityMockAttributeByReference.class)) {
+            _matched_2=true;
+            EObject _eContainer_2 = context.eContainer();
+            ArrayList<IEObjectDescription> _entityAttributes_4 = this.getEntityAttributes(((EntityMockEntity) _eContainer_2), null);
+            return MapBasedScope.createScope(IScope.NULLSCOPE, _entityAttributes_4);
+          }
+        }
+        if (!_matched_2) {
+          if (Objects.equal(context, EntityMockEntities.class)) {
+            _matched_2=true;
+            ArrayList<IEObjectDescription> _entityAttributes_5 = this.getEntityAttributes(((EntityMockEntities) context), null);
+            return MapBasedScope.createScope(IScope.NULLSCOPE, _entityAttributes_5);
+          }
+        }
+      }
+      boolean _equals_11 = Objects.equal(reference, EntityMockDSLPackage.Literals.ENTITY_MOCK_ATTRIBUTE_BY_REFERENCE__MOCKED_ENTITY);
+      if (_equals_11) {
+        return this.getScope_MockAttributeReferencedMockedEntity(context);
+      }
+      boolean _equals_12 = Objects.equal(reference, EntityMockDSLPackage.Literals.ENTITY_MOCK_OBJECT_RESOURCE_VALUE__RESOURCE_ATTRIBUTE);
+      if (_equals_12) {
+        return this.getScope_MockAttributeResourceAttribute(context);
+      }
+      boolean _equals_13 = Objects.equal(reference, EntityMockDSLPackage.Literals.ENTITY_MOCK_BY_RESOURCE_ATTRIBUTE__RESOURCE_ATTRIBUTE);
+      if (_equals_13) {
+        return this.getScope_MockEntityResourceAttribute(context);
+      }
+      boolean _equals_14 = Objects.equal(reference, EntityMockDSLPackage.Literals.ENTITY_MOCK_BY_RESOURCE_ATTRIBUTE__ATTRIBUTE_REF);
+      if (_equals_14) {
+        return this.getLEntityAttributes(context);
+      }
+      _xblockexpression = super.getScope(context, reference);
+    }
+    return _xblockexpression;
+  }
+  
+  public LEntity getCCEntityRef(final EObject context) {
+    EObject eObj = context;
+    while ((!(eObj instanceof EntityMockEntity))) {
+      EObject _eContainer = eObj.eContainer();
+      eObj = _eContainer;
+    }
+    boolean _notEquals = (!Objects.equal(eObj, null));
+    if (_notEquals) {
+      return ((EntityMockEntity) eObj).getEntityRef();
+    } else {
+      return null;
+    }
+  }
+  
+  public IScope getLEntityAttributes(final EObject context) {
+    ArrayList<IEObjectDescription> result = CollectionLiterals.<IEObjectDescription>newArrayList();
+    LEntity entity = this.getCCEntityRef(context);
+    boolean _notEquals = (!Objects.equal(entity, null));
+    if (_notEquals) {
+      List<LEntityAttribute> _allAttributes = entity.getAllAttributes();
+      for (final LEntityAttribute attr : _allAttributes) {
+        String _name = attr.getName();
+        boolean _notEquals_1 = (!Objects.equal(_name, null));
+        if (_notEquals_1) {
+          String _name_1 = attr.getName();
+          IEObjectDescription _create = EObjectDescription.create(_name_1, ((LEntityAttribute) attr));
+          result.add(_create);
+        }
+      }
+    }
+    return MapBasedScope.createScope(IScope.NULLSCOPE, result);
+  }
+  
+  public IScope getLEntityReferences(final EObject context) {
+    ArrayList<IEObjectDescription> result = CollectionLiterals.<IEObjectDescription>newArrayList();
+    LEntity entity = this.getCCEntityRef(context);
+    boolean _notEquals = (!Objects.equal(entity, null));
+    if (_notEquals) {
+      List<LEntityReference> _allReferences = entity.getAllReferences();
+      for (final LEntityReference ref : _allReferences) {
+        String _name = ref.getName();
+        boolean _notEquals_1 = (!Objects.equal(_name, null));
+        if (_notEquals_1) {
+          String _name_1 = ref.getName();
+          IEObjectDescription _create = EObjectDescription.create(_name_1, ((LEntityReference) ref));
+          result.add(_create);
+        }
+      }
+    }
+    return MapBasedScope.createScope(IScope.NULLSCOPE, result);
+  }
+  
+  /**
+   * get all available entity attributes contained in EntityMockEntities and add them to result
+   */
+  public ArrayList<IEObjectDescription> getEntityAttributes(final EntityMockEntities mockEntities, final ArrayList<IEObjectDescription> result) {
+    ArrayList<IEObjectDescription> iresult = result;
+    boolean _equals = Objects.equal(iresult, null);
+    if (_equals) {
+      ArrayList<IEObjectDescription> _newArrayList = CollectionLiterals.<IEObjectDescription>newArrayList();
+      iresult = _newArrayList;
+    }
+    boolean _notEquals = (!Objects.equal(mockEntities, null));
+    if (_notEquals) {
+      EList<EntityMockEntity> _entities = mockEntities.getEntities();
+      for (final EntityMockEntity mockEntity : _entities) {
+        ArrayList<IEObjectDescription> _entityAttributes = this.getEntityAttributes(mockEntity, iresult);
+        iresult = _entityAttributes;
+      }
+    }
+    return iresult;
+  }
+  
+  /**
+   * get all available entity attributes contained in EntityMockEntity and add them to result
+   */
+  public ArrayList<IEObjectDescription> getEntityAttributes(final EntityMockEntity mockEntity, final ArrayList<IEObjectDescription> result) {
+    ArrayList<IEObjectDescription> iresult = result;
+    boolean _equals = Objects.equal(iresult, null);
+    if (_equals) {
+      ArrayList<IEObjectDescription> _newArrayList = CollectionLiterals.<IEObjectDescription>newArrayList();
+      iresult = _newArrayList;
+    }
+    boolean _notEquals = (!Objects.equal(mockEntity, null));
+    if (_notEquals) {
+      LEntity _entityRef = mockEntity.getEntityRef();
+      ArrayList<IEObjectDescription> _entityAttributes = this.getEntityAttributes(_entityRef, iresult);
+      iresult = _entityAttributes;
+    }
+    return iresult;
+  }
+  
+  /**
+   * get all available entity attributes contained in LEntity and add them to result
+   */
+  public ArrayList<IEObjectDescription> getEntityAttributes(final LEntity entity, final ArrayList<IEObjectDescription> result) {
+    ArrayList<IEObjectDescription> iresult = result;
+    boolean _equals = Objects.equal(iresult, null);
+    if (_equals) {
+      ArrayList<IEObjectDescription> _newArrayList = CollectionLiterals.<IEObjectDescription>newArrayList();
+      iresult = _newArrayList;
+    }
+    boolean _notEquals = (!Objects.equal(entity, null));
+    if (_notEquals) {
+      List<LEntityAttribute> _allAttributes = entity.getAllAttributes();
+      for (final LEntityAttribute attribute : _allAttributes) {
+        String _name = attribute.getName();
+        boolean _notEquals_1 = (!Objects.equal(_name, null));
+        if (_notEquals_1) {
+          String _name_1 = attribute.getName();
+          IEObjectDescription _create = EObjectDescription.create(_name_1, attribute);
+          iresult.add(_create);
+        }
+      }
+    }
+    return iresult;
+  }
+  
+  /**
+   * get all available entity attributes contained in LEntity and return them as an IScope
+   */
+  public IScope getLEntity_attributeRef(final EObject context, final LEntity entity) {
+    ArrayList<IEObjectDescription> result = CollectionLiterals.<IEObjectDescription>newArrayList();
+    boolean _notEquals = (!Objects.equal(entity, null));
+    if (_notEquals) {
+      List<LEntityAttribute> _allAttributes = entity.getAllAttributes();
+      for (final LEntityAttribute attribute : _allAttributes) {
+        String _name = attribute.getName();
+        boolean _notEquals_1 = (!Objects.equal(_name, null));
+        if (_notEquals_1) {
+          String _name_1 = attribute.getName();
+          IEObjectDescription _create = EObjectDescription.create(_name_1, attribute);
+          result.add(_create);
+        }
+      }
+    }
+    return MapBasedScope.createScope(IScope.NULLSCOPE, result);
+  }
+  
+  /**
+   * get all available mock objects and add them as an IScope
+   */
+  public IScope getScope_MockObjectEmbed(final EObject object) {
+    final ArrayList<IEObjectDescription> result = CollectionLiterals.<IEObjectDescription>newArrayList();
+    EntityMockReferencedObjectAttribute emroa = ((EntityMockReferencedObjectAttribute) null);
+    if ((object instanceof EntityMockReferencedObjectAttribute)) {
+      emroa = ((EntityMockReferencedObjectAttribute)object);
+    }
+    if ((object instanceof EntityMockAttributeByObject)) {
+      EntityMockReferencedObjectAttribute _reference = ((EntityMockAttributeByObject)object).getReference();
+      emroa = _reference;
+    }
+    EntityMockTemporary _temporary = emroa.getTemporary();
+    EntityMockObject mockObject = _temporary.getObject();
+    this.getScope_MockObjectRecursiveEmbed(result, mockObject);
+    return MapBasedScope.createScope(IScope.NULLSCOPE, result);
+  }
+  
+  /**
+   * get all available mock objects recursively and add them to result
+   */
+  public void getScope_MockObjectRecursiveEmbed(final List<IEObjectDescription> result, final EntityMockObject mockObject) {
+    boolean _notEquals = (!Objects.equal(mockObject, null));
+    if (_notEquals) {
+      EList<IEntityMockObjectAttribute> _attributes = mockObject.getAttributes();
+      for (final IEntityMockObjectAttribute attribute : _attributes) {
+        if ((attribute instanceof EntityMockObjectEmbed)) {
+          String _name = ((EntityMockObjectEmbed)attribute).getName();
+          IEObjectDescription _create = EObjectDescription.create(_name, attribute);
+          result.add(_create);
+          EntityMockObject _object = ((EntityMockObjectEmbed)attribute).getObject();
+          this.getScope_MockObjectRecursiveEmbed(result, _object);
+        }
+      }
+    }
+  }
+  
+  /**
+   * get all available enumerations and attributes of a mock object recursively and add them as an IScope
+   */
+  public IScope getScope_MockObjectAttribute(final EObject object) {
+    ArrayList<IEObjectDescription> result = CollectionLiterals.<IEObjectDescription>newArrayList();
+    EntityMockReferencedObjectAttribute emroa = ((EntityMockReferencedObjectAttribute) null);
+    if ((object instanceof EntityMockReferencedObjectAttribute)) {
+      emroa = ((EntityMockReferencedObjectAttribute)object);
+    }
+    if ((object instanceof EntityMockAttributeByObject)) {
+      EntityMockReferencedObjectAttribute _reference = ((EntityMockAttributeByObject)object).getReference();
+      emroa = _reference;
+    }
+    EntityMockTemporary _temporary = emroa.getTemporary();
+    EntityMockObject mockObject = _temporary.getObject();
+    EList<EntityMockObjectEmbed> _embedded = emroa.getEmbedded();
+    boolean _isEmpty = _embedded.isEmpty();
+    boolean _not = (!_isEmpty);
+    if (_not) {
+      EList<EntityMockObjectEmbed> _embedded_1 = emroa.getEmbedded();
+      EntityMockObjectEmbed _last = IterableExtensions.<EntityMockObjectEmbed>last(_embedded_1);
+      EntityMockObject _object = _last.getObject();
+      mockObject = _object;
+    }
+    boolean _notEquals = (!Objects.equal(mockObject, null));
+    if (_notEquals) {
+      EList<EntityMockObjectEnum> _enumerations = mockObject.getEnumerations();
+      for (final EntityMockObjectEnum enumeration : _enumerations) {
+        String _name = ((EntityMockObjectEnum) enumeration).getName();
+        IEObjectDescription _create = EObjectDescription.create(_name, ((EntityMockObjectEnum) enumeration));
+        result.add(_create);
+      }
+      EList<IEntityMockObjectAttribute> _attributes = mockObject.getAttributes();
+      for (final IEntityMockObjectAttribute attribute : _attributes) {
+        if ((attribute instanceof EntityMockObjectEmbed)) {
+        } else {
+          String _name_1 = ((IEntityMockObjectAttribute) attribute).getName();
+          IEObjectDescription _create_1 = EObjectDescription.create(_name_1, ((IEntityMockObjectAttribute) attribute));
+          result.add(_create_1);
+        }
+      }
+      EList<EntityMockObjectFunction> _calculations = mockObject.getCalculations();
+      for (final EntityMockObjectFunction calculation : _calculations) {
+        String _name_2 = ((EntityMockObjectFunction) calculation).getName();
+        IEObjectDescription _create_2 = EObjectDescription.create(_name_2, ((EntityMockObjectFunction) calculation));
+        result.add(_create_2);
+      }
+    }
+    return MapBasedScope.createScope(IScope.NULLSCOPE, result);
+  }
+  
+  /**
+   * get all available enumerations of a mock object and add them as an IScope
+   */
+  public IScope getScope_MockObjectEnum(final EObject object) {
+    ArrayList<IEObjectDescription> result = CollectionLiterals.<IEObjectDescription>newArrayList();
+    EObject mockObject = object.eContainer();
+    if ((mockObject instanceof EntityMockObject)) {
+      EList<EntityMockObjectEnum> _enumerations = ((EntityMockObject)mockObject).getEnumerations();
+      for (final EntityMockObjectEnum objectEnum : _enumerations) {
+        String _name = ((EntityMockObjectEnum) objectEnum).getName();
+        IEObjectDescription _create = EObjectDescription.create(_name, ((EntityMockObjectEnum) objectEnum));
+        result.add(_create);
+      }
+    }
+    return MapBasedScope.createScope(IScope.NULLSCOPE, result);
+  }
+  
+  /**
+   * get all available enumeration values of a mock object enumeration and add them as an IScope
+   */
+  public IScope getScope_MockObjectEnumValue(final EObject object) {
+    ArrayList<IEObjectDescription> result = CollectionLiterals.<IEObjectDescription>newArrayList();
+    EObject mockValueItem = object;
+    while (((!(mockValueItem instanceof EntityMockObjectArrayValue)) && (!Objects.equal(mockValueItem, null)))) {
+      EObject _eContainer = mockValueItem.eContainer();
+      mockValueItem = _eContainer;
+    }
+    if ((mockValueItem instanceof EntityMockObjectArrayValue)) {
+      EntityMockObjectEnum _enumeration = ((EntityMockObjectArrayValue)mockValueItem).getEnumeration();
+      LEnum _usingResource = _enumeration.getUsingResource();
+      if ((_usingResource instanceof EntityMockResource)) {
+        EntityMockObjectEnum _enumeration_1 = ((EntityMockObjectArrayValue)mockValueItem).getEnumeration();
+        LEnum _usingResource_1 = _enumeration_1.getUsingResource();
+        final EntityMockResource resource = ((EntityMockResource) _usingResource_1);
+        EList<EntityMockResourceDataRow> _datarows = resource.getDatarows();
+        for (final EntityMockResourceDataRow datarow : _datarows) {
+          String _name = ((EntityMockResourceDataRow) datarow).getName();
+          IEObjectDescription _create = EObjectDescription.create(_name, ((EntityMockResourceDataRow) datarow));
+          result.add(_create);
+        }
+      } else {
+        EntityMockObjectEnum _enumeration_2 = ((EntityMockObjectArrayValue)mockValueItem).getEnumeration();
+        final LEnum lenum = _enumeration_2.getUsingResource();
+        EList<LEnumLiteral> _literals = lenum.getLiterals();
+        for (final LEnumLiteral datarow_1 : _literals) {
+          String _name_1 = datarow_1.getName();
+          IEObjectDescription _create_1 = EObjectDescription.create(_name_1, datarow_1);
+          result.add(_create_1);
+        }
+      }
+    }
+    return MapBasedScope.createScope(IScope.NULLSCOPE, result);
+  }
+  
+  /**
+   * get all available mocked entities fitting the referencing entity attribute and add them as an IScope
+   */
+  public IScope getScope_MockAttributeReferencedMockedEntity(final EObject object) {
+    ArrayList<IEObjectDescription> result = CollectionLiterals.<IEObjectDescription>newArrayList();
+    EntityMockAttributeByReference attributeByReference = ((EntityMockAttributeByReference) null);
+    if ((object instanceof EntityMockAttributeByReference)) {
+      attributeByReference = ((EntityMockAttributeByReference)object);
+    }
+    boolean _notEquals = (!Objects.equal(attributeByReference, null));
+    if (_notEquals) {
+      LEntityReference _attributeRef = attributeByReference.getAttributeRef();
+      LEntity requested_entityRef = _attributeRef.getType();
+      boolean _notEquals_1 = (!Objects.equal(requested_entityRef, null));
+      if (_notEquals_1) {
+        EObject mockEntities = object.eContainer();
+        while (((!(mockEntities instanceof EntityMockEntities)) && (!Objects.equal(mockEntities, null)))) {
+          EObject _eContainer = mockEntities.eContainer();
+          mockEntities = _eContainer;
+        }
+        if ((mockEntities instanceof EntityMockEntities)) {
+          EList<EntityMockEntity> _entities = ((EntityMockEntities)mockEntities).getEntities();
+          for (final EntityMockEntity mockEntity : _entities) {
+            LEntity _entityRef = mockEntity.getEntityRef();
+            boolean _equals = requested_entityRef.equals(_entityRef);
+            if (_equals) {
+              String _name = ((EntityMockEntity) mockEntity).getName();
+              IEObjectDescription _create = EObjectDescription.create(_name, ((EntityMockEntity) mockEntity));
+              result.add(_create);
+            }
+          }
+        }
+      }
+    }
+    return MapBasedScope.createScope(IScope.NULLSCOPE, result);
+  }
+  
+  /**
+   * get all available enumeration values of a mock object enumeration and add them as an IScope
+   */
+  public IScope getScope_MockAttributeResourceAttribute(final EObject object) {
+    ArrayList<IEObjectDescription> result = CollectionLiterals.<IEObjectDescription>newArrayList();
+    EObject objectResourceValue = object;
+    while (((!(objectResourceValue instanceof EntityMockObjectResourceValue)) && (!Objects.equal(objectResourceValue, null)))) {
+      EObject _eContainer = objectResourceValue.eContainer();
+      objectResourceValue = _eContainer;
+    }
+    if ((objectResourceValue instanceof EntityMockObjectResourceValue)) {
+      EntityMockObjectEnum _resourceEnum = ((EntityMockObjectResourceValue)objectResourceValue).getResourceEnum();
+      LEnum _usingResource = _resourceEnum.getUsingResource();
+      if ((_usingResource instanceof EntityMockResource)) {
+        EntityMockObjectEnum _resourceEnum_1 = ((EntityMockObjectResourceValue)objectResourceValue).getResourceEnum();
+        LEnum _usingResource_1 = _resourceEnum_1.getUsingResource();
+        final EntityMockResource resource = ((EntityMockResource) _usingResource_1);
+        EList<EntityMockResourceAttribute> _attributes = resource.getAttributes();
+        for (final EntityMockResourceAttribute attribute : _attributes) {
+          String _name = ((EntityMockResourceAttribute) attribute).getName();
+          IEObjectDescription _create = EObjectDescription.create(_name, ((EntityMockResourceAttribute) attribute));
+          result.add(_create);
+        }
+      } else {
+        EntityMockObjectEnum _resourceEnum_2 = ((EntityMockObjectResourceValue)objectResourceValue).getResourceEnum();
+        final LEnum lenum = _resourceEnum_2.getUsingResource();
+        IEObjectDescription _create_1 = EObjectDescription.create("name", lenum);
+        result.add(_create_1);
+      }
+    }
+    return MapBasedScope.createScope(IScope.NULLSCOPE, result);
+  }
+  
+  /**
+   * get all available enumeration values of a mock object enumeration and add them as an IScope
+   */
+  public IScope getScope_MockEntityResourceAttribute(final EObject object) {
+    ArrayList<IEObjectDescription> result = CollectionLiterals.<IEObjectDescription>newArrayList();
+    EObject mockEntity = object;
+    while (((!(mockEntity instanceof EntityMockEntity)) && (!Objects.equal(mockEntity, null)))) {
+      EObject _eContainer = mockEntity.eContainer();
+      mockEntity = _eContainer;
+    }
+    if ((mockEntity instanceof EntityMockEntity)) {
+      EntityMockResource _byResource = ((EntityMockEntity)mockEntity).getByResource();
+      EList<EntityMockResourceAttribute> _attributes = _byResource.getAttributes();
+      for (final EntityMockResourceAttribute attribute : _attributes) {
+        String _name = ((EntityMockResourceAttribute) attribute).getName();
+        IEObjectDescription _create = EObjectDescription.create(_name, ((EntityMockResourceAttribute) attribute));
+        result.add(_create);
+      }
+    }
+    return MapBasedScope.createScope(IScope.NULLSCOPE, result);
+  }
+}
diff --git a/org.eclipse.osbp.xtext.entitymock/xtend-gen/org/eclipse/osbp/xtext/entitymock/validation/EntityMockDSLValidator.java b/org.eclipse.osbp.xtext.entitymock/xtend-gen/org/eclipse/osbp/xtext/entitymock/validation/EntityMockDSLValidator.java
new file mode 100644
index 0000000..e0366c3
--- /dev/null
+++ b/org.eclipse.osbp.xtext.entitymock/xtend-gen/org/eclipse/osbp/xtext/entitymock/validation/EntityMockDSLValidator.java
@@ -0,0 +1,26 @@
+/**
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ * 
+ * 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:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ * 
+ * 
+ *  This copyright notice shows up in the generated Java code
+ */
+package org.eclipse.osbp.xtext.entitymock.validation;
+
+import org.eclipse.osbp.xtext.entitymock.validation.AbstractEntityMockDSLValidator;
+
+/**
+ * Custom validation rules.
+ * 
+ * see http://www.eclipse.org/Xtext/documentation.html#validation
+ */
+@SuppressWarnings("all")
+public class EntityMockDSLValidator extends AbstractEntityMockDSLValidator {
+}
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..23b7854
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--#======================================================================= -->
+<!--# Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany). -->
+<!--# 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: -->
+<!--# Christophe Loetz (Loetz GmbH&Co.KG) - initial API and implementation -->
+<!--#======================================================================= -->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.eclipse.osbp.releng.maven</groupId>
+        <artifactId>org.eclipse.osbp.releng.maven.parent.tycho</artifactId>
+        <version>0.9.0-SNAPSHOT</version>
+        <relativePath/>
+    </parent>
+
+    <groupId>org.eclipse.osbp.xtext.entitymock</groupId>
+    <artifactId>org.eclipse.osbp.xtext.entitymock.aggregator</artifactId>
+    <version>0.9.0-SNAPSHOT</version>
+    <packaging>pom</packaging>
+
+    <url>${osbp.site.repository.url}</url>
+    <scm>
+        <url>${osbp.scm.url}</url>
+        <connection>${osbp.scm.connection}</connection>
+        <developerConnection>${osbp.scm.connection.dev}</developerConnection>
+        <tag>HEAD</tag>
+    </scm>
+    <distributionManagement>
+        <site>
+            <id>gh-pages</id>
+            <name>OSBP GitHub Pages</name>
+            <url>${distribution.site.url}</url>
+        </site>
+    </distributionManagement>
+
+	<properties>
+		<osbp.gitrepo.name>${project.groupId}</osbp.gitrepo.name>
+	</properties>
+
+    <modules>
+        <module>org.eclipse.osbp.utils.entitymock.dbfill.ui</module>
+        <module>org.eclipse.osbp.xtext.entitymock</module>
+        <module>org.eclipse.osbp.xtext.entitymock.tests</module>
+        <module>org.eclipse.osbp.xtext.entitymock.ui</module>
+        <module>org.eclipse.osbp.xtext.entitymock.feature</module>
+        <!-- <module>org.eclipse.osbp.xtext.entitymock.p2</module> -->
+    </modules>
+
+    <profiles>
+        <profile>
+            <id>build.p2</id>
+            <activation>
+                <property>
+                    <name>osbp.build.p2</name>
+                </property>
+            </activation>
+            <modules>
+                <!-- <module>org.eclipse.osbp.xtext.entitymock.p2</module> -->
+            </modules>
+        </profile>
+    </profiles>
+    <build>
+        <pluginManagement>
+            <plugins>
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-javadoc-plugin</artifactId>
+                    <configuration>
+                        <skip>true</skip>
+                    </configuration>
+                </plugin>
+                <plugin>
+                    <groupId>org.eclipse.tycho</groupId>
+                    <artifactId>target-platform-configuration</artifactId>
+                    <version>${tycho-version}</version>
+                    <configuration>
+                        <resolver>p2</resolver>
+                        <pomDependencies>consider</pomDependencies>
+                        <environments>
+                            <environment>
+                                <os>win32</os>
+                                <ws>win32</ws>
+                                <arch>x86_64</arch>
+                            </environment>
+                            <environment>
+                                <os>linux</os>
+                                <ws>gtk</ws>
+                                <arch>x86</arch>
+                            </environment>
+                            <environment>
+                                <os>linux</os>
+                                <ws>gtk</ws>
+                                <arch>x86_64</arch>
+                            </environment>
+                            <environment>
+                                <os>macosx</os>
+                                <ws>cocoa</ws>
+                                <arch>x86_64</arch>
+                            </environment>
+                        </environments>
+                    </configuration>
+                </plugin>
+            </plugins>
+        </pluginManagement>
+    </build>
+</project>