<?xml version="1.0" encoding="UTF-8"?>
<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="ecore" nsURI="http://www.eclipse.org/emf/2002/Ecore" nsPrefix="ecore">
  <eClassifiers xsi:type="ecore:EClass" name="EAttribute" eSuperTypes="#//EStructuralFeature">
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
      <details key="constraints" value="ConsistentTransient"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="iD" eType="#//EBoolean"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="eAttributeType" lowerBound="1"
        eType="#//EDataType" changeable="false" volatile="true" transient="true" derived="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="EAnnotation" eSuperTypes="#//EModelElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
      <details key="constraints" value="WellFormed WellFormedSourceURI"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="source" eType="#//EString"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="details" upperBound="-1"
        eType="#//EStringToStringMapEntry" containment="true" resolveProxies="false"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="eModelElement" eType="#//EModelElement"
        transient="true" resolveProxies="false" eOpposite="#//EModelElement/eAnnotations"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="contents" upperBound="-1"
        eType="#//EObject" containment="true" resolveProxies="false"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="references" upperBound="-1"
        eType="#//EObject"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="EClass" eSuperTypes="#//EClassifier">
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
      <details key="constraints" value="InterfaceIsAbstract AtMostOneID UniqueFeatureNames UniqueOperationSignatures NoCircularSuperTypes WellFormedMapEntryClass ConsistentSuperTypes DisjointFeatureAndOperationSignatures"/>
    </eAnnotations>
    <eOperations name="isSuperTypeOf" eType="#//EBoolean">
      <eParameters name="someClass" eType="#//EClass"/>
    </eOperations>
    <eOperations name="getFeatureCount" eType="#//EInt"/>
    <eOperations name="getEStructuralFeature" eType="#//EStructuralFeature">
      <eParameters name="featureID" eType="#//EInt"/>
    </eOperations>
    <eOperations name="getFeatureID" eType="#//EInt">
      <eParameters name="feature" eType="#//EStructuralFeature"/>
    </eOperations>
    <eOperations name="getEStructuralFeature" eType="#//EStructuralFeature">
      <eParameters name="featureName" eType="#//EString"/>
    </eOperations>
    <eOperations name="getOperationCount" eType="#//EInt"/>
    <eOperations name="getEOperation" eType="#//EOperation">
      <eParameters name="operationID" eType="#//EInt"/>
    </eOperations>
    <eOperations name="getOperationID" eType="#//EInt">
      <eParameters name="operation" eType="#//EOperation"/>
    </eOperations>
    <eOperations name="getOverride" eType="#//EOperation">
      <eParameters name="operation" eType="#//EOperation"/>
    </eOperations>
    <eOperations name="getFeatureType" eType="#//EGenericType">
      <eParameters name="feature" eType="#//EStructuralFeature"/>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="abstract" eType="#//EBoolean"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="interface" eType="#//EBoolean"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="eSuperTypes" upperBound="-1"
        eType="#//EClass" unsettable="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="suppressedIsSetVisibility" value="true"/>
        <details key="suppressedUnsetVisibility" value="true"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="eOperations" upperBound="-1"
        eType="#//EOperation" containment="true" resolveProxies="false" eOpposite="#//EOperation/eContainingClass"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="eAllAttributes" upperBound="-1"
        eType="#//EAttribute" changeable="false" volatile="true" transient="true"
        derived="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="eAllReferences" upperBound="-1"
        eType="#//EReference" changeable="false" volatile="true" transient="true"
        derived="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="eReferences" upperBound="-1"
        eType="#//EReference" changeable="false" volatile="true" transient="true"
        derived="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="eAttributes" upperBound="-1"
        eType="#//EAttribute" changeable="false" volatile="true" transient="true"
        derived="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="eAllContainments" upperBound="-1"
        eType="#//EReference" changeable="false" volatile="true" transient="true"
        derived="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="eAllOperations" upperBound="-1"
        eType="#//EOperation" changeable="false" volatile="true" transient="true"
        derived="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="eAllStructuralFeatures"
        upperBound="-1" eType="#//EStructuralFeature" changeable="false" volatile="true"
        transient="true" derived="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="eAllSuperTypes" upperBound="-1"
        eType="#//EClass" changeable="false" volatile="true" transient="true" derived="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="eIDAttribute" eType="#//EAttribute"
        changeable="false" volatile="true" transient="true" derived="true" resolveProxies="false"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="eStructuralFeatures" upperBound="-1"
        eType="#//EStructuralFeature" containment="true" resolveProxies="false" eOpposite="#//EStructuralFeature/eContainingClass"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="eGenericSuperTypes" upperBound="-1"
        eType="#//EGenericType" unsettable="true" containment="true" resolveProxies="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="suppressedIsSetVisibility" value="true"/>
        <details key="suppressedUnsetVisibility" value="true"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="eAllGenericSuperTypes"
        upperBound="-1" eType="#//EGenericType" changeable="false" volatile="true"
        transient="true" derived="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="EClassifier" abstract="true" eSuperTypes="#//ENamedElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
      <details key="constraints" value="WellFormedInstanceTypeName UniqueTypeParameterNames"/>
    </eAnnotations>
    <eOperations name="isInstance" eType="#//EBoolean">
      <eParameters name="object" eType="#//EJavaObject"/>
    </eOperations>
    <eOperations name="getClassifierID" eType="#//EInt"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="instanceClassName" eType="#//EString"
        volatile="true" unsettable="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="suppressedIsSetVisibility" value="true"/>
        <details key="suppressedUnsetVisibility" value="true"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="instanceClass" changeable="false"
        volatile="true" transient="true" derived="true">
      <eGenericType eClassifier="#//EJavaClass">
        <eTypeArguments/>
      </eGenericType>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="defaultValue" eType="#//EJavaObject"
        changeable="false" volatile="true" transient="true" derived="true"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="instanceTypeName" eType="#//EString"
        volatile="true" unsettable="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="suppressedIsSetVisibility" value="true"/>
        <details key="suppressedUnsetVisibility" value="true"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ePackage" eType="#//EPackage"
        changeable="false" transient="true" eOpposite="#//EPackage/eClassifiers"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="eTypeParameters" upperBound="-1"
        eType="#//ETypeParameter" containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="EDataType" eSuperTypes="#//EClassifier">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="serializable" eType="#//EBoolean"
        defaultValueLiteral="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="EEnum" eSuperTypes="#//EDataType">
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
      <details key="constraints" value="UniqueEnumeratorNames UniqueEnumeratorLiterals"/>
    </eAnnotations>
    <eOperations name="getEEnumLiteral" eType="#//EEnumLiteral">
      <eParameters name="name" eType="#//EString"/>
    </eOperations>
    <eOperations name="getEEnumLiteral" eType="#//EEnumLiteral">
      <eParameters name="value" eType="#//EInt"/>
    </eOperations>
    <eOperations name="getEEnumLiteralByLiteral" eType="#//EEnumLiteral">
      <eParameters name="literal" eType="#//EString"/>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="eLiterals" upperBound="-1"
        eType="#//EEnumLiteral" containment="true" resolveProxies="false" eOpposite="#//EEnumLiteral/eEnum"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="EEnumLiteral" eSuperTypes="#//ENamedElement">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="#//EInt"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="instance" eType="#//EEnumerator"
        transient="true"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="literal" eType="#//EString"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="eEnum" eType="#//EEnum"
        changeable="false" transient="true" resolveProxies="false" eOpposite="#//EEnum/eLiterals"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="EFactory" eSuperTypes="#//EModelElement">
    <eOperations name="create" eType="#//EObject">
      <eParameters name="eClass" eType="#//EClass"/>
    </eOperations>
    <eOperations name="createFromString" eType="#//EJavaObject">
      <eParameters name="eDataType" eType="#//EDataType"/>
      <eParameters name="literalValue" eType="#//EString"/>
    </eOperations>
    <eOperations name="convertToString" eType="#//EString">
      <eParameters name="eDataType" eType="#//EDataType"/>
      <eParameters name="instanceValue" eType="#//EJavaObject"/>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ePackage" lowerBound="1"
        eType="#//EPackage" transient="true" resolveProxies="false" eOpposite="#//EPackage/eFactoryInstance"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="EModelElement" abstract="true">
    <eOperations name="getEAnnotation" eType="#//EAnnotation">
      <eParameters name="source" eType="#//EString"/>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="eAnnotations" upperBound="-1"
        eType="#//EAnnotation" containment="true" resolveProxies="false" eOpposite="#//EAnnotation/eModelElement"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ENamedElement" abstract="true" eSuperTypes="#//EModelElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
      <details key="constraints" value="WellFormedName"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="#//EString"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="EObject">
    <eOperations name="eClass" eType="#//EClass"/>
    <eOperations name="eIsProxy" eType="#//EBoolean"/>
    <eOperations name="eResource" eType="#//EResource"/>
    <eOperations name="eContainer" eType="#//EObject"/>
    <eOperations name="eContainingFeature" eType="#//EStructuralFeature"/>
    <eOperations name="eContainmentFeature" eType="#//EReference"/>
    <eOperations name="eContents">
      <eGenericType eClassifier="#//EEList">
        <eTypeArguments eClassifier="#//EObject"/>
      </eGenericType>
    </eOperations>
    <eOperations name="eAllContents">
      <eGenericType eClassifier="#//ETreeIterator">
        <eTypeArguments eClassifier="#//EObject"/>
      </eGenericType>
    </eOperations>
    <eOperations name="eCrossReferences">
      <eGenericType eClassifier="#//EEList">
        <eTypeArguments eClassifier="#//EObject"/>
      </eGenericType>
    </eOperations>
    <eOperations name="eGet" eType="#//EJavaObject">
      <eParameters name="feature" eType="#//EStructuralFeature"/>
    </eOperations>
    <eOperations name="eGet" eType="#//EJavaObject">
      <eParameters name="feature" eType="#//EStructuralFeature"/>
      <eParameters name="resolve" eType="#//EBoolean"/>
    </eOperations>
    <eOperations name="eSet">
      <eParameters name="feature" eType="#//EStructuralFeature"/>
      <eParameters name="newValue" eType="#//EJavaObject"/>
    </eOperations>
    <eOperations name="eIsSet" eType="#//EBoolean">
      <eParameters name="feature" eType="#//EStructuralFeature"/>
    </eOperations>
    <eOperations name="eUnset">
      <eParameters name="feature" eType="#//EStructuralFeature"/>
    </eOperations>
    <eOperations name="eInvoke" eType="#//EJavaObject" eExceptions="#//EInvocationTargetException">
      <eParameters name="operation" eType="#//EOperation"/>
      <eParameters name="arguments">
        <eGenericType eClassifier="#//EEList">
          <eTypeArguments/>
        </eGenericType>
      </eParameters>
    </eOperations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="EOperation" eSuperTypes="#//ETypedElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
      <details key="constraints" value="UniqueParameterNames UniqueTypeParameterNames NoRepeatingVoid"/>
    </eAnnotations>
    <eOperations name="getOperationID" eType="#//EInt"/>
    <eOperations name="isOverrideOf" eType="#//EBoolean">
      <eParameters name="someOperation" eType="#//EOperation"/>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="eContainingClass" eType="#//EClass"
        changeable="false" transient="true" resolveProxies="false" eOpposite="#//EClass/eOperations"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="eTypeParameters" upperBound="-1"
        eType="#//ETypeParameter" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="eParameters" upperBound="-1"
        eType="#//EParameter" containment="true" resolveProxies="false" eOpposite="#//EParameter/eOperation"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="eExceptions" upperBound="-1"
        eType="#//EClassifier" unsettable="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="suppressedIsSetVisibility" value="true"/>
        <details key="suppressedUnsetVisibility" value="true"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="eGenericExceptions" upperBound="-1"
        eType="#//EGenericType" unsettable="true" containment="true" resolveProxies="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="suppressedIsSetVisibility" value="true"/>
        <details key="suppressedUnsetVisibility" value="true"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="EPackage" eSuperTypes="#//ENamedElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
      <details key="constraints" value="WellFormedNsURI WellFormedNsPrefix UniqueSubpackageNames UniqueClassifierNames UniqueNsURIs"/>
    </eAnnotations>
    <eOperations name="getEClassifier" eType="#//EClassifier">
      <eParameters name="name" eType="#//EString"/>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="nsURI" eType="#//EString"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="nsPrefix" eType="#//EString"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="eFactoryInstance" lowerBound="1"
        eType="#//EFactory" transient="true" resolveProxies="false" eOpposite="#//EFactory/ePackage"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="eClassifiers" upperBound="-1"
        eType="#//EClassifier" containment="true" eOpposite="#//EClassifier/ePackage"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="eSubpackages" upperBound="-1"
        eType="#//EPackage" containment="true" eOpposite="#//EPackage/eSuperPackage"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="eSuperPackage" eType="#//EPackage"
        changeable="false" transient="true" eOpposite="#//EPackage/eSubpackages"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="EParameter" eSuperTypes="#//ETypedElement">
    <eStructuralFeatures xsi:type="ecore:EReference" name="eOperation" eType="#//EOperation"
        changeable="false" transient="true" resolveProxies="false" eOpposite="#//EOperation/eParameters"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="EReference" eSuperTypes="#//EStructuralFeature">
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
      <details key="constraints" value="ConsistentOpposite SingleContainer ConsistentKeys ConsistentUnique ConsistentContainer"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="containment" eType="#//EBoolean"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="container" eType="#//EBoolean"
        changeable="false" volatile="true" transient="true" derived="true"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="resolveProxies" eType="#//EBoolean"
        defaultValueLiteral="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="eOpposite" eType="#//EReference"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="eReferenceType" lowerBound="1"
        eType="#//EClass" changeable="false" volatile="true" transient="true" derived="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="eKeys" upperBound="-1"
        eType="#//EAttribute"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="EStructuralFeature" abstract="true"
      eSuperTypes="#//ETypedElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
      <details key="constraints" value="ValidDefaultValueLiteral"/>
    </eAnnotations>
    <eOperations name="getFeatureID" eType="#//EInt"/>
    <eOperations name="getContainerClass">
      <eGenericType eClassifier="#//EJavaClass">
        <eTypeArguments/>
      </eGenericType>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="changeable" eType="#//EBoolean"
        defaultValueLiteral="true"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="volatile" eType="#//EBoolean"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="transient" eType="#//EBoolean"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="defaultValueLiteral" eType="#//EString"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="defaultValue" eType="#//EJavaObject"
        changeable="false" volatile="true" transient="true" derived="true"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="unsettable" eType="#//EBoolean"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="derived" eType="#//EBoolean"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="eContainingClass" eType="#//EClass"
        changeable="false" transient="true" resolveProxies="false" eOpposite="#//EClass/eStructuralFeatures"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ETypedElement" abstract="true" eSuperTypes="#//ENamedElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
      <details key="constraints" value="ValidLowerBound ValidUpperBound ConsistentBounds ValidType"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="ordered" eType="#//EBoolean"
        defaultValueLiteral="true"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="unique" eType="#//EBoolean"
        defaultValueLiteral="true"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="lowerBound" eType="#//EInt"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="upperBound" eType="#//EInt"
        defaultValueLiteral="1"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="many" eType="#//EBoolean"
        changeable="false" volatile="true" transient="true" derived="true"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="required" eType="#//EBoolean"
        changeable="false" volatile="true" transient="true" derived="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="eType" eType="#//EClassifier"
        volatile="true" unsettable="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="suppressedIsSetVisibility" value="true"/>
        <details key="suppressedUnsetVisibility" value="true"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="eGenericType" eType="#//EGenericType"
        volatile="true" unsettable="true" containment="true" resolveProxies="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="suppressedIsSetVisibility" value="true"/>
        <details key="suppressedUnsetVisibility" value="true"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EDataType" name="EBigDecimal" instanceClassName="java.math.BigDecimal">
    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
      <details key="baseType" value="http://www.w3.org/2001/XMLSchema#decimal"/>
    </eAnnotations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EDataType" name="EBigInteger" instanceClassName="java.math.BigInteger">
    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
      <details key="baseType" value="http://www.w3.org/2001/XMLSchema#integer"/>
    </eAnnotations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EDataType" name="EBoolean" instanceClassName="boolean">
    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
      <details key="baseType" value="http://www.w3.org/2001/XMLSchema#boolean"/>
    </eAnnotations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EDataType" name="EBooleanObject" instanceClassName="java.lang.Boolean">
    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
      <details key="baseType" value="EBoolean"/>
      <details key="name" value="EBoolean:Object"/>
    </eAnnotations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EDataType" name="EByte" instanceClassName="byte">
    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
      <details key="baseType" value="http://www.w3.org/2001/XMLSchema#byte"/>
    </eAnnotations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EDataType" name="EByteArray" instanceClassName="byte[]">
    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
      <details key="baseType" value="http://www.w3.org/2001/XMLSchema#hexBinary"/>
    </eAnnotations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EDataType" name="EByteObject" instanceClassName="java.lang.Byte">
    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
      <details key="baseType" value="EByte"/>
      <details key="name" value="EByte:Object"/>
    </eAnnotations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EDataType" name="EChar" instanceClassName="char"/>
  <eClassifiers xsi:type="ecore:EDataType" name="ECharacterObject" instanceClassName="java.lang.Character">
    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
      <details key="baseType" value="EChar"/>
      <details key="name" value="EChar:Object"/>
    </eAnnotations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EDataType" name="EDate" instanceClassName="java.util.Date"/>
  <eClassifiers xsi:type="ecore:EDataType" name="EDiagnosticChain" instanceClassName="org.eclipse.emf.common.util.DiagnosticChain"
      serializable="false"/>
  <eClassifiers xsi:type="ecore:EDataType" name="EDouble" instanceClassName="double">
    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
      <details key="baseType" value="http://www.w3.org/2001/XMLSchema#double"/>
    </eAnnotations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EDataType" name="EDoubleObject" instanceClassName="java.lang.Double">
    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
      <details key="baseType" value="EDouble"/>
      <details key="name" value="EDouble:Object"/>
    </eAnnotations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EDataType" name="EEList" instanceClassName="org.eclipse.emf.common.util.EList"
      serializable="false">
    <eTypeParameters name="E"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EDataType" name="EEnumerator" instanceClassName="org.eclipse.emf.common.util.Enumerator"
      serializable="false"/>
  <eClassifiers xsi:type="ecore:EDataType" name="EFeatureMap" instanceClassName="org.eclipse.emf.ecore.util.FeatureMap"
      serializable="false"/>
  <eClassifiers xsi:type="ecore:EDataType" name="EFeatureMapEntry" instanceClassName="org.eclipse.emf.ecore.util.FeatureMap$Entry"
      serializable="false"/>
  <eClassifiers xsi:type="ecore:EDataType" name="EFloat" instanceClassName="float">
    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
      <details key="baseType" value="http://www.w3.org/2001/XMLSchema#float"/>
    </eAnnotations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EDataType" name="EFloatObject" instanceClassName="java.lang.Float">
    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
      <details key="baseType" value="EFloat"/>
      <details key="name" value="EFloat:Object"/>
    </eAnnotations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EDataType" name="EInt" instanceClassName="int">
    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
      <details key="baseType" value="http://www.w3.org/2001/XMLSchema#int"/>
    </eAnnotations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EDataType" name="EIntegerObject" instanceClassName="java.lang.Integer">
    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
      <details key="baseType" value="EInt"/>
      <details key="name" value="EInt:Object"/>
    </eAnnotations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EDataType" name="EJavaClass" instanceClassName="java.lang.Class">
    <eTypeParameters name="T"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EDataType" name="EJavaObject" instanceClassName="java.lang.Object"/>
  <eClassifiers xsi:type="ecore:EDataType" name="ELong" instanceClassName="long">
    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
      <details key="baseType" value="http://www.w3.org/2001/XMLSchema#long"/>
    </eAnnotations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EDataType" name="ELongObject" instanceClassName="java.lang.Long">
    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
      <details key="baseType" value="ELong"/>
      <details key="name" value="ELong:Object"/>
    </eAnnotations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EDataType" name="EMap" instanceClassName="java.util.Map"
      serializable="false">
    <eTypeParameters name="K"/>
    <eTypeParameters name="V"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EDataType" name="EResource" instanceClassName="org.eclipse.emf.ecore.resource.Resource"
      serializable="false"/>
  <eClassifiers xsi:type="ecore:EDataType" name="EResourceSet" instanceClassName="org.eclipse.emf.ecore.resource.ResourceSet"
      serializable="false"/>
  <eClassifiers xsi:type="ecore:EDataType" name="EShort" instanceClassName="short">
    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
      <details key="baseType" value="http://www.w3.org/2001/XMLSchema#short"/>
    </eAnnotations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EDataType" name="EShortObject" instanceClassName="java.lang.Short">
    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
      <details key="baseType" value="EShort"/>
      <details key="name" value="EShort:Object"/>
    </eAnnotations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EDataType" name="EString" instanceClassName="java.lang.String">
    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
      <details key="baseType" value="http://www.w3.org/2001/XMLSchema#string"/>
    </eAnnotations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="EStringToStringMapEntry" instanceClassName="java.util.Map$Entry">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="key" eType="#//EString"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="#//EString"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EDataType" name="ETreeIterator" instanceClassName="org.eclipse.emf.common.util.TreeIterator"
      serializable="false">
    <eTypeParameters name="E"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="EGenericType">
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
      <details key="constraints" value="ConsistentType ConsistentBounds ConsistentArguments"/>
    </eAnnotations>
    <eOperations name="isInstance" eType="#//EBoolean">
      <eParameters name="object" eType="#//EJavaObject"/>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="eUpperBound" eType="#//EGenericType"
        containment="true" resolveProxies="false"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="eTypeArguments" upperBound="-1"
        eType="#//EGenericType" containment="true" resolveProxies="false"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="eRawType" lowerBound="1"
        eType="#//EClassifier" changeable="false" transient="true" derived="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="eLowerBound" eType="#//EGenericType"
        containment="true" resolveProxies="false"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="eTypeParameter" eType="#//ETypeParameter"
        resolveProxies="false"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="eClassifier" eType="#//EClassifier"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ETypeParameter" eSuperTypes="#//ENamedElement">
    <eStructuralFeatures xsi:type="ecore:EReference" name="eBounds" upperBound="-1"
        eType="#//EGenericType" containment="true" resolveProxies="false"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EDataType" name="EInvocationTargetException" instanceClassName="java.lang.reflect.InvocationTargetException"
      serializable="false"/>
</ecore:EPackage>
