
(object Petal
    version    	42
    _written   	"Rose 4.5.8163.3"
    charSet    	0)

(object Class_Category "java"
    is_unit    	TRUE
    is_loaded  	TRUE
    attributes 	(list Attribute_Set
	(object Attribute
	    tool       	"IDL"
	    name       	"uuid"
	    value      	(value Text "DCE:c74525a0-8826-11e1-0000-005d9e6adec4:1"))
	(object Attribute
	    tool       	"Ecore"
	    name       	"prefix"
	    value      	"Java")
	(object Attribute
	    tool       	"Ecore"
	    name       	"basePackage"
	    value      	"org.eclipse.emf")
	(object Attribute
	    tool       	"Ecore"
	    name       	"nsPrefix"
	    value      	"java")
	(object Attribute
	    tool       	"Ecore"
	    name       	"nsURI"
	    value      	"http://www.eclipse.org/emf/2002/Java"))
    quid       	"36549F2C004E"
    visible_categories 	(list visibility_relationship_list
	(object Visibility_Relationship
	    attributes 	(list Attribute_Set
		(object Attribute
		    tool       	"IDL"
		    name       	"uuid"
		    value      	(value Text "DCE:c74525a0-8826-11e1-0001-005d9e6adec4:1")))
	    quid       	"381DDF470271"
	    supplier   	"Logical View::mof"
	    quidu      	"374AA8F9028E"))
    exportControl 	"Public"
    logical_models 	(list unit_reference_list
	(object Class "JClass"
	    attributes 	(list Attribute_Set
		(object Attribute
		    tool       	"IDL"
		    name       	"uuid"
		    value      	(value Text "DCE:c74525a0-8826-11e1-0003-005d9e6adec4:1")))
	    quid       	"36549FCC00FA"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B980E0800CD"
		    supplier   	"Logical View::java::JMember"
		    quidu      	"3B980DD6032E"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "abstract"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"IDL"
			    name       	"uuid"
			    value      	(value Text "DCE:c74525a0-8826-11e1-0007-005d9e6adec4:1")))
		    quid       	"380F8F6F01CD"
		    type       	"boolean"
		    exportControl 	"Public")
		(object ClassAttribute "final"
		    quid       	"3D78043300A7"
		    type       	"boolean"
		    exportControl 	"Public")
		(object ClassAttribute "interface"
		    quid       	"3B980BDF01D1"
		    type       	"boolean"
		    exportControl 	"Public")
		(object ClassAttribute "throwable"
		    quid       	"3D78058700CE"
		    type       	"boolean"
		    exportControl 	"Public")
		(object ClassAttribute "javaClass"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isTransient"
			    value      	TRUE))
		    quid       	"3D8B893E004C"
		    type       	"JavaClass<?>"
		    exportControl 	"Public"))
	    language   	"none")
	(object Class "JCompilationUnit"
	    quid       	"3D7933A203CF"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3D85B96802AE"
		    supplier   	"Logical View::java::JModelElement"
		    quidu      	"3D85B8AB0085"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "imports"
		    quid       	"3D793475009E"
		    stereotype 	"0..*"
		    type       	"String"
		    exportControl 	"Public")
		(object ClassAttribute "comment"
		    quid       	"3D85CA9301E5"
		    type       	"String"
		    exportControl 	"Public")))
	(object Class "JField"
	    attributes 	(list Attribute_Set
		(object Attribute
		    tool       	"IDL"
		    name       	"uuid"
		    value      	(value Text "DCE:c74525a0-8826-11e1-0018-005d9e6adec4:1")))
	    quid       	"3654AF8F0280"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B980E0903A9"
		    supplier   	"Logical View::java::JMember"
		    quidu      	"3B980DD6032E"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "final"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"IDL"
			    name       	"uuid"
			    value      	(value Text "DCE:c74525a0-8826-11e1-001d-005d9e6adec4:1")))
		    quid       	"3829C6BE026F"
		    type       	"boolean"
		    exportControl 	"Public")
		(object ClassAttribute "transient"
		    quid       	"3B980D4E0324"
		    type       	"boolean"
		    exportControl 	"Public")
		(object ClassAttribute "volatile"
		    quid       	"3B980D8A03AC"
		    type       	"boolean"
		    exportControl 	"Public")
		(object ClassAttribute "javaField"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isTransient"
			    value      	TRUE))
		    quid       	"3D8B894F0096"
		    type       	"JavaField"
		    exportControl 	"Public")
		(object ClassAttribute "initializer"
		    quid       	"3D7937140175"
		    type       	"String"
		    exportControl 	"Public"))
	    language   	"none")
	(object Class "JInitializer"
	    quid       	"3D7941A400D3"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3D7941AE0109"
		    supplier   	"Logical View::java::JMember"
		    quidu      	"3B980DD6032E"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "body"
		    quid       	"3D7941B5029A"
		    type       	"String"
		    exportControl 	"Public")))
	(object Class "JMember"
	    quid       	"3B980DD6032E"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3D85B92602DB"
		    supplier   	"Logical View::java::JModelElement"
		    quidu      	"3D85B8AB0085"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "static"
		    quid       	"3B980DDD01ED"
		    type       	"boolean"
		    exportControl 	"Public")
		(object ClassAttribute "visibility"
		    quid       	"3D7809A802C3"
		    type       	"JVisibility"
		    exportControl 	"Public")
		(object ClassAttribute "comment"
		    quid       	"3D85CAA401B8"
		    type       	"String"
		    exportControl 	"Public"))
	    abstract   	TRUE)
	(object Class "JMethod"
	    attributes 	(list Attribute_Set
		(object Attribute
		    tool       	"IDL"
		    name       	"uuid"
		    value      	(value Text "DCE:c74525a0-8826-11e1-000f-005d9e6adec4:1")))
	    quid       	"3654AE910271"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B980E0C02C7"
		    supplier   	"Logical View::java::JMember"
		    quidu      	"3B980DD6032E"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "abstract"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"IDL"
			    name       	"uuid"
			    value      	(value Text "DCE:c74525a0-8826-11e1-0011-005d9e6adec4:1")))
		    quid       	"380F90BC022B"
		    type       	"boolean"
		    exportControl 	"Public")
		(object ClassAttribute "final"
		    quid       	"3D780FAB001D"
		    type       	"boolean"
		    exportControl 	"Public")
		(object ClassAttribute "native"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"IDL"
			    name       	"uuid"
			    value      	(value Text "DCE:c74525a0-8826-11e1-0012-005d9e6adec4:1")))
		    quid       	"380F90D10364"
		    type       	"boolean"
		    exportControl 	"Public")
		(object ClassAttribute "synchronized"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"IDL"
			    name       	"uuid"
			    value      	(value Text "DCE:c74525a0-8826-11e1-0013-005d9e6adec4:1")))
		    quid       	"380F90DB03C1"
		    type       	"boolean"
		    exportControl 	"Public")
		(object ClassAttribute "javaMethod"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isTransient"
			    value      	TRUE))
		    quid       	"3D8B8958034B"
		    type       	"JavaMethod"
		    exportControl 	"Public")
		(object ClassAttribute "constructor"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"IDL"
			    name       	"uuid"
			    value      	(value Text "DCE:c74525a0-8826-11e1-0015-005d9e6adec4:1")))
		    quid       	"391ADD280245"
		    type       	"boolean"
		    exportControl 	"Public")
		(object ClassAttribute "javaConstructor"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isTransient"
			    value      	TRUE))
		    quid       	"3D8B89680393"
		    type       	"JavaConstructor<?>"
		    exportControl 	"Public")
		(object ClassAttribute "body"
		    quid       	"3D7940F20267"
		    type       	"String"
		    exportControl 	"Public"))
	    language   	"none")
	(object Class "JModelElement"
	    quid       	"3D85B8AB0085"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "name"
		    quid       	"3D8BBF890135"
		    type       	"String"
		    exportControl 	"Public")
		(object ClassAttribute "jNode"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isTransient"
			    value      	TRUE))
		    quid       	"3D8B84A5031D"
		    type       	"JNode"
		    exportControl 	"Public"))
	    abstract   	TRUE)
	(object Class "JPackage"
	    quid       	"3D8BB70301D5"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3D8BB70D0034"
		    supplier   	"Logical View::java::JModelElement"
		    quidu      	"3D85B8AB0085"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "javaPackage"
		    quid       	"3D8BCA840050"
		    type       	"JavaPackage"
		    exportControl 	"Public")))
	(object Class "JParameter"
	    attributes 	(list Attribute_Set
		(object Attribute
		    tool       	"IDL"
		    name       	"uuid"
		    value      	(value Text "DCE:c74525a0-8826-11e1-000b-005d9e6adec4:1")))
	    quid       	"3654AD780280"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3D85B96E005D"
		    supplier   	"Logical View::java::JModelElement"
		    quidu      	"3D85B8AB0085"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "final"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"IDL"
			    name       	"uuid"
			    value      	(value Text "DCE:c74525a0-8826-11e1-000c-005d9e6adec4:1")))
		    quid       	"3654B64702AF"
		    type       	"boolean"
		    exportControl 	"Public"))
	    language   	"none")
	(object Class "JavaClass"
	    quid       	"3D8B854A01E2"
	    stereotype 	"datatype"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "T"
		    quid       	"3D8B855D02F7"
		    stereotype 	"parameter"
		    exportControl 	"Public")
		(object ClassAttribute "java.lang.Class"
		    quid       	"45950BA80013"
		    stereotype 	"javaclass"
		    exportControl 	"Public"))
	    abstract   	TRUE)
	(object Class "JavaConstructor"
	    quid       	"3D8B87E70025"
	    stereotype 	"datatype"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "T"
		    quid       	"3D8B8800005B"
		    stereotype 	"parameter"
		    exportControl 	"Public")
		(object ClassAttribute "java.lang.reflect.Constructor"
		    quid       	"45950EC200BF"
		    stereotype 	"javaclass"
		    exportControl 	"Public"))
	    abstract   	TRUE)
	(object Class "JavaField"
	    quid       	"3D8B88650172"
	    stereotype 	"datatype"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "java.lang.reflect.Field"
		    quid       	"3D8B887102A5"
		    stereotype 	"javaclass"
		    exportControl 	"Public"))
	    abstract   	TRUE)
	(object Class "JavaMethod"
	    quid       	"3D8B87C1000F"
	    stereotype 	"datatype"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "java.lang.reflect.Method"
		    quid       	"3D8B87CF037F"
		    stereotype 	"javaclass"
		    exportControl 	"Public"))
	    abstract   	TRUE)
	(object Class "JavaPackage"
	    quid       	"3D8BCA390000"
	    stereotype 	"datatype"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "java.lang.Package"
		    quid       	"3D8BCA540088"
		    stereotype 	"javaclass"
		    exportControl 	"Public")))
	(object Class "JNode"
	    quid       	"3D8B84E90226"
	    stereotype 	"datatype"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "java.lang.Object"
		    quid       	"3D8B85210182"
		    stereotype 	"javaclass"
		    exportControl 	"Public"))
	    abstract   	TRUE)
	(object Class "JVisibility"
	    quid       	"3B1E75DA00F3"
	    stereotype 	"enumeration"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "public"
		    quid       	"3B980B9000BF"
		    exportControl 	"Public")
		(object ClassAttribute "protected"
		    quid       	"3B980B9A0056"
		    exportControl 	"Public")
		(object ClassAttribute "private"
		    quid       	"3B980B9D00F0"
		    exportControl 	"Public")
		(object ClassAttribute "package"
		    quid       	"3B980BA200E3"
		    exportControl 	"Public")))
	(object Association "$UNNAMED$0"
	    attributes 	(list Attribute_Set
		(object Attribute
		    tool       	"IDL"
		    name       	"uuid"
		    value      	(value Text "DCE:c74525a0-8826-11e1-003f-005d9e6adec4:1")))
	    quid       	"3654AF0302CE"
	    documentation 	"Delegates to EParameters"
	    roles      	(list role_list
		(object Role "parameters"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"IDL"
			    name       	"uuid"
			    value      	(value Text "DCE:c74525a0-8826-11e1-0040-005d9e6adec4:1")))
		    quid       	"3654AF080196"
		    label      	"parameters"
		    supplier   	"Logical View::java::JParameter"
		    quidu      	"3654AD780280"
		    client_cardinality 	(value cardinality "0..n")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "method"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"IDL"
			    name       	"uuid"
			    value      	(value Text "DCE:c74525a0-8826-11e1-0041-005d9e6adec4:1")))
		    quid       	"3654AF080197"
		    label      	"method"
		    supplier   	"Logical View::java::JMethod"
		    quidu      	"3654AE910271"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$1"
	    attributes 	(list Attribute_Set
		(object Attribute
		    tool       	"IDL"
		    name       	"uuid"
		    value      	(value Text "DCE:c74525a0-8826-11e1-0045-005d9e6adec4:1")))
	    quid       	"3810B61B0178"
	    documentation 	
