digraph Metamodel {
	rankdir=TB;
	subgraph cluster_java {
	label="java";
	java_JavaClass[label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="5"><tr><td balign="CENTER" align="CENTER">JavaClass</td></tr><tr><td balign="LEFT" align="LEFT">kind[0..1]: TypeKind<br/>public[0..1]: EBoolean<br/>final[0..1]: EBoolean<br/></td></tr><tr><td balign="LEFT" align="LEFT">isNested():EBoolean[0..1]<br/>getField(fieldName:EString[0..1],):Field[0..1]<br/>getFieldExtended(fieldName:EString[0..1],):Field[0..1]<br/>getFieldNamed(fieldName:EString[0..1],):Field[0..1]<br/>getFieldsExtended():JTypeList[0..1]<br/>getMethod(methodName:EString[0..1],parameterTypes:JTypeList[0..1],):Method[0..1]<br/>getMethodElementSignatures():JTypeList[0..1]<br/>getMethodExtended(methodName:EString[0..1],parameterTypes:JTypeList[0..1],):Method[0..1]<br/>getMethodsExtended():JTypeList[0..1]<br/>getOnlySpecificMethods(aMethodNamePrefix:EString[0..1],excludedNames:JTypeList[0..1],):JTypeList[0..1]<br/>getPublicMethod(methodName:EString[0..1],parameterTypes:JTypeList[0..1],):Method[0..1]<br/>getPublicMethods():JTypeList[0..1]<br/>getPublicMethodsExtended():JTypeList[0..1]<br/>getPublicMethodsNamed(name:EString[0..1],):JTypeList[0..1]<br/>getSupertype():JavaClass[0..1]<br/>implementsInterface(interfaceType:JavaClass[0..1],):EBoolean[0..1]<br/>infoString():EString[0..1]<br/>inheritsFrom(javaClass:JavaClass[0..1],):EBoolean[0..1]<br/>isExistingType():EBoolean[0..1]<br/>isInterface():EBoolean[0..1]<br/>setSupertype(javaclass:JavaClass[0..1],)<br/></td></tr></table>>][shape=none, margin=0];
	java_Initializer[label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="5"><tr><td balign="CENTER" align="CENTER">Initializer</td></tr><tr><td balign="LEFT" align="LEFT">isStatic[0..1]: EBooleanObject<br/></td></tr><tr><td balign="LEFT" align="LEFT"></td></tr></table>>][shape=none, margin=0];
	java_JavaParameter[label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="5"><tr><td balign="CENTER" align="CENTER">JavaParameter</td></tr><tr><td balign="LEFT" align="LEFT">final[0..1]: EBoolean<br/>parameterKind[0..1]: JavaParameterKind<br/></td></tr><tr><td balign="LEFT" align="LEFT">isArray():EBoolean[0..1]<br/>isReturn():EBoolean[0..1]<br/>getJavaType():JTypeJavaHelpers[0..1]<br/>getQualifiedName():EString[0..1]<br/></td></tr></table>>][shape=none, margin=0];
	java_Method[label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="5"><tr><td balign="CENTER" align="CENTER">Method</td></tr><tr><td balign="LEFT" align="LEFT">abstract[0..1]: EBoolean<br/>native[0..1]: EBoolean<br/>synchronized[0..1]: EBoolean<br/>final[0..1]: EBoolean<br/>constructor[0..1]: EBoolean<br/>static[0..1]: EBoolean<br/>javaVisibility[0..1]: JavaVisibilityKind<br/></td></tr><tr><td balign="LEFT" align="LEFT">getContainingJavaClass():JavaClass[0..1]<br/>getMethodElementSignature():EString[0..1]<br/>getParameter(parameterName:EString[0..1],):JavaParameter[0..1]<br/>getReturnType():JTypeJavaHelpers[0..1]<br/>setReturnType(type:JTypeJavaHelpers[0..1],)<br/>getSignature():EString[0..1]<br/>isGenerated():EBoolean[0..1]<br/>setIsGenerated(generated:EBoolean[0..1],)<br/>isVoid():EBoolean[0..1]<br/></td></tr></table>>][shape=none, margin=0];
	java_Field[label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="5"><tr><td balign="CENTER" align="CENTER">Field</td></tr><tr><td balign="LEFT" align="LEFT">final[0..1]: EBoolean<br/>static[0..1]: EBoolean<br/>javaVisibility[0..1]: JavaVisibilityKind<br/>transient[0..1]: EBoolean<br/>volatile[0..1]: EBoolean<br/></td></tr><tr><td balign="LEFT" align="LEFT">getContainingJavaClass():JavaClass[0..1]<br/>isArray():EBoolean[0..1]<br/></td></tr></table>>][shape=none, margin=0];
	java_TypeKind[label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="5"><tr><td balign="CENTER" align="CENTER">TypeKind</td></tr><tr><td balign="LEFT" align="LEFT">UNDEFINED<br/>CLASS<br/>INTERFACE<br/>EXCEPTION<br/></td></tr></table>>][shape=none, margin=0];
	java_Block[label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="5"><tr><td balign="CENTER" align="CENTER">Block</td></tr><tr><td balign="LEFT" align="LEFT">source[0..1]: EString<br/>name[0..1]: EString<br/></td></tr><tr><td balign="LEFT" align="LEFT"></td></tr></table>>][shape=none, margin=0];
	java_Comment[label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="5"><tr><td balign="CENTER" align="CENTER">Comment</td></tr><tr><td balign="LEFT" align="LEFT"></td></tr><tr><td balign="LEFT" align="LEFT"></td></tr></table>>][shape=none, margin=0];
	java_Statement[label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="5"><tr><td balign="CENTER" align="CENTER">Statement</td></tr><tr><td balign="LEFT" align="LEFT"></td></tr><tr><td balign="LEFT" align="LEFT"></td></tr></table>>][shape=none, margin=0];
	java_JavaPackage[label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="5"><tr><td balign="CENTER" align="CENTER">JavaPackage</td></tr><tr><td balign="LEFT" align="LEFT"></td></tr><tr><td balign="LEFT" align="LEFT"></td></tr></table>>][shape=none, margin=0];
	java_JavaVisibilityKind[label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="5"><tr><td balign="CENTER" align="CENTER">JavaVisibilityKind</td></tr><tr><td balign="LEFT" align="LEFT">PUBLIC<br/>PRIVATE<br/>PROTECTED<br/>PACKAGE<br/></td></tr></table>>][shape=none, margin=0];
	java_JavaParameterKind[label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="5"><tr><td balign="CENTER" align="CENTER">JavaParameterKind</td></tr><tr><td balign="LEFT" align="LEFT">IN<br/>OUT<br/>INOUT<br/>RETURN<br/></td></tr></table>>][shape=none, margin=0];
	java_JavaDataType[label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="5"><tr><td balign="CENTER" align="CENTER">JavaDataType</td></tr><tr><td balign="LEFT" align="LEFT"></td></tr><tr><td balign="LEFT" align="LEFT">getDefaultValueString():EString[0..1]<br/></td></tr></table>>][shape=none, margin=0];
	java_ArrayType[label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="5"><tr><td balign="CENTER" align="CENTER">ArrayType</td></tr><tr><td balign="LEFT" align="LEFT">arrayDimensions[0..1]: EInt<br/></td></tr><tr><td balign="LEFT" align="LEFT">getFinalComponentType():JTypeJavaHelpers[0..1]<br/>getComponentTypeAsHelper():JTypeJavaHelpers[0..1]<br/>isPrimitiveArray():EBoolean[0..1]<br/>setComponentType(helperComponentType:JTypeJavaHelpers[0..1],)<br/></td></tr></table>>][shape=none, margin=0];
	java_JTypeJavaHelpers[label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="5"><tr><td balign="CENTER" align="CENTER">JTypeJavaHelpers</td></tr></table>>][shape=none, margin=0];
	java_JTypeList[label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="5"><tr><td balign="CENTER" align="CENTER">JTypeList</td></tr></table>>][shape=none, margin=0];
	java_JavaEvent[label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="5"><tr><td balign="CENTER" align="CENTER"><font face="Times-Italic">JavaEvent</font></td></tr><tr><td balign="LEFT" align="LEFT"></td></tr><tr><td balign="LEFT" align="LEFT"></td></tr></table>>][shape=none, margin=0];
	};
	subgraph cluster_ecore {
	label="ecore";
	ecore_EAttribute[label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="5"><tr><td balign="CENTER" align="CENTER">EAttribute</td></tr><tr><td balign="LEFT" align="LEFT">iD[0..1]: EBoolean<br/></td></tr><tr><td balign="LEFT" align="LEFT"></td></tr></table>>][shape=none, margin=0];
	ecore_EAnnotation[label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="5"><tr><td balign="CENTER" align="CENTER">EAnnotation</td></tr><tr><td balign="LEFT" align="LEFT">source[0..1]: EString<br/></td></tr><tr><td balign="LEFT" align="LEFT"></td></tr></table>>][shape=none, margin=0];
	ecore_EClass[label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="5"><tr><td balign="CENTER" align="CENTER">EClass</td></tr><tr><td balign="LEFT" align="LEFT">abstract[0..1]: EBoolean<br/>interface[0..1]: EBoolean<br/></td></tr><tr><td balign="LEFT" align="LEFT">isSuperTypeOf(someClass:EClass[0..1],):EBoolean[0..1]<br/>getFeatureCount():EInt[0..1]<br/>getEStructuralFeature(featureID:EInt[0..1],):EStructuralFeature[0..1]<br/>getFeatureID(feature:EStructuralFeature[0..1],):EInt[0..1]<br/>getEStructuralFeature(featureName:EString[0..1],):EStructuralFeature[0..1]<br/></td></tr></table>>][shape=none, margin=0];
	ecore_EClassifier[label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="5"><tr><td balign="CENTER" align="CENTER"><font face="Times-Italic">EClassifier</font></td></tr><tr><td balign="LEFT" align="LEFT">instanceClassName[0..1]: EString<br/>instanceClass[0..1]: EJavaClass<br/>defaultValue[0..1]: EJavaObject<br/>instanceTypeName[0..1]: EString<br/></td></tr><tr><td balign="LEFT" align="LEFT">isInstance(object:EJavaObject[0..1],):EBoolean[0..1]<br/>getClassifierID():EInt[0..1]<br/></td></tr></table>>][shape=none, margin=0];
	ecore_EDataType[label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="5"><tr><td balign="CENTER" align="CENTER">EDataType</td></tr><tr><td balign="LEFT" align="LEFT">serializable[0..1]: EBoolean<br/></td></tr><tr><td balign="LEFT" align="LEFT"></td></tr></table>>][shape=none, margin=0];
	ecore_EEnum[label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="5"><tr><td balign="CENTER" align="CENTER">EEnum</td></tr><tr><td balign="LEFT" align="LEFT"></td></tr><tr><td balign="LEFT" align="LEFT">getEEnumLiteral(name:EString[0..1],):EEnumLiteral[0..1]<br/>getEEnumLiteral(value:EInt[0..1],):EEnumLiteral[0..1]<br/>getEEnumLiteralByLiteral(literal:EString[0..1],):EEnumLiteral[0..1]<br/></td></tr></table>>][shape=none, margin=0];
	ecore_EEnumLiteral[label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="5"><tr><td balign="CENTER" align="CENTER">EEnumLiteral</td></tr><tr><td balign="LEFT" align="LEFT">value[0..1]: EInt<br/>instance[0..1]: EEnumerator<br/>literal[0..1]: EString<br/></td></tr><tr><td balign="LEFT" align="LEFT"></td></tr></table>>][shape=none, margin=0];
	ecore_EFactory[label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="5"><tr><td balign="CENTER" align="CENTER">EFactory</td></tr><tr><td balign="LEFT" align="LEFT"></td></tr><tr><td balign="LEFT" align="LEFT">create(eClass:EClass[0..1],):EObject[0..1]<br/>createFromString(eDataType:EDataType[0..1],literalValue:EString[0..1],):EJavaObject[0..1]<br/>convertToString(eDataType:EDataType[0..1],instanceValue:EJavaObject[0..1],):EString[0..1]<br/></td></tr></table>>][shape=none, margin=0];
	ecore_EModelElement[label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="5"><tr><td balign="CENTER" align="CENTER"><font face="Times-Italic">EModelElement</font></td></tr><tr><td balign="LEFT" align="LEFT"></td></tr><tr><td balign="LEFT" align="LEFT">getEAnnotation(source:EString[0..1],):EAnnotation[0..1]<br/></td></tr></table>>][shape=none, margin=0];
	ecore_ENamedElement[label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="5"><tr><td balign="CENTER" align="CENTER"><font face="Times-Italic">ENamedElement</font></td></tr><tr><td balign="LEFT" align="LEFT">name[0..1]: EString<br/></td></tr><tr><td balign="LEFT" align="LEFT"></td></tr></table>>][shape=none, margin=0];
	ecore_EObject[label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="5"><tr><td balign="CENTER" align="CENTER">EObject</td></tr><tr><td balign="LEFT" align="LEFT"></td></tr><tr><td balign="LEFT" align="LEFT">eClass():EClass[0..1]<br/>eIsProxy():EBoolean[0..1]<br/>eResource():EResource[0..1]<br/>eContainer():EObject[0..1]<br/>eContainingFeature():EStructuralFeature[0..1]<br/>eContainmentFeature():EReference[0..1]<br/>eContents():EEList[0..1]<br/>eAllContents():ETreeIterator[0..1]<br/>eCrossReferences():EEList[0..1]<br/>eGet(feature:EStructuralFeature[0..1],):EJavaObject[0..1]<br/>eGet(feature:EStructuralFeature[0..1],resolve:EBoolean[0..1],):EJavaObject[0..1]<br/>eSet(feature:EStructuralFeature[0..1],newValue:EJavaObject[0..1],)<br/>eIsSet(feature:EStructuralFeature[0..1],):EBoolean[0..1]<br/>eUnset(feature:EStructuralFeature[0..1],)<br/></td></tr></table>>][shape=none, margin=0];
	ecore_EOperation[label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="5"><tr><td balign="CENTER" align="CENTER">EOperation</td></tr><tr><td balign="LEFT" align="LEFT"></td></tr><tr><td balign="LEFT" align="LEFT"></td></tr></table>>][shape=none, margin=0];
	ecore_EPackage[label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="5"><tr><td balign="CENTER" align="CENTER">EPackage</td></tr><tr><td balign="LEFT" align="LEFT">nsURI[0..1]: EString<br/>nsPrefix[0..1]: EString<br/></td></tr><tr><td balign="LEFT" align="LEFT">getEClassifier(name:EString[0..1],):EClassifier[0..1]<br/></td></tr></table>>][shape=none, margin=0];
	ecore_EParameter[label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="5"><tr><td balign="CENTER" align="CENTER">EParameter</td></tr><tr><td balign="LEFT" align="LEFT"></td></tr><tr><td balign="LEFT" align="LEFT"></td></tr></table>>][shape=none, margin=0];
	ecore_EReference[label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="5"><tr><td balign="CENTER" align="CENTER">EReference</td></tr><tr><td balign="LEFT" align="LEFT">containment[0..1]: EBoolean<br/>container[0..1]: EBoolean<br/>resolveProxies[0..1]: EBoolean<br/></td></tr><tr><td balign="LEFT" align="LEFT"></td></tr></table>>][shape=none, margin=0];
	ecore_EStructuralFeature[label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="5"><tr><td balign="CENTER" align="CENTER"><font face="Times-Italic">EStructuralFeature</font></td></tr><tr><td balign="LEFT" align="LEFT">changeable[0..1]: EBoolean<br/>volatile[0..1]: EBoolean<br/>transient[0..1]: EBoolean<br/>defaultValueLiteral[0..1]: EString<br/>defaultValue[0..1]: EJavaObject<br/>unsettable[0..1]: EBoolean<br/>derived[0..1]: EBoolean<br/></td></tr><tr><td balign="LEFT" align="LEFT">getFeatureID():EInt[0..1]<br/>getContainerClass():EJavaClass[0..1]<br/></td></tr></table>>][shape=none, margin=0];
	ecore_ETypedElement[label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="5"><tr><td balign="CENTER" align="CENTER"><font face="Times-Italic">ETypedElement</font></td></tr><tr><td balign="LEFT" align="LEFT">ordered[0..1]: EBoolean<br/>unique[0..1]: EBoolean<br/>lowerBound[0..1]: EInt<br/>upperBound[0..1]: EInt<br/>many[0..1]: EBoolean<br/>required[0..1]: EBoolean<br/></td></tr><tr><td balign="LEFT" align="LEFT"></td></tr></table>>][shape=none, margin=0];
	ecore_EBigDecimal[label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="5"><tr><td balign="CENTER" align="CENTER">EBigDecimal</td></tr></table>>][shape=none, margin=0];
	ecore_EBigInteger[label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="5"><tr><td balign="CENTER" align="CENTER">EBigInteger</td></tr></table>>][shape=none, margin=0];
	ecore_EBoolean[label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="5"><tr><td balign="CENTER" align="CENTER">EBoolean</td></tr></table>>][shape=none, margin=0];
	ecore_EBooleanObject[label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="5"><tr><td balign="CENTER" align="CENTER">EBooleanObject</td></tr></table>>][shape=none, margin=0];
	ecore_EByte[label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="5"><tr><td balign="CENTER" align="CENTER">EByte</td></tr></table>>][shape=none, margin=0];
	ecore_EByteArray[label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="5"><tr><td balign="CENTER" align="CENTER">EByteArray</td></tr></table>>][shape=none, margin=0];
	ecore_EByteObject[label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="5"><tr><td balign="CENTER" align="CENTER">EByteObject</td></tr></table>>][shape=none, margin=0];
	ecore_EChar[label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="5"><tr><td balign="CENTER" align="CENTER">EChar</td></tr></table>>][shape=none, margin=0];
	ecore_ECharacterObject[label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="5"><tr><td balign="CENTER" align="CENTER">ECharacterObject</td></tr></table>>][shape=none, margin=0];
	ecore_EDate[label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="5"><tr><td balign="CENTER" align="CENTER">EDate</td></tr></table>>][shape=none, margin=0];
	ecore_EDiagnosticChain[label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="5"><tr><td balign="CENTER" align="CENTER">EDiagnosticChain</td></tr></table>>][shape=none, margin=0];
	ecore_EDouble[label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="5"><tr><td balign="CENTER" align="CENTER">EDouble</td></tr></table>>][shape=none, margin=0];
	ecore_EDoubleObject[label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="5"><tr><td balign="CENTER" align="CENTER">EDoubleObject</td></tr></table>>][shape=none, margin=0];
	ecore_EEList[label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="5"><tr><td balign="CENTER" align="CENTER">EEList</td></tr></table>>][shape=none, margin=0];
	ecore_EEnumerator[label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="5"><tr><td balign="CENTER" align="CENTER">EEnumerator</td></tr></table>>][shape=none, margin=0];
	ecore_EFeatureMap[label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="5"><tr><td balign="CENTER" align="CENTER">EFeatureMap</td></tr></table>>][shape=none, margin=0];
	ecore_EFeatureMapEntry[label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="5"><tr><td balign="CENTER" align="CENTER">EFeatureMapEntry</td></tr></table>>][shape=none, margin=0];
	ecore_EFloat[label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="5"><tr><td balign="CENTER" align="CENTER">EFloat</td></tr></table>>][shape=none, margin=0];
	ecore_EFloatObject[label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="5"><tr><td balign="CENTER" align="CENTER">EFloatObject</td></tr></table>>][shape=none, margin=0];
	ecore_EInt[label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="5"><tr><td balign="CENTER" align="CENTER">EInt</td></tr></table>>][shape=none, margin=0];
	ecore_EIntegerObject[label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="5"><tr><td balign="CENTER" align="CENTER">EIntegerObject</td></tr></table>>][shape=none, margin=0];
	ecore_EJavaClass[label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="5"><tr><td balign="CENTER" align="CENTER">EJavaClass</td></tr></table>>][shape=none, margin=0];
	ecore_EJavaObject[label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="5"><tr><td balign="CENTER" align="CENTER">EJavaObject</td></tr></table>>][shape=none, margin=0];
	ecore_ELong[label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="5"><tr><td balign="CENTER" align="CENTER">ELong</td></tr></table>>][shape=none, margin=0];
	ecore_ELongObject[label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="5"><tr><td balign="CENTER" align="CENTER">ELongObject</td></tr></table>>][shape=none, margin=0];
	ecore_EMap[label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="5"><tr><td balign="CENTER" align="CENTER">EMap</td></tr></table>>][shape=none, margin=0];
	ecore_EResource[label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="5"><tr><td balign="CENTER" align="CENTER">EResource</td></tr></table>>][shape=none, margin=0];
	ecore_EResourceSet[label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="5"><tr><td balign="CENTER" align="CENTER">EResourceSet</td></tr></table>>][shape=none, margin=0];
	ecore_EShort[label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="5"><tr><td balign="CENTER" align="CENTER">EShort</td></tr></table>>][shape=none, margin=0];
	ecore_EShortObject[label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="5"><tr><td balign="CENTER" align="CENTER">EShortObject</td></tr></table>>][shape=none, margin=0];
	ecore_EString[label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="5"><tr><td balign="CENTER" align="CENTER">EString</td></tr></table>>][shape=none, margin=0];
	ecore_EStringToStringMapEntry[label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="5"><tr><td balign="CENTER" align="CENTER">EStringToStringMapEntry</td></tr><tr><td balign="LEFT" align="LEFT">key[0..1]: EString<br/>value[0..1]: EString<br/></td></tr><tr><td balign="LEFT" align="LEFT"></td></tr></table>>][shape=none, margin=0];
	ecore_ETreeIterator[label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="5"><tr><td balign="CENTER" align="CENTER">ETreeIterator</td></tr></table>>][shape=none, margin=0];
	ecore_EGenericType[label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="5"><tr><td balign="CENTER" align="CENTER">EGenericType</td></tr><tr><td balign="LEFT" align="LEFT"></td></tr><tr><td balign="LEFT" align="LEFT"></td></tr></table>>][shape=none, margin=0];
	ecore_ETypeParameter[label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="5"><tr><td balign="CENTER" align="CENTER">ETypeParameter</td></tr><tr><td balign="LEFT" align="LEFT"></td></tr><tr><td balign="LEFT" align="LEFT"></td></tr></table>>][shape=none, margin=0];
	};
	java_JavaClass -> java_JavaClass[headlabel="implementsInterfaces\n0..*"][arrowhead=ovee][arrowtail=none][dir=both];
	java_JavaClass -> java_JavaClass[headlabel="classImport\n0..*"][arrowhead=ovee][arrowtail=none][dir=both];
	java_JavaClass -> java_JavaPackage[headlabel="packageImports\n0..*"][arrowhead=ovee][arrowtail=none][dir=both];
	java_JavaClass -> java_Field[taillabel="javaClass\n0..1"][headlabel="fields\n0..*"][arrowhead=none][arrowtail=diamond][dir=both];
	java_JavaClass -> java_Method[taillabel="javaClass\n0..1"][headlabel="methods\n0..*"][arrowhead=none][arrowtail=diamond][dir=both];
	java_JavaClass -> java_Initializer[taillabel="javaClass\n0..1"][headlabel="initializers\n0..*"][arrowhead=none][arrowtail=diamond][dir=both];
	java_JavaClass -> java_JavaClass[taillabel="declaringClass\n0..1"][headlabel="declaredClasses\n0..*"][arrowhead=none][arrowtail=none][dir=both];
	java_JavaClass -> java_JavaPackage[taillabel="javaClasses\n0..*"][headlabel="javaPackage\n0..1"][arrowhead=none][arrowtail=none][dir=both];
	java_JavaClass -> java_JavaEvent[headlabel="events\n0..*"][arrowhead=ovee][arrowtail=diamond][dir=both];
	java_JavaClass -> java_JavaEvent[headlabel="allEvents\n0..*"][arrowhead=ovee][arrowtail=none][dir=both];
	java_Initializer -> java_Block[headlabel="source\n0..1"][arrowhead=ovee][arrowtail=none][dir=both];
	java_Method -> java_JavaParameter[headlabel="parameters\n0..*"][arrowhead=ovee][arrowtail=diamond][dir=both];
	java_Method -> java_JavaClass[headlabel="javaExceptions\n0..*"][arrowhead=ovee][arrowtail=none][dir=both];
	java_Method -> java_Block[headlabel="source\n0..1"][arrowhead=ovee][arrowtail=none][dir=both];
	java_Field -> java_Block[headlabel="initializer\n0..1"][arrowhead=ovee][arrowtail=diamond][dir=both];
	java_Block -> java_Block[headlabel="contents\n0..*"][arrowhead=ovee][arrowtail=diamond][dir=both];
	java_ArrayType -> ecore_EClassifier[headlabel="componentType\n1"][arrowhead=ovee][arrowtail=none][dir=both];
	ecore_EAttribute -> ecore_EDataType[headlabel="eAttributeType\n1"][arrowhead=ovee][arrowtail=none][dir=both];
	ecore_EAnnotation -> ecore_EStringToStringMapEntry[headlabel="details\n0..*"][arrowhead=ovee][arrowtail=diamond][dir=both];
	ecore_EAnnotation -> ecore_EModelElement[taillabel="eAnnotations\n0..*"][headlabel="eModelElement\n0..1"][arrowhead=diamond][arrowtail=none][dir=both];
	ecore_EAnnotation -> ecore_EObject[headlabel="contents\n0..*"][arrowhead=ovee][arrowtail=diamond][dir=both];
	ecore_EAnnotation -> ecore_EObject[headlabel="references\n0..*"][arrowhead=ovee][arrowtail=none][dir=both];
	ecore_EClass -> ecore_EClass[headlabel="eSuperTypes\n0..*"][arrowhead=ovee][arrowtail=none][dir=both];
	ecore_EClass -> ecore_EOperation[taillabel="eContainingClass\n0..1"][headlabel="eOperations\n0..*"][arrowhead=none][arrowtail=diamond][dir=both];
	ecore_EClass -> ecore_EAttribute[headlabel="eAllAttributes\n0..*"][arrowhead=ovee][arrowtail=none][dir=both];
	ecore_EClass -> ecore_EReference[headlabel="eAllReferences\n0..*"][arrowhead=ovee][arrowtail=none][dir=both];
	ecore_EClass -> ecore_EReference[headlabel="eReferences\n0..*"][arrowhead=ovee][arrowtail=none][dir=both];
	ecore_EClass -> ecore_EAttribute[headlabel="eAttributes\n0..*"][arrowhead=ovee][arrowtail=none][dir=both];
	ecore_EClass -> ecore_EReference[headlabel="eAllContainments\n0..*"][arrowhead=ovee][arrowtail=none][dir=both];
	ecore_EClass -> ecore_EOperation[headlabel="eAllOperations\n0..*"][arrowhead=ovee][arrowtail=none][dir=both];
	ecore_EClass -> ecore_EStructuralFeature[headlabel="eAllStructuralFeatures\n0..*"][arrowhead=ovee][arrowtail=none][dir=both];
	ecore_EClass -> ecore_EClass[headlabel="eAllSuperTypes\n0..*"][arrowhead=ovee][arrowtail=none][dir=both];
	ecore_EClass -> ecore_EAttribute[headlabel="eIDAttribute\n0..1"][arrowhead=ovee][arrowtail=none][dir=both];
	ecore_EClass -> ecore_EStructuralFeature[taillabel="eContainingClass\n0..1"][headlabel="eStructuralFeatures\n0..*"][arrowhead=none][arrowtail=diamond][dir=both];
	ecore_EClass -> ecore_EGenericType[headlabel="eGenericSuperTypes\n0..*"][arrowhead=ovee][arrowtail=diamond][dir=both];
	ecore_EClass -> ecore_EGenericType[headlabel="eAllGenericSuperTypes\n0..*"][arrowhead=ovee][arrowtail=none][dir=both];
	ecore_EClassifier -> ecore_EPackage[taillabel="eClassifiers\n0..*"][headlabel="ePackage\n0..1"][arrowhead=diamond][arrowtail=none][dir=both];
	ecore_EClassifier -> ecore_ETypeParameter[headlabel="eTypeParameters\n0..*"][arrowhead=ovee][arrowtail=diamond][dir=both];
	ecore_EEnum -> ecore_EEnumLiteral[taillabel="eEnum\n0..1"][headlabel="eLiterals\n0..*"][arrowhead=none][arrowtail=diamond][dir=both];
	ecore_EFactory -> ecore_EPackage[taillabel="eFactoryInstance\n1"][headlabel="ePackage\n1"][arrowhead=none][arrowtail=none][dir=both];
	ecore_EOperation -> ecore_ETypeParameter[headlabel="eTypeParameters\n0..*"][arrowhead=ovee][arrowtail=diamond][dir=both];
	ecore_EOperation -> ecore_EParameter[taillabel="eOperation\n0..1"][headlabel="eParameters\n0..*"][arrowhead=none][arrowtail=diamond][dir=both];
	ecore_EOperation -> ecore_EClassifier[headlabel="eExceptions\n0..*"][arrowhead=ovee][arrowtail=none][dir=both];
	ecore_EOperation -> ecore_EGenericType[headlabel="eGenericExceptions\n0..*"][arrowhead=ovee][arrowtail=diamond][dir=both];
	ecore_EPackage -> ecore_EPackage[taillabel="eSuperPackage\n0..1"][headlabel="eSubpackages\n0..*"][arrowhead=none][arrowtail=diamond][dir=both];
	ecore_EReference -> ecore_EReference[headlabel="eOpposite\n0..1"][arrowhead=ovee][arrowtail=none][dir=both];
	ecore_EReference -> ecore_EClass[headlabel="eReferenceType\n1"][arrowhead=ovee][arrowtail=none][dir=both];
	ecore_EReference -> ecore_EAttribute[headlabel="eKeys\n0..*"][arrowhead=ovee][arrowtail=none][dir=both];
	ecore_ETypedElement -> ecore_EClassifier[headlabel="eType\n0..1"][arrowhead=ovee][arrowtail=none][dir=both];
	ecore_ETypedElement -> ecore_EGenericType[headlabel="eGenericType\n0..1"][arrowhead=ovee][arrowtail=diamond][dir=both];
	ecore_EGenericType -> ecore_EGenericType[headlabel="eUpperBound\n0..1"][arrowhead=ovee][arrowtail=diamond][dir=both];
	ecore_EGenericType -> ecore_EGenericType[headlabel="eTypeArguments\n0..*"][arrowhead=ovee][arrowtail=diamond][dir=both];
	ecore_EGenericType -> ecore_EClassifier[headlabel="eRawType\n1"][arrowhead=ovee][arrowtail=none][dir=both];
	ecore_EGenericType -> ecore_EGenericType[headlabel="eLowerBound\n0..1"][arrowhead=ovee][arrowtail=diamond][dir=both];
	ecore_EGenericType -> ecore_ETypeParameter[headlabel="eTypeParameter\n0..1"][arrowhead=ovee][arrowtail=none][dir=both];
	ecore_EGenericType -> ecore_EClassifier[headlabel="eClassifier\n0..1"][arrowhead=ovee][arrowtail=none][dir=both];
	ecore_ETypeParameter -> ecore_EGenericType[headlabel="eBounds\n0..*"][arrowhead=ovee][arrowtail=diamond][dir=both];
	java_JavaClass -> ecore_EClass[arrowhead=onormal][arrowtail=none][dir=both];
	java_JavaParameter -> ecore_EParameter[arrowhead=onormal][arrowtail=none][dir=both];
	java_Method -> ecore_EOperation[arrowhead=onormal][arrowtail=none][dir=both];
	java_Field -> ecore_ETypedElement[arrowhead=onormal][arrowtail=none][dir=both];
	java_Comment -> java_Block[arrowhead=onormal][arrowtail=none][dir=both];
	java_Statement -> java_Block[arrowhead=onormal][arrowtail=none][dir=both];
	java_JavaPackage -> ecore_EPackage[arrowhead=onormal][arrowtail=none][dir=both];
	java_JavaDataType -> ecore_EClass[arrowhead=onormal][arrowtail=none][dir=both];
	java_ArrayType -> java_JavaClass[arrowhead=onormal][arrowtail=none][dir=both];
	java_JavaEvent -> ecore_EStructuralFeature[arrowhead=onormal][arrowtail=none][dir=both];
	ecore_EAttribute -> ecore_EStructuralFeature[arrowhead=onormal][arrowtail=none][dir=both];
	ecore_EAnnotation -> ecore_EModelElement[arrowhead=onormal][arrowtail=none][dir=both];
	ecore_EClass -> ecore_EClassifier[arrowhead=onormal][arrowtail=none][dir=both];
	ecore_EClassifier -> ecore_ENamedElement[arrowhead=onormal][arrowtail=none][dir=both];
	ecore_EDataType -> ecore_EClassifier[arrowhead=onormal][arrowtail=none][dir=both];
	ecore_EEnum -> ecore_EDataType[arrowhead=onormal][arrowtail=none][dir=both];
	ecore_EEnumLiteral -> ecore_ENamedElement[arrowhead=onormal][arrowtail=none][dir=both];
	ecore_EFactory -> ecore_EModelElement[arrowhead=onormal][arrowtail=none][dir=both];
	ecore_EModelElement -> ecore_EObject[arrowhead=onormal][arrowtail=none][dir=both];
	ecore_ENamedElement -> ecore_EModelElement[arrowhead=onormal][arrowtail=none][dir=both];
	ecore_EOperation -> ecore_ETypedElement[arrowhead=onormal][arrowtail=none][dir=both];
	ecore_EPackage -> ecore_ENamedElement[arrowhead=onormal][arrowtail=none][dir=both];
	ecore_EParameter -> ecore_ETypedElement[arrowhead=onormal][arrowtail=none][dir=both];
	ecore_EReference -> ecore_EStructuralFeature[arrowhead=onormal][arrowtail=none][dir=both];
	ecore_EStructuralFeature -> ecore_ETypedElement[arrowhead=onormal][arrowtail=none][dir=both];
	ecore_ETypedElement -> ecore_ENamedElement[arrowhead=onormal][arrowtail=none][dir=both];
	ecore_EGenericType -> ecore_EObject[arrowhead=onormal][arrowtail=none][dir=both];
	ecore_ETypeParameter -> ecore_ENamedElement[arrowhead=onormal][arrowtail=none][dir=both];
}