|Delegates to eExceptions
|Target must be of kind EXCEPTIONTYPE
	    
	    roles      	(list role_list
		(object Role "exceptions"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"IDL"
			    name       	"uuid"
			    value      	(value Text "DCE:c74525a0-8826-11e1-0046-005d9e6adec4:1")))
		    quid       	"3810B61E01C3"
		    label      	"exceptions"
		    supplier   	"Logical View::java::JClass"
		    quidu      	"36549FCC00FA"
		    client_cardinality 	(value cardinality "0..n")
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$2"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"IDL"
			    name       	"uuid"
			    value      	(value Text "DCE:c74525a0-8826-11e1-0047-005d9e6adec4:1")))
		    quid       	"3810B61E0227"
		    supplier   	"Logical View::java::JMethod"
		    quidu      	"3654AE910271")))
	(object Association "$UNNAMED$3"
	    attributes 	(list Attribute_Set
		(object Attribute
		    tool       	"IDL"
		    name       	"uuid"
		    value      	(value Text "DCE:c74525a0-8826-11e1-0051-005d9e6adec4:1")))
	    quid       	"382A29BD0219"
	    documentation 	"Derived from members"
	    roles      	(list role_list
		(object Role "fields"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"IDL"
			    name       	"uuid"
			    value      	(value Text "DCE:c74525a0-8826-11e1-0052-005d9e6adec4:1"))
			(object Attribute
			    tool       	"Ecore"
			    name       	"isTransient"
			    value      	TRUE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	TRUE))
		    quid       	"382A29BE0350"
		    label      	"fields"
		    supplier   	"Logical View::java::JField"
		    quidu      	"3654AF8F0280"
		    client_cardinality 	(value cardinality "0..n")
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$4"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"IDL"
			    name       	"uuid"
			    value      	(value Text "DCE:c74525a0-8826-11e1-0053-005d9e6adec4:1")))
		    quid       	"382A29BE03BF"
		    supplier   	"Logical View::java::JClass"
		    quidu      	"36549FCC00FA")))
	(object Association "$UNNAMED$5"
	    attributes 	(list Attribute_Set
		(object Attribute
		    tool       	"IDL"
		    name       	"uuid"
		    value      	(value Text "DCE:c74525a0-8826-11e1-0054-005d9e6adec4:1")))
	    quid       	"382A29C0017D"
	    documentation 	"Derived from members"
	    roles      	(list role_list
		(object Role "methods"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"IDL"
			    name       	"uuid"
			    value      	(value Text "DCE:c74525a0-8826-11e1-0055-005d9e6adec4:1"))
			(object Attribute
			    tool       	"Ecore"
			    name       	"isTransient"
			    value      	TRUE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	TRUE))
		    quid       	"382A29C10174"
		    label      	"methods"
		    supplier   	"Logical View::java::JMethod"
		    quidu      	"3654AE910271"
		    client_cardinality 	(value cardinality "0..n")
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$6"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"IDL"
			    name       	"uuid"
			    value      	(value Text "DCE:c74525a0-8826-11e1-0056-005d9e6adec4:1")))
		    quid       	"382A29C1020A"
		    supplier   	"Logical View::java::JClass"
		    quidu      	"36549FCC00FA")))
	(object Association "$UNNAMED$7"
	    attributes 	(list Attribute_Set
		(object Attribute
		    tool       	"IDL"
		    name       	"uuid"
		    value      	(value Text "DCE:c74525a0-8826-11e1-0057-005d9e6adec4:1")))
	    quid       	"392A9EB403C6"
	    roles      	(list role_list
		(object Role "superTypes"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"IDL"
			    name       	"uuid"
			    value      	(value Text "DCE:c74525a0-8826-11e1-0058-005d9e6adec4:1")))
		    quid       	"392A9EB803B7"
		    label      	"superTypes"
		    supplier   	"Logical View::java::JClass"
		    quidu      	"36549FCC00FA"
		    client_cardinality 	(value cardinality "0..n")
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$8"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"IDL"
			    name       	"uuid"
			    value      	(value Text "DCE:c74525a0-8826-11e1-0059-005d9e6adec4:1")))
		    quid       	"392A9EB90098"
		    supplier   	"Logical View::java::JClass"
		    quidu      	"36549FCC00FA")))
	(object Association "$UNNAMED$9"
	    attributes 	(list Attribute_Set
		(object Attribute
		    tool       	"IDL"
		    name       	"uuid"
		    value      	(value Text "DCE:c74525a0-8826-11e1-0060-005d9e6adec4:1")))
	    quid       	"392AA21200C2"
	    documentation 	"Derived from superTypes"
	    roles      	(list role_list
		(object Role "allSuperTypes"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"IDL"
			    name       	"uuid"
			    value      	(value Text "DCE:c74525a0-8826-11e1-0061-005d9e6adec4:1"))
			(object Attribute
			    tool       	"Ecore"
			    name       	"isTransient"
			    value      	TRUE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	TRUE))
		    quid       	"392AA21701D8"
		    label      	"allSuperTypes"
		    supplier   	"Logical View::java::JClass"
		    quidu      	"36549FCC00FA"
		    client_cardinality 	(value cardinality "0..n")
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$10"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"IDL"
			    name       	"uuid"
			    value      	(value Text "DCE:c74525a0-8826-11e1-0062-005d9e6adec4:1")))
		    quid       	"392AA21702DC"
		    supplier   	"Logical View::java::JClass"
		    quidu      	"36549FCC00FA")))
	(object Association "$UNNAMED$11"
	    quid       	"3D7904650164"
	    roles      	(list role_list
		(object Role "containingType"
		    quid       	"3D7904660101"
		    label      	"containingType"
		    supplier   	"Logical View::java::JClass"
		    quidu      	"36549FCC00FA"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "members"
		    quid       	"3D7904660102"
		    label      	"members"
		    supplier   	"Logical View::java::JMember"
		    quidu      	"3B980DD6032E"
		    client_cardinality 	(value cardinality "0..n")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$12"
	    quid       	"3D792620037D"
	    documentation 	"An Array when arrayType != null"
	    roles      	(list role_list
		(object Role "componentType"
		    quid       	"3D7926230255"
		    label      	"componentType"
		    supplier   	"Logical View::java::JClass"
		    quidu      	"36549FCC00FA"
		    client_cardinality 	(value cardinality "0..1")
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "arrayType"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isTransient"
			    value      	TRUE))
		    quid       	"3D792623025F"
		    label      	"arrayType"
		    supplier   	"Logical View::java::JClass"
		    quidu      	"36549FCC00FA"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$13"
	    quid       	"3D7926580143"
	    roles      	(list role_list
		(object Role "type"
		    quid       	"3D7926580144"
		    label      	"type"
		    supplier   	"Logical View::java::JClass"
		    quidu      	"36549FCC00FA"
		    client_cardinality 	(value cardinality "0..1")
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$14"
		    quid       	"3D7926580145"
		    supplier   	"Logical View::java::JParameter"
		    quidu      	"3654AD780280")))
	(object Association "$UNNAMED$15"
	    quid       	"3D7928A6005B"
	    roles      	(list role_list
		(object Role "returnType"
		    quid       	"3D7928A702AB"
		    label      	"returnType"
		    supplier   	"Logical View::java::JClass"
		    quidu      	"36549FCC00FA"
		    client_cardinality 	(value cardinality "0..1")
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$16"
		    quid       	"3D7928A702AC"
		    supplier   	"Logical View::java::JMethod"
		    quidu      	"3654AE910271")))
	(object Association "$UNNAMED$17"
	    quid       	"3D7928E9030A"
	    roles      	(list role_list
		(object Role "type"
		    quid       	"3D7928EB00C8"
		    label      	"type"
		    supplier   	"Logical View::java::JClass"
		    quidu      	"36549FCC00FA"
		    client_cardinality 	(value cardinality "0..1")
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$18"
		    quid       	"3D7928EB00D2"
		    supplier   	"Logical View::java::JField"
		    quidu      	"3654AF8F0280")))
	(object Association "$UNNAMED$19"
	    quid       	"3D7933BC03B9"
	    roles      	(list role_list
		(object Role "unit"
		    quid       	"3D7933BD01CF"
		    label      	"unit"
		    supplier   	"Logical View::java::JCompilationUnit"
		    quidu      	"3D7933A203CF"
		    Containment 	"By Value"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "types"
		    quid       	"3D7933BD01D0"
		    label      	"types"
		    supplier   	"Logical View::java::JClass"
		    quidu      	"36549FCC00FA"
		    client_cardinality 	(value cardinality "0..n")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$20"
	    quid       	"3D79422E03DE"
	    documentation 	"Derived from members and superTypes"
	    roles      	(list role_list
		(object Role "allMethods"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isTransient"
			    value      	TRUE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	TRUE))
		    quid       	"3D79423002C9"
		    label      	"allMethods"
		    supplier   	"Logical View::java::JMethod"
		    quidu      	"3654AE910271"
		    client_cardinality 	(value cardinality "0..n")
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$21"
		    quid       	"3D79423002CA"
		    supplier   	"Logical View::java::JClass"
		    quidu      	"36549FCC00FA")))
	(object Association "$UNNAMED$22"
	    quid       	"3D79425002BB"
	    documentation 	"Derived from members and superTypes"
	    roles      	(list role_list
		(object Role "allFields"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isTransient"
			    value      	TRUE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	TRUE))
		    quid       	"3D79425102C6"
		    label      	"allFields"
		    supplier   	"Logical View::java::JField"
		    quidu      	"3654AF8F0280"
		    client_cardinality 	(value cardinality "0..n")
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$23"
		    quid       	"3D79425102C7"
		    supplier   	"Logical View::java::JClass"
		    quidu      	"36549FCC00FA")))
	(object Association "$UNNAMED$24"
	    quid       	"3D8BB7C900CC"
	    roles      	(list role_list
		(object Role "package"
		    quid       	"3D8BB7D203BD"
		    label      	"package"
		    supplier   	"Logical View::java::JPackage"
		    quidu      	"3D8BB70301D5"
		    client_cardinality 	(value cardinality "0..1")
		    is_navigable 	TRUE)
		(object Role "types"
		    quid       	"3D8BB7D203BE"
		    label      	"types"
		    supplier   	"Logical View::java::JClass"
		    quidu      	"36549FCC00FA"
		    client_cardinality 	(value cardinality "0..n")
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$25"
	    quid       	"3D8BB7DA0183"
	    roles      	(list role_list
		(object Role "importedPackages"
		    quid       	"3D8BB7DB0076"
		    label      	"importedPackages"
		    supplier   	"Logical View::java::JPackage"
		    quidu      	"3D8BB70301D5"
		    client_cardinality 	(value cardinality "0..n")
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$26"
		    quid       	"3D8BB7DB0077"
		    supplier   	"Logical View::java::JCompilationUnit"
		    quidu      	"3D7933A203CF")))
	(object Association "$UNNAMED$27"
	    quid       	"3D8BB8000011"
	    roles      	(list role_list
		(object Role "importedTypes"
		    quid       	"3D8BB802015E"
		    label      	"importedTypes"
		    supplier   	"Logical View::java::JClass"
		    quidu      	"36549FCC00FA"
		    client_cardinality 	(value cardinality "0..n")
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$28"
		    quid       	"3D8BB802015F"
		    supplier   	"Logical View::java::JCompilationUnit"
		    quidu      	"3D7933A203CF")))
	(object Association "$UNNAMED$29"
	    quid       	"3D8BBDE00136"
	    roles      	(list role_list
		(object Role "package"
		    quid       	"3D8BBDE20125"
		    label      	"package"
		    supplier   	"Logical View::java::JPackage"
		    quidu      	"3D8BB70301D5"
		    client_cardinality 	(value cardinality "0..1")
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$30"
		    quid       	"3D8BBDE2012F"
		    supplier   	"Logical View::java::JCompilationUnit"
		    quidu      	"3D7933A203CF")))
	(object Association "$UNNAMED$31"
	    quid       	"3DA2C19D03A6"
	    roles      	(list role_list
		(object Role "types"
		    quid       	"3DA2C1A100B3"
		    label      	"types"
		    supplier   	"Logical View::java::JClass"
		    quidu      	"36549FCC00FA"
		    client_cardinality 	(value cardinality "0..n")
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$32"
		    quid       	"3DA2C1A10153"
		    supplier   	"Logical View::java::JClass"
		    quidu      	"36549FCC00FA")))
	(object Association "$UNNAMED$33"
	    quid       	"3DA2C1C90114"
	    roles      	(list role_list
		(object Role "allTypes"
		    quid       	"3DA2C1CB0081"
		    label      	"allTypes"
		    supplier   	"Logical View::java::JClass"
		    quidu      	"36549FCC00FA"
		    client_cardinality 	(value cardinality "0..n")
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$34"
		    quid       	"3DA2C1CB0082"
		    supplier   	"Logical View::java::JClass"
		    quidu      	"36549FCC00FA"))))
    logical_presentations 	(list unit_reference_list
	(object ClassDiagram "Java Hierarchy"
	    quid       	"3D78078B038D"
	    title      	"Java Hierarchy"
	    zoom       	100
	    max_height 	28350
	    max_width  	21600
	    origin_x   	0
	    origin_y   	0
	    items      	(list diagram_item_list
		(object ClassView "Class" "Logical View::java::JParameter" @1
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1147, 403)
		    label      	(object ItemLabel
			Parent_View 	@1
			location   	(1029, 360)
			fill_color 	13434879
			nlines     	1
			max_width  	236
			justify    	0
			label      	"JParameter")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3654AD780280"
		    width      	254
		    height     	110
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::java::JMethod" @2
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(775, 744)
		    label      	(object ItemLabel
			Parent_View 	@2
			location   	(685, 701)
			fill_color 	13434879
			nlines     	1
			max_width  	180
			justify    	0
			label      	"JMethod")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3654AE910271"
		    width      	198
		    height     	110
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::java::JField" @3
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(434, 744)
		    label      	(object ItemLabel
			Parent_View 	@3
			location   	(353, 701)
			fill_color 	13434879
			nlines     	1
			max_width  	162
			justify    	0
			label      	"JField")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3654AF8F0280"
		    height     	110
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::java::JMember" @4
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(434, 403)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@4
			location   	(332, 360)
			fill_color 	13434879
			nlines     	1
			max_width  	204
			justify    	0
			label      	"JMember")
		    icon_style 	"Icon"
		    line_color 	8421504
		    fill_color 	12632256
		    quidu      	"3B980DD6032E"
		    width      	222
		    height     	110
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritTreeView "" @5
		    location   	(425, 603)
		    line_color 	8421504
		    fill_color 	13434879
		    supplier   	@4
		    vertices   	(list Points
			(425, 603)
			(425, 458)))
		(object InheritView "" @6
		    stereotype 	TRUE
		    line_color 	8421504
		    quidu      	"3B980E0C02C7"
		    client     	@2
		    supplier   	@4
		    line_style 	3
		    origin_attachment 	(775, 689)
		    terminal_attachment 	(775, 603)
		    drawSupplier 	@5)
		(object ClassView "Class" "Logical View::java::JInitializer" @7
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1178, 744)
		    label      	(object ItemLabel
			Parent_View 	@7
			location   	(1075, 701)
			fill_color 	13434879
			nlines     	1
			max_width  	206
			justify    	0
			label      	"JInitializer")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3D7941A400D3"
		    width      	224
		    height     	110
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::java::JModelElement" @8
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(620, 93)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@8
			location   	(465, 50)
			fill_color 	13434879
			nlines     	1
			max_width  	310
			justify    	0
			label      	"JModelElement")
		    icon_style 	"Icon"
		    line_color 	8421504
		    fill_color 	12632256
		    quidu      	"3D85B8AB0085"
		    width      	328
		    height     	110
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritTreeView "" @9
		    location   	(622, 238)
		    line_color 	8421504
		    fill_color 	13434879
		    supplier   	@8
		    vertices   	(list Points
			(622, 238)
			(622, 148)))
		(object InheritView "" @10
		    stereotype 	TRUE
		    line_color 	8421504
		    quidu      	"3D85B92602DB"
		    client     	@4
		    supplier   	@8
		    line_style 	3
		    origin_attachment 	(434, 348)
		    terminal_attachment 	(434, 238)
		    drawSupplier 	@9)
		(object ClassView "Class" "Logical View::java::JClass" @11
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(124, 744)
		    label      	(object ItemLabel
			Parent_View 	@11
			location   	(43, 701)
			fill_color 	13434879
			nlines     	1
			max_width  	162
			justify    	0
			label      	"JClass")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"36549FCC00FA"
		    height     	110
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @12
		    stereotype 	TRUE
		    line_color 	8421504
		    quidu      	"3B980E0800CD"
		    client     	@11
		    supplier   	@4
		    line_style 	3
		    origin_attachment 	(106, 689)
		    terminal_attachment 	(106, 603)
		    drawSupplier 	@5)
		(object ClassView "Class" "Logical View::java::JPackage" @13
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(155, 403)
		    label      	(object ItemLabel
			Parent_View 	@13
			location   	(49, 360)
			fill_color 	13434879
			nlines     	1
			max_width  	212
			justify    	0
			label      	"JPackage")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3D8BB70301D5"
		    width      	230
		    height     	110
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::java::JCompilationUnit" @14
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(775, 403)
		    label      	(object ItemLabel
			Parent_View 	@14
			location   	(610, 360)
			fill_color 	13434879
			nlines     	1
			max_width  	330
			justify    	0
			label      	"JCompilationUnit")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3D7933A203CF"
		    width      	348
		    height     	110
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @15
		    stereotype 	TRUE
		    line_color 	8421504
		    quidu      	"3D8BB70D0034"
		    client     	@13
		    supplier   	@8
		    line_style 	3
		    origin_attachment 	(159, 348)
		    terminal_attachment 	(159, 238)
		    drawSupplier 	@9)
		(object InheritView "" @16
		    stereotype 	TRUE
		    line_color 	8421504
		    quidu      	"3D85B96802AE"
		    client     	@14
		    supplier   	@8
		    line_style 	3
		    origin_attachment 	(806, 348)
		    terminal_attachment 	(806, 238)
		    drawSupplier 	@9)
		(object InheritView "" @17
		    stereotype 	TRUE
		    line_color 	8421504
		    quidu      	"3B980E0903A9"
		    client     	@3
		    supplier   	@4
		    line_style 	3
		    origin_attachment 	(425, 689)
		    terminal_attachment 	(425, 603)
		    drawSupplier 	@5)
		(object InheritView "" @18
		    stereotype 	TRUE
		    line_color 	8421504
		    quidu      	"3D7941AE0109"
		    client     	@7
		    supplier   	@4
		    line_style 	3
		    origin_attachment 	(1181, 689)
		    terminal_attachment 	(1181, 603)
		    drawSupplier 	@5)
		(object InheritView "" @19
		    stereotype 	TRUE
		    line_color 	8421504
		    quidu      	"3D85B96E005D"
		    client     	@1
		    supplier   	@8
		    line_style 	3
		    origin_attachment 	(1156, 348)
		    terminal_attachment 	(1156, 238)
		    drawSupplier 	@9)))
	(object ClassDiagram "Java Relations"
	    quid       	"3D85B890020D"
	    title      	"Java Relations"
	    zoom       	100
	    max_height 	28350
	    max_width  	21600
	    origin_x   	0
	    origin_y   	0
	    items      	(list diagram_item_list
		(object ClassView "Class" "Logical View::java::JInitializer" @20
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2170, 1240)
		    label      	(object ItemLabel
			Parent_View 	@20
			location   	(2028, 1159)
			fill_color 	13434879
			nlines     	1
			max_width  	284
			justify    	0
			label      	"JInitializer")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3D7941A400D3"
		    compartment 	(object Compartment
			Parent_View 	@20
			location   	(2028, 1219)
			icon_style 	"Icon"
			fill_color 	13434879
			anchor     	2
			nlines     	2
			max_width  	290)
		    width      	302
		    height     	186
		    annotation 	8)
		(object ClassView "Class" "Logical View::java::JModelElement" @21
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1178, 155)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@21
			location   	(1023, 49)
			fill_color 	13434879
			nlines     	1
			max_width  	310
			justify    	0
			label      	"JModelElement")
		    icon_style 	"Icon"
		    line_color 	8421504
		    fill_color 	12632256
		    quidu      	"3D85B8AB0085"
		    compartment 	(object Compartment
			Parent_View 	@21
			location   	(1023, 109)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	3
			max_width  	312)
		    width      	328
		    height     	236
		    annotation 	8)
		(object InheritTreeView "" @22
		    location   	(1169, 369)
		    line_color 	8421504
		    fill_color 	13434879
		    supplier   	@21
		    vertices   	(list Points
			(1169, 369)
			(1169, 273)))
		(object ClassView "Class" "Logical View::java::JParameter" @23
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(248, 2108)
		    label      	(object ItemLabel
			Parent_View 	@23
			location   	(51, 2030)
			fill_color 	13434879
			nlines     	1
			max_width  	395
			justify    	0
			label      	"JParameter")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3654AD780280"
		    compartment 	(object Compartment
			Parent_View 	@23
			location   	(51, 2090)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	2
			max_width  	309)
		    width      	413
		    height     	181
		    annotation 	8)
		(object InheritView "" @24
		    stereotype 	TRUE
		    line_color 	8421504
		    quidu      	"3D85B96E005D"
		    client     	@23
		    supplier   	@21
		    line_style 	3
		    origin_attachment 	(67, 2018)
		    terminal_attachment 	(67, 369)
		    drawSupplier 	@22)
		(object ClassView "Class" "Logical View::java::JMethod" @25
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2015, 1984)
		    label      	(object ItemLabel
			Parent_View 	@25
			location   	(1656, 1724)
			fill_color 	13434879
			nlines     	1
			max_width  	719
			justify    	0
			label      	"JMethod")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3654AE910271"
		    compartment 	(object Compartment
			Parent_View 	@25
			location   	(1656, 1784)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	9
			max_width  	725)
		    width      	737
		    height     	544
		    annotation 	8)
		(object AssociationViewNew "$UNNAMED$0" @26
		    location   	(1050, 2149)
		    stereotype 	TRUE
		    quidu      	"3654AF0302CE"
		    roleview_list 	(list RoleViews
			(object RoleView "method" @27
			    Parent_View 	@26
			    location   	(-128, 1684)
			    label      	(object SegLabel @28
				Parent_View 	@27
				location   	(1446, 2190)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	168
				justify    	0
				label      	"+method"
				pctDist    	0.665105
				height     	41
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3654AF080197"
			    client     	@26
			    supplier   	@25
			    line_style 	3
			    origin_attachment 	(1050, 2149)
			    terminal_attachment 	(1678, 2149))
			(object RoleView "parameters" @29
			    Parent_View 	@26
			    location   	(-128, 1684)
			    label      	(object SegLabel @30
				Parent_View 	@29
				location   	(614, 2115)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	228
				justify    	0
				label      	"+parameters"
				pctDist    	0.732710
				height     	35
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3654AF080196"
			    client     	@26
			    supplier   	@23
			    line_style 	3
			    origin_attachment 	(1050, 2149)
			    terminal_attachment 	(454, 2149)
			    label      	(object SegLabel @31
				Parent_View 	@29
				location   	(518, 2190)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	70
				justify    	0
				label      	"0..*"
				pctDist    	0.894614
				height     	41
				orientation 	0))))
		(object ClassView "Class" "Logical View::java::JField" @32
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1674, 1302)
		    label      	(object ItemLabel
			Parent_View 	@32
			location   	(1468, 1121)
			fill_color 	13434879
			nlines     	1
			max_width  	412
			justify    	0
			label      	"JField")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3654AF8F0280"
		    compartment 	(object Compartment
			Parent_View 	@32
			location   	(1468, 1181)
			icon_style 	"Icon"
			fill_color 	13434879
			anchor     	2
			nlines     	6
			max_width  	418)
		    width      	430
		    height     	386
		    annotation 	8)
		(object ClassView "Class" "Logical View::java::JMember" @33
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2046, 589)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@33
			location   	(1845, 458)
			fill_color 	13434879
			nlines     	1
			max_width  	402
			justify    	0
			label      	"JMember")
		    icon_style 	"Icon"
		    line_color 	8421504
		    fill_color 	12632256
		    quidu      	"3B980DD6032E"
		    compartment 	(object Compartment
			Parent_View 	@33
			location   	(1845, 518)
			icon_style 	"Icon"
			fill_color 	13434879
			anchor     	2
			nlines     	4
			max_width  	409)
		    width      	420
		    height     	286
		    annotation 	8)
		(object InheritTreeView "" @34
		    location   	(2187, 1031)
		    line_color 	8421504
		    fill_color 	13434879
		    supplier   	@33
		    vertices   	(list Points
			(2187, 1031)
			(2187, 732)))
		(object InheritView "" @35
		    stereotype 	TRUE
		    line_color 	8421504
		    quidu      	"3B980E0903A9"
		    client     	@32
		    supplier   	@33
		    line_style 	3
		    origin_attachment 	(1674, 1109)
		    terminal_attachment 	(1674, 1031)
		    drawSupplier 	@34)
		(object InheritView "" @36
		    stereotype 	TRUE
		    line_color 	8421504
		    quidu      	"3D7941AE0109"
		    client     	@20
		    supplier   	@33
		    line_style 	3
		    origin_attachment 	(2233, 1147)
		    terminal_attachment 	(2233, 1031)
		    drawSupplier 	@34)
		(object InheritView "" @37
		    stereotype 	TRUE
		    line_color 	8421504
		    quidu      	"3B980E0C02C7"
		    client     	@25
		    supplier   	@33
		    line_style 	3
		    origin_attachment 	(1948, 1712)
		    terminal_attachment 	(1948, 1031)
		    drawSupplier 	@34)
		(object InheritView "" @38
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3D85B92602DB"
		    client     	@33
		    supplier   	@21
		    line_style 	3
		    origin_attachment 	(2041, 446)
		    terminal_attachment 	(2041, 369)
		    drawSupplier 	@22)
		(object ClassView "Class" "Logical View::java::JPackage" @39
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(403, 527)
		    label      	(object ItemLabel
			Parent_View 	@39
			location   	(125, 446)
			fill_color 	13434879
			nlines     	1
			max_width  	556
			justify    	0
			label      	"JPackage")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3D8BB70301D5"
		    compartment 	(object Compartment
			Parent_View 	@39
			location   	(125, 506)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	2
			max_width  	562)
		    width      	574
		    height     	186
		    annotation 	8)
		(object InheritView "" @40
		    stereotype 	TRUE
		    line_color 	8421504
		    quidu      	"3D8BB70D0034"
		    client     	@39
		    supplier   	@21
		    line_style 	3
		    origin_attachment 	(384, 434)
		    terminal_attachment 	(384, 369)
		    drawSupplier 	@22)
		(object ClassView "Class" "Logical View::java::JCompilationUnit" @41
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1488, 558)
		    label      	(object ItemLabel
			Parent_View 	@41
			location   	(1235, 452)
			fill_color 	13434879
			nlines     	1
			max_width  	506
			justify    	0
			label      	"JCompilationUnit")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3D7933A203CF"
		    compartment 	(object Compartment
			Parent_View 	@41
			location   	(1235, 512)
			icon_style 	"Icon"
			fill_color 	13434879
			anchor     	2
			nlines     	3
			max_width  	512)
		    width      	524
		    height     	236
		    annotation 	8)
		(object AssociationViewNew "$UNNAMED$25" @42
		    location   	(958, 581)
		    stereotype 	TRUE
		    line_color 	16711680
		    quidu      	"3D8BB7DA0183"
		    roleview_list 	(list RoleViews
			(object RoleView "importedPackages" @43
			    Parent_View 	@42
			    location   	(-189, -39)
			    label      	(object SegLabel @44
				Parent_View 	@43
				location   	(996, 545)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	360
				justify    	0
				label      	"+importedPackages"
				pctDist    	-0.141791
				height     	37
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3D8BB7DB0076"
			    client     	@42
			    supplier   	@39
			    line_style 	3
			    origin_attachment 	(958, 581)
			    terminal_attachment 	(690, 581)
			    label      	(object SegLabel @45
				Parent_View 	@43
				location   	(754, 541)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..*"
				pctDist    	0.764706
				height     	41
				orientation 	1))
			(object RoleView "$UNNAMED$26" @46
			    Parent_View 	@42
			    location   	(-189, -39)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3D8BB7DB0077"
			    client     	@42
			    supplier   	@41
			    line_style 	3
			    origin_attachment 	(958, 581)
			    terminal_attachment 	(1226, 581))))
		(object AssociationViewNew "$UNNAMED$29" @47
		    location   	(958, 487)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3D8BBDE00136"
		    roleview_list 	(list RoleViews
			(object RoleView "package" @48
			    Parent_View 	@47
			    location   	(-189, -71)
			    label      	(object SegLabel @49
				Parent_View 	@48
				location   	(1005, 447)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	180
				justify    	0
				label      	"+package"
				pctDist    	-0.176471
				height     	41
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3D8BBDE20125"
			    client     	@47
			    supplier   	@39
			    line_style 	3
			    origin_attachment 	(958, 487)
			    terminal_attachment 	(690, 487)
			    label      	(object SegLabel @50
				Parent_View 	@48
				location   	(752, 447)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.772549
				height     	41
				orientation 	1))
			(object RoleView "$UNNAMED$30" @51
			    Parent_View 	@47
			    location   	(-189, -71)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3D8BBDE2012F"
			    client     	@47
			    supplier   	@41
			    line_style 	3
			    origin_attachment 	(958, 487)
			    terminal_attachment 	(1226, 487))))
		(object InheritView "" @52
		    stereotype 	TRUE
		    line_color 	8421504
		    quidu      	"3D85B96802AE"
		    client     	@41
		    supplier   	@21
		    line_style 	3
		    origin_attachment 	(1422, 440)
		    terminal_attachment 	(1422, 369)
		    drawSupplier 	@22)
		(object ClassView "Class" "Logical View::java::JClass" @53
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(558, 1395)
		    label      	(object ItemLabel
			Parent_View 	@53
			location   	(118, 1098)
			fill_color 	13434879
			nlines     	1
			max_width  	881
			justify    	0
			label      	"JClass")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"36549FCC00FA"
		    compartment 	(object Compartment
			Parent_View 	@53
			location   	(118, 1158)
			icon_style 	"Icon"
			fill_color 	13434879
			anchor     	2
			nlines     	5
			max_width  	521)
		    width      	899
		    height     	618
		    annotation 	8)
		(object AssociationViewNew "$UNNAMED$9" @54
		    location   	(541, 1930)
		    stereotype 	TRUE
		    line_color 	16711680
		    quidu      	"392AA21200C2"
		    roleview_list 	(list RoleViews
			(object RoleView "allSuperTypes" @55
			    Parent_View 	@54
			    location   	(-48, 1527)
			    label      	(object SegLabel @56
				Parent_View 	@55
				location   	(497, 1889)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	288
				justify    	0
				label      	"+allSuperTypes"
				pctDist    	-0.216749
				height     	42
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"392AA21701D8"
			    client     	@54
			    supplier   	@53
			    vertices   	(list Points
				(541, 1930)
				(744, 1930)
				(744, 1704))
			    line_style 	3
			    origin_attachment 	(541, 1930)
			    terminal_attachment 	(744, 1704)
			    label      	(object SegLabel @57
				Parent_View 	@55
				location   	(664, 1754)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	100
				justify    	0
				label      	"0..*"
				pctDist    	0.883450
				height     	81
				orientation 	0))
			(object RoleView "$UNNAMED$10" @58
			    Parent_View 	@54
			    location   	(-48, 1527)
			    label      	(object SegLabel @59
				Parent_View 	@58
				location   	(379, 1790)
				hidden     	TRUE
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	450
				justify    	0
				label      	""
				pctDist    	0.800000
				height     	42
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"392AA21702DC"
			    client     	@54
			    supplier   	@53
			    vertices   	(list Points
				(541, 1930)
				(337, 1930)
				(337, 1704))
			    line_style 	3
			    origin_attachment 	(541, 1930)
			    terminal_attachment 	(337, 1704))))
		(object AssociationViewNew "$UNNAMED$7" @60
		    location   	(539, 1802)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"392A9EB403C6"
		    roleview_list 	(list RoleViews
			(object RoleView "superTypes" @61
			    Parent_View 	@60
			    location   	(-50, 1399)
			    label      	(object SegLabel @62
				Parent_View 	@61
				location   	(493, 1753)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	237
				justify    	0
				label      	"+superTypes"
				pctDist    	-0.271676
				height     	50
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"392A9EB803B7"
			    client     	@60
			    supplier   	@53
			    vertices   	(list Points
				(539, 1802)
				(712, 1802)
				(712, 1704))
			    line_style 	3
			    origin_attachment 	(539, 1802)
			    terminal_attachment 	(712, 1704)
			    label      	(object SegLabel @63
				Parent_View 	@61
				location   	(691, 1891)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	70
				justify    	0
				label      	"0..*"
				pctDist    	0.564576
				height     	89
				orientation 	1))
			(object RoleView "$UNNAMED$8" @64
			    Parent_View 	@60
			    location   	(-50, 1399)
			    label      	(object SegLabel @65
				Parent_View 	@64
				location   	(408, 1759)
				hidden     	TRUE
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	450
				justify    	0
				label      	""
				pctDist    	0.800000
				height     	42
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"392A9EB90098"
			    client     	@60
			    supplier   	@53
			    vertices   	(list Points
				(539, 1802)
				(366, 1802)
				(366, 1704))
			    line_style 	3
			    origin_attachment 	(539, 1802)
			    terminal_attachment 	(366, 1704))))
		(object AssociationViewNew "$UNNAMED$12" @66
		    location   	(850, 1987)
		    stereotype 	TRUE
		    quidu      	"3D792620037D"
		    roleview_list 	(list RoleViews
			(object RoleView "componentType" @67
			    Parent_View 	@66
			    location   	(261, 1584)
			    label      	(object SegLabel @68
				Parent_View 	@67
				location   	(1066, 1977)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	312
				justify    	0
				label      	"+componentType"
				pctDist    	4.617021
				height     	11
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3D7926230255"
			    client     	@66
			    supplier   	@53
			    vertices   	(list Points
				(850, 1987)
				(897, 1987)
				(897, 1704))
			    line_style 	3
			    origin_attachment 	(850, 1987)
			    terminal_attachment 	(897, 1704)
			    label      	(object SegLabel @69
				Parent_View 	@67
				location   	(945, 2048)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	72
				justify    	0
				label      	"0..1"
				pctDist    	2.042553
				height     	61
				orientation 	1))
			(object RoleView "arrayType" @70
			    Parent_View 	@66
			    location   	(261, 1584)
			    label      	(object SegLabel @71
				Parent_View 	@70
				location   	(686, 1998)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	204
				justify    	0
				label      	"+arrayType"
				pctDist    	3.489362
				height     	11
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3D792623025F"
			    client     	@66
			    supplier   	@53
			    vertices   	(list Points
				(850, 1987)
				(803, 1987)
				(803, 1704))
			    line_style 	3
			    origin_attachment 	(850, 1987)
			    terminal_attachment 	(803, 1704)
			    label      	(object SegLabel @72
				Parent_View 	@70
				location   	(768, 2047)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	1.765957
				height     	60
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$13" @73
		    location   	(194, 1861)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3D7926580143"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$14" @74
			    Parent_View 	@73
			    location   	(-395, 1458)
			    label      	(object SegLabel @75
				Parent_View 	@74
				location   	(236, 1986)
				hidden     	TRUE
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	450
				justify    	0
				label      	""
				pctDist    	0.800000
				height     	42
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3D7926580145"
			    client     	@73
			    supplier   	@23
			    line_style 	3
			    origin_attachment 	(194, 1861)
			    terminal_attachment 	(194, 2018))
			(object RoleView "type" @76
			    Parent_View 	@73
			    location   	(-395, 1458)
			    label      	(object SegLabel @77
				Parent_View 	@76
				location   	(256, 1787)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	137
				justify    	0
				label      	"+type"
				pctDist    	0.472441
				height     	62
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3D7926580144"
			    client     	@73
			    supplier   	@53
			    line_style 	3
			    origin_attachment 	(194, 1861)
			    terminal_attachment 	(194, 1704)
			    label      	(object SegLabel @78
				Parent_View 	@76
				location   	(141, 1793)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	72
				justify    	0
				label      	"0..1"
				pctDist    	0.440559
				height     	54
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$5" @79
		    location   	(1271, 1799)
		    stereotype 	TRUE
		    line_color 	16711680
		    quidu      	"382A29C0017D"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$6" @80
			    Parent_View 	@79
			    location   	(-186, 993)
			    label      	(object SegLabel @81
				Parent_View 	@80
				location   	(1032, 1779)
				hidden     	TRUE
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	450
				justify    	0
				label      	""
				pctDist    	0.800000
				height     	42
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"382A29C1020A"
			    client     	@79
			    supplier   	@53
			    vertices   	(list Points
				(1271, 1799)
				(990, 1799)
				(990, 1704))
			    line_style 	3
			    origin_attachment 	(1271, 1799)
			    terminal_attachment 	(990, 1704))
			(object RoleView "methods" @82
			    Parent_View 	@79
			    location   	(-186, 993)
			    label      	(object SegLabel @83
				Parent_View 	@82
				location   	(1386, 1766)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	180
				justify    	0
				label      	"+methods"
				pctDist    	0.305851
				height     	34
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"382A29C10174"
			    client     	@79
			    supplier   	@25
			    line_style 	3
			    origin_attachment 	(1271, 1799)
			    terminal_attachment 	(1678, 1799)
			    label      	(object SegLabel @84
				Parent_View 	@82
				location   	(1560, 1763)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	70
				justify    	0
				label      	"0..*"
				pctDist    	0.771277
				height     	37
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$1" @85
		    location   	(1458, 1546)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3810B61B0178"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$2" @86
			    Parent_View 	@85
			    location   	(869, 1143)
			    label      	(object SegLabel @87
				Parent_View 	@86
				location   	(1785, 1621)
				hidden     	TRUE
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	450
				justify    	0
				label      	""
				pctDist    	0.800000
				height     	42
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3810B61E0227"
			    client     	@85
			    supplier   	@25
			    vertices   	(list Points
				(1458, 1546)
				(1743, 1546)
				(1743, 1712))
			    line_style 	3
			    origin_attachment 	(1458, 1546)
			    terminal_attachment 	(1743, 1712))
			(object RoleView "exceptions" @88
			    Parent_View 	@85
			    location   	(869, 1143)
			    label      	(object SegLabel @89
				Parent_View 	@88
				location   	(1284, 1510)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	228
				justify    	0
				label      	"+exceptions"
				pctDist    	0.388521
				height     	37
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3810B61E01C3"
			    client     	@85
			    supplier   	@53
			    line_style 	3
			    origin_attachment 	(1458, 1546)
			    terminal_attachment 	(1007, 1546)
			    label      	(object SegLabel @90
				Parent_View 	@88
				location   	(1098, 1510)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	70
				justify    	0
				label      	"0..*"
				pctDist    	0.799117
				height     	37
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$15" @91
		    location   	(1378, 1640)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3D7928A6005B"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$16" @92
			    Parent_View 	@91
			    location   	(789, 1237)
			    label      	(object SegLabel @93
				Parent_View 	@92
				location   	(1676, 1599)
				hidden     	TRUE
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	450
				justify    	0
				label      	""
				pctDist    	0.800000
				height     	42
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3D7928A702AC"
			    client     	@91
			    supplier   	@25
			    vertices   	(list Points
				(1378, 1640)
				(1678, 1640)
				(1678, 1712))
			    line_style 	3
			    origin_attachment 	(1378, 1640)
			    terminal_attachment 	(1678, 1712))
			(object RoleView "returnType" @94
			    Parent_View 	@91
			    location   	(789, 1237)
			    label      	(object SegLabel @95
				Parent_View 	@94
				location   	(1284, 1603)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	216
				justify    	0
				label      	"+returnType"
				pctDist    	0.257373
				height     	38
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3D7928A702AB"
			    client     	@91
			    supplier   	@53
			    line_style 	3
			    origin_attachment 	(1378, 1640)
			    terminal_attachment 	(1007, 1640)
			    label      	(object SegLabel @96
				Parent_View 	@94
				location   	(1101, 1600)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	72
				justify    	0
				label      	"0..1"
				pctDist    	0.745308
				height     	41
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$20" @97
		    location   	(1212, 1880)
		    stereotype 	TRUE
		    line_color 	16711680
		    quidu      	"3D79422E03DE"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$21" @98
			    Parent_View 	@97
			    location   	(-245, 1074)
			    label      	(object SegLabel @99
				Parent_View 	@98
				location   	(995, 1792)
				hidden     	TRUE
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	450
				justify    	0
				label      	""
				pctDist    	0.800000
				height     	42
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3D79423002CA"
			    client     	@97
			    supplier   	@53
			    vertices   	(list Points
				(1212, 1880)
				(953, 1880)
				(953, 1704))
			    line_style 	3
			    origin_attachment 	(1212, 1880)
			    terminal_attachment 	(953, 1704))
			(object RoleView "allMethods" @100
			    Parent_View 	@97
			    location   	(-245, 1074)
			    label      	(object SegLabel @101
				Parent_View 	@100
				location   	(1373, 1853)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	228
				justify    	0
				label      	"+allMethods"
				pctDist    	0.370115
				height     	28
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3D79423002C9"
			    client     	@97
			    supplier   	@25
			    line_style 	3
			    origin_attachment 	(1212, 1880)
			    terminal_attachment 	(1678, 1880)
			    label      	(object SegLabel @102
				Parent_View 	@100
				location   	(1551, 1850)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	70
				justify    	0
				label      	"0..*"
				pctDist    	0.779310
				height     	31
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$3" @103
		    location   	(1233, 1128)
		    stereotype 	TRUE
		    line_color 	16711680
		    quidu      	"382A29BD0219"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$4" @104
			    Parent_View 	@103
			    location   	(644, 167)
			    label      	(object SegLabel @105
				Parent_View 	@104
				location   	(1052, 1170)
				hidden     	TRUE
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	450
				justify    	0
				label      	""
				pctDist    	0.800000
				height     	42
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"382A29BE03BF"
			    client     	@103
			    supplier   	@53
			    line_style 	3
			    origin_attachment 	(1233, 1128)
			    terminal_attachment 	(1007, 1128))
			(object RoleView "fields" @106
			    Parent_View 	@103
			    location   	(644, 167)
			    label      	(object SegLabel @107
				Parent_View 	@106
				location   	(1250, 1101)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	120
				justify    	0
				label      	"+fields"
				pctDist    	0.075377
				height     	28
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"382A29BE0350"
			    client     	@103
			    supplier   	@32
			    line_style 	3
			    origin_attachment 	(1233, 1128)
			    terminal_attachment 	(1459, 1128)
			    label      	(object SegLabel @108
				Parent_View 	@106
				location   	(1375, 1095)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	70
				justify    	0
				label      	"0..*"
				pctDist    	0.633166
				height     	34
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$17" @109
		    location   	(1233, 1231)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3D7928E9030A"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$18" @110
			    Parent_View 	@109
			    location   	(644, 828)
			    label      	(object SegLabel @111
				Parent_View 	@110
				location   	(1414, 1273)
				hidden     	TRUE
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	450
				justify    	0
				label      	""
				pctDist    	0.800000
				height     	42
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3D7928EB00D2"
			    client     	@109
			    supplier   	@32
			    line_style 	3
			    origin_attachment 	(1233, 1231)
			    terminal_attachment 	(1459, 1231))
			(object RoleView "type" @112
			    Parent_View 	@109
			    location   	(644, 828)
			    label      	(object SegLabel @113
				Parent_View 	@112
				location   	(1240, 1199)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	108
				justify    	0
				label      	"+type"
				pctDist    	-0.035354
				height     	33
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3D7928EB00C8"
			    client     	@109
			    supplier   	@53
			    line_style 	3
			    origin_attachment 	(1233, 1231)
			    terminal_attachment 	(1007, 1231)
			    label      	(object SegLabel @114
				Parent_View 	@112
				location   	(1118, 1202)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	72
				justify    	0
				label      	"0..1"
				pctDist    	0.515152
				height     	30
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$22" @115
		    location   	(1233, 1327)
		    stereotype 	TRUE
		    line_color 	16711680
		    quidu      	"3D79425002BB"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$23" @116
			    Parent_View 	@115
			    location   	(644, 366)
			    label      	(object SegLabel @117
				Parent_View 	@116
				location   	(1052, 1369)
				hidden     	TRUE
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	450
				justify    	0
				label      	""
				pctDist    	0.800000
				height     	42
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3D79425102C7"
			    client     	@115
			    supplier   	@53
			    line_style 	3
			    origin_attachment 	(1233, 1327)
			    terminal_attachment 	(1007, 1327))
			(object RoleView "allFields" @118
			    Parent_View 	@115
			    location   	(644, 366)
			    label      	(object SegLabel @119
				Parent_View 	@118
				location   	(1218, 1300)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	180
				justify    	0
				label      	"+allFields"
				pctDist    	-0.066372
				height     	28
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3D79425102C6"
			    client     	@115
			    supplier   	@32
			    line_style 	3
			    origin_attachment 	(1233, 1327)
			    terminal_attachment 	(1459, 1327)
			    label      	(object SegLabel @120
				Parent_View 	@118
				location   	(1375, 1300)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	70
				justify    	0
				label      	"0..*"
				pctDist    	0.633166
				height     	28
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$11" @121
		    location   	(1414, 931)
		    stereotype 	TRUE
		    quidu      	"3D7904650164"
		    roleview_list 	(list RoleViews
			(object RoleView "members" @122
			    Parent_View 	@121
			    location   	(825, 528)
			    label      	(object SegLabel @123
				Parent_View 	@122
				location   	(1765, 850)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	192
				justify    	0
				label      	"+members"
				pctDist    	0.523734
				height     	82
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3D7904660102"
			    client     	@121
			    supplier   	@33
			    vertices   	(list Points
				(1414, 931)
				(1887, 931)
				(1887, 732))
			    line_style 	3
			    origin_attachment 	(1414, 931)
			    terminal_attachment 	(1887, 732)
			    label      	(object SegLabel @124
				Parent_View 	@122
				location   	(1941, 838)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	70
				justify    	0
				label      	"0..*"
				pctDist    	0.843354
				height     	54
				orientation 	1))
			(object RoleView "containingType" @125
			    Parent_View 	@121
			    location   	(825, 528)
			    label      	(object SegLabel @126
				Parent_View 	@125
				location   	(1047, 963)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	300
				justify    	0
				label      	"+containingType"
				pctDist    	0.546089
				height     	32
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3D7904660101"
			    client     	@121
			    supplier   	@53
			    vertices   	(list Points
				(1414, 931)
				(897, 931)
				(897, 1086))
			    line_style 	3
			    origin_attachment 	(1414, 931)
			    terminal_attachment 	(897, 1086))))
		(object AssociationViewNew "$UNNAMED$24" @127
		    location   	(181, 853)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3D8BB7C900CC"
		    roleview_list 	(list RoleViews
			(object RoleView "package" @128
			    Parent_View 	@127
			    location   	(-377, -418)
			    label      	(object SegLabel @129
				Parent_View 	@128
				location   	(297, 680)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	180
				justify    	0
				label      	"+package"
				pctDist    	0.746781
				height     	116
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3D8BB7D203BD"
			    client     	@127
			    supplier   	@39
			    line_style 	3
			    origin_attachment 	(181, 853)
			    terminal_attachment 	(181, 620)
			    label      	(object SegLabel @130
				Parent_View 	@128
				location   	(143, 679)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.751073
				height     	39
				orientation 	0))
			(object RoleView "types" @131
			    Parent_View 	@127
			    location   	(-377, -418)
			    label      	(object SegLabel @132
				Parent_View 	@131
				location   	(266, 1026)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	132
				justify    	0
				label      	"+types"
				pctDist    	0.742489
				height     	85
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3D8BB7D203BE"
			    client     	@127
			    supplier   	@53
			    line_style 	3
			    origin_attachment 	(181, 853)
			    terminal_attachment 	(181, 1086)
			    label      	(object SegLabel @133
				Parent_View 	@131
				location   	(142, 1027)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..*"
				pctDist    	0.751073
				height     	40
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$19" @134
		    location   	(1105, 834)
		    stereotype 	TRUE
		    quidu      	"3D7933BC03B9"
		    roleview_list 	(list RoleViews
			(object RoleView "types" @135
			    Parent_View 	@134
			    location   	(-1065, -3)
			    label      	(object SegLabel @136
				Parent_View 	@135
				location   	(886, 867)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	132
				justify    	0
				label      	"+types"
				pctDist    	0.404293
				height     	33
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3D7933BD01D0"
			    client     	@134
			    supplier   	@53
			    vertices   	(list Points
				(1105, 834)
				(812, 834)
				(812, 1086))
			    line_style 	3
			    origin_attachment 	(1105, 834)
			    terminal_attachment 	(812, 1086)
			    label      	(object SegLabel @137
				Parent_View 	@135
				location   	(774, 877)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	70
				justify    	0
				label      	"0..*"
				pctDist    	0.617174
				height     	39
				orientation 	1))
			(object RoleView "unit" @138
			    Parent_View 	@134
			    location   	(-1065, -3)
			    label      	(object SegLabel @139
				Parent_View 	@138
				location   	(1387, 782)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	96
				justify    	0
				label      	"+unit"
				pctDist    	0.519187
				height     	53
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3D7933BD01CF"
			    client     	@134
			    supplier   	@41
			    vertices   	(list Points
				(1105, 834)
				(1491, 834)
				(1491, 676))
			    line_style 	3
			    origin_attachment 	(1105, 834)
			    terminal_attachment 	(1491, 676))))
		(object AssociationViewNew "$UNNAMED$27" @140
		    location   	(776, 659)
		    stereotype 	TRUE
		    line_color 	16711680
		    quidu      	"3D8BB8000011"
		    roleview_list 	(list RoleViews
			(object RoleView "importedTypes" @141
			    Parent_View 	@140
			    location   	(-371, 39)
			    label      	(object SegLabel @142
				Parent_View 	@141
				location   	(885, 700)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	288
				justify    	0
				label      	"+importedTypes"
				pctDist    	-1.816667
				height     	41
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3D8BB802015E"
			    client     	@140
			    supplier   	@53
			    vertices   	(list Points
				(776, 659)
				(716, 659)
				(716, 1086))
			    line_style 	3
			    origin_attachment 	(776, 659)
			    terminal_attachment 	(716, 1086)
			    label      	(object SegLabel @143
				Parent_View 	@141
				location   	(667, 702)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..*"
				pctDist    	0.213552
				height     	50
				orientation 	1))
			(object RoleView "$UNNAMED$28" @144
			    Parent_View 	@140
			    location   	(-371, 39)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3D8BB802015F"
			    client     	@140
			    supplier   	@41
			    line_style 	3
			    origin_attachment 	(776, 659)
			    terminal_attachment 	(1226, 659))))
		(object AssociationViewNew "$UNNAMED$31" @145
		    location   	(510, 997)
		    stereotype 	TRUE
		    line_color 	16711680
		    quidu      	"3DA2C19D03A6"
		    roleview_list 	(list RoleViews
			(object RoleView "types" @146
			    Parent_View 	@145
			    location   	(-48, -398)
			    label      	(object SegLabel @147
				Parent_View 	@146
				location   	(469, 1029)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	132
				justify    	0
				label      	"+types"
				pctDist    	-0.385321
				height     	32
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3DA2C1A100B3"
			    client     	@145
			    supplier   	@53
			    vertices   	(list Points
				(510, 997)
				(619, 997)
				(619, 1086))
			    line_style 	3
			    origin_attachment 	(510, 997)
			    terminal_attachment 	(619, 1086)
			    label      	(object SegLabel @148
				Parent_View 	@146
				location   	(576, 1059)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..*"
				pctDist    	0.863636
				height     	44
				orientation 	1))
			(object RoleView "$UNNAMED$32" @149
			    Parent_View 	@145
			    location   	(-48, -398)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3DA2C1A10153"
			    client     	@145
			    supplier   	@53
			    vertices   	(list Points
				(510, 997)
				(400, 997)
				(400, 1086))
			    line_style 	3
			    origin_attachment 	(510, 997)
			    terminal_attachment 	(400, 1086))))
		(object AssociationViewNew "$UNNAMED$33" @150
		    location   	(510, 900)
		    stereotype 	TRUE
		    line_color 	16711680
		    quidu      	"3DA2C1C90114"
		    roleview_list 	(list RoleViews
			(object RoleView "allTypes" @151
			    Parent_View 	@150
			    location   	(-48, -495)
			    label      	(object SegLabel @152
				Parent_View 	@151
				location   	(468, 950)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	180
				justify    	0
				label      	"+allTypes"
				pctDist    	-0.305732
				height     	50
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3DA2C1CB0081"
			    client     	@150
			    supplier   	@53
			    vertices   	(list Points
				(510, 900)
				(650, 900)
				(650, 1086))
			    line_style 	3
			    origin_attachment 	(510, 900)
			    terminal_attachment 	(650, 1086)
			    label      	(object SegLabel @153
				Parent_View 	@151
				location   	(603, 956)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..*"
				pctDist    	0.289474
				height     	56
				orientation 	1))
			(object RoleView "$UNNAMED$34" @154
			    Parent_View 	@150
			    location   	(-48, -495)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3DA2C1CB0082"
			    client     	@150
			    supplier   	@53
			    vertices   	(list Points
				(510, 900)
				(369, 900)
				(369, 1086))
			    line_style 	3
			    origin_attachment 	(510, 900)
			    terminal_attachment 	(369, 1086))))
		(object InheritView "" @155
		    stereotype 	TRUE
		    line_color 	8421504
		    quidu      	"3B980E0800CD"
		    client     	@53
		    supplier   	@33
		    line_style 	3
		    origin_attachment 	(953, 1086)
		    terminal_attachment 	(953, 1031)
		    drawSupplier 	@34)))
	(object ClassDiagram "Java Datatypes"
	    quid       	"3D8B84D10024"
	    title      	"Java Datatypes"
	    zoom       	100
	    max_height 	28350
	    max_width  	21600
	    origin_x   	0
	    origin_y   	0
	    items      	(list diagram_item_list
		(object ClassView "Class" "Logical View::java::JNode" @156
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1426, 186)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@156
			location   	(1116, 152)
			fill_color 	13434879
			nlines     	1
			max_width  	620
			justify    	0
			label      	"JNode")
		    stereotype 	(object ItemLabel
			Parent_View 	@156
			location   	(1116, 102)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	620
			justify    	0
			label      	"<<datatype>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	8963327
		    quidu      	"3D8B84E90226"
		    compartment 	(object Compartment
			Parent_View 	@156
			location   	(1116, 212)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	1
			max_width  	625)
		    width      	638
		    height     	192
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::java::JavaClass" @157
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(372, 620)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@157
			location   	(70, 561)
			fill_color 	13434879
			nlines     	1
			max_width  	604
			justify    	0
			label      	"JavaClass")
		    stereotype 	(object ItemLabel
			Parent_View 	@157
			location   	(70, 511)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	604
			justify    	0
			label      	"<<datatype>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	8963327
		    quidu      	"3D8B854A01E2"
		    compartment 	(object Compartment
			Parent_View 	@157
			location   	(70, 621)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	2
			max_width  	609)
		    width      	622
		    height     	242
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::java::JVisibility" @158
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(248, 248)
		    label      	(object ItemLabel
			Parent_View 	@158
			location   	(86, 139)
			fill_color 	13434879
			nlines     	1
			max_width  	324
			justify    	0
			label      	"JVisibility")
		    stereotype 	(object ItemLabel
			Parent_View 	@158
			location   	(86, 89)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	324
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	8963327
		    quidu      	"3B1E75DA00F3"
		    compartment 	(object Compartment
			Parent_View 	@158
			location   	(86, 199)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	4
			max_width  	228)
		    width      	342
		    height     	342
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::java::JavaMethod" @159
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(434, 930)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@159
			location   	(56, 896)
			fill_color 	13434879
			nlines     	1
			max_width  	756
			justify    	0
			label      	"JavaMethod")
		    stereotype 	(object ItemLabel
			Parent_View 	@159
			location   	(56, 846)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	756
			justify    	0
			label      	"<<datatype>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	8963327
		    quidu      	"3D8B87C1000F"
		    compartment 	(object Compartment
			Parent_View 	@159
			location   	(56, 956)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	1
			max_width  	762)
		    width      	774
		    height     	192
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::java::JavaConstructor" @160
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1364, 930)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@160
			location   	(948, 871)
			fill_color 	13434879
			nlines     	1
			max_width  	832
			justify    	0
			label      	"JavaConstructor")
		    stereotype 	(object ItemLabel
			Parent_View 	@160
			location   	(948, 821)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	832
			justify    	0
			label      	"<<datatype>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	8963327
		    quidu      	"3D8B87E70025"
		    compartment 	(object Compartment
			Parent_View 	@160
			location   	(948, 931)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	2
			max_width  	828)
		    width      	850
		    height     	242
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::java::JavaField" @161
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    location   	(1395, 620)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@161
			location   	(1041, 586)
			fill_color 	13434879
			nlines     	1
			max_width  	708
			justify    	0
			label      	"JavaField")
		    stereotype 	(object ItemLabel
			Parent_View 	@161
			location   	(1041, 536)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	708
			justify    	0
			label      	"<<datatype>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	8963327
		    quidu      	"3D8B88650172"
		    compartment 	(object Compartment
			Parent_View 	@161
			location   	(1041, 646)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	1
			max_width  	715)
		    width      	726
		    height     	192
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::java::JavaPackage" @162
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(403, 1302)
		    label      	(object ItemLabel
			Parent_View 	@162
			location   	(74, 1243)
			fill_color 	13434879
			nlines     	1
			max_width  	658
			justify    	0
			label      	"JavaPackage")
		    stereotype 	(object ItemLabel
			Parent_View 	@162
			location   	(74, 1193)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	658
			justify    	0
			label      	"<<datatype>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	8963327
		    quidu      	"3D8BCA390000"
		    compartment 	(object Compartment
			Parent_View 	@162
			location   	(74, 1303)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	2
			max_width  	665)
		    width      	676
		    height     	242
		    annotation 	8
		    autoResize 	TRUE)))))
