<?xml version="1.0" encoding="UTF-8"?>
<gmfgen:GenEditorGenerator xmi:version="2.0"
    xmlns:xmi="http://www.omg.org/XMI"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:gmfgen="http://www.eclipse.org/gmf/2009/GenModel"
    xmlns:u2tgen="http://www.eclipse.org/modeling/mdt/uml2tools/gmf/GenModel" packageNamePrefix="org.eclipse.uml2.diagram.csd"
    modelID="UMLCompositeStructures"
    diagramFileExtension="umlcsd,umlcompositestructures_diagram"
    dynamicTemplates="true"
    templateDirectory="/org.eclipse.uml2.diagram.def/dynamic-templates/codegen">
  <diagram
      visualID="1000"
      editPartClassName="PackageEditPart"
      itemSemanticEditPolicyClassName="PackageItemSemanticEditPolicy"
      canonicalEditPolicyClassName="PackageCanonicalEditPolicy"
      iconProviderPriority="Low"
      creationWizardCategoryID="org.eclipse.uml2.diagram.New"
      validationProviderPriority="Low">
    <diagramRunTimeClass
        href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Diagram"/>
    <elementType
        xsi:type="gmfgen:MetamodelType"
        editHelperClassName="PackageEditHelper"/>
    <viewmap
        xsi:type="gmfgen:FigureViewmap"
        figureQualifiedClassName="org.eclipse.draw2d.FreeformLayer">
      <attributes
          xsi:type="u2tgen:LinkToolStackInfoAttribute"
          toolgroupTitle="Dependency"
          elementUniqueIdentifier="Dependency_4017"/>
    </viewmap>
    <containsShortcutsTo>uml</containsShortcutsTo>
    <shortcutsProvidedFor>uml</shortcutsProvidedFor>
    <domainDiagramElement
        href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Package"/>
    <childNodes
        visualID="3002"
        editPartClassName="CollaborationUse2EditPart"
        itemSemanticEditPolicyClassName="CollaborationUse2ItemSemanticEditPolicy"
        notationViewFactoryClassName="CollaborationUse2ViewFactory"
        canonicalEditPolicyClassName="CollaborationUse2CanonicalEditPolicy"
        graphicalNodeEditPolicyClassName="CollaborationUse2GraphicalNodeEditPolicy"
        createCommandClassName="CollaborationUse2CreateCommand"
        containers="//@diagram/@compartments.0">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
      <elementType
          xsi:type="gmfgen:MetamodelType"
          editHelperClassName="CollaborationUseEditHelper"/>
      <viewmap
          xsi:type="gmfgen:InnerClassViewmap"
          layoutType="TOOLBAR_LAYOUT"
          className="CollaborationUseFigure"
          classBody="&#xA;/**&#xA; * @generated&#xA; */&#xA;public class CollaborationUseFigure extends org.eclipse.draw2d.Ellipse {&#xA;&#xA;&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;private org.eclipse.draw2d.Label fFigureCollaborationUseFigure_name; &#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;private org.eclipse.uml2.diagram.common.draw2d.StereotypeLabel fFigureCollaborationUseFigure_stereo; &#xA;&#xA;&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;public CollaborationUseFigure() {&#xA;&#x9;&#x9;&#xA;&#x9;org.eclipse.draw2d.ToolbarLayout layoutThis = new org.eclipse.draw2d.ToolbarLayout();&#xA;&#x9;layoutThis.setStretchMinorAxis(true);&#xA;&#x9;layoutThis.setMinorAlignment(org.eclipse.draw2d.ToolbarLayout.ALIGN_TOPLEFT&#xA;);&#xA;&#xA;&#x9;layoutThis.setSpacing(0);&#xA;&#x9;layoutThis.setVertical(true);&#xA;&#xA;&#x9;this.setLayoutManager(layoutThis);&#xA;&#xA;&#x9;&#x9;this.setLineWidth(1);&#xA;this.setLineStyle(org.eclipse.draw2d.Graphics.LINE_DASH);&#xA;&#x9;&#x9;createContents();&#xA;&#x9;}&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;private void createContents(){&#xA;&#xA;&#xA;fFigureCollaborationUseFigure_stereo = new org.eclipse.uml2.diagram.common.draw2d.StereotypeLabel();&#xA;&#xA;&#xA;&#xA;this.add(fFigureCollaborationUseFigure_stereo);&#xA;&#xA;&#xA;&#xA;fFigureCollaborationUseFigure_name = new org.eclipse.draw2d.Label();&#xA;fFigureCollaborationUseFigure_name.setText(&quot;&quot;);&#xA;&#xA;this.add(fFigureCollaborationUseFigure_name);&#xA;&#xA;&#xA;&#x9;}&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;public org.eclipse.draw2d.Label getFigureCollaborationUseFigure_name() {&#xA;&#x9;&#x9;return fFigureCollaborationUseFigure_name;&#xA;&#x9;}&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;public org.eclipse.uml2.diagram.common.draw2d.StereotypeLabel getFigureCollaborationUseFigure_stereo() {&#xA;&#x9;&#x9;return fFigureCollaborationUseFigure_stereo;&#xA;&#x9;}&#xA;&#xA;&#xA;}&#xA;&#xA;">
        <attributes
            xsi:type="gmfgen:DefaultSizeAttributes"
            width="80"
            height="60"/>
        <attributes
            xsi:type="u2tgen:StereotypeSupportAttribute"/>
      </viewmap>
      <modelFacet>
        <metaClass
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/CollaborationUse"/>
        <containmentMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Classifier/collaborationUse"/>
        <childMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Classifier/collaborationUse"/>
        <modelElementInitializer
            xsi:type="gmfgen:GenFeatureSeqInitializer">
          <initializers
              xsi:type="gmfgen:GenFeatureValueSpec"
              value="//@expressionProviders/@providers.0/@expressions.1">
            <feature
                href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/>
          </initializers>
        </modelElementInitializer>
      </modelFacet>
      <labels
          visualID="5002"
          editPartClassName="CollaborationUseName2EditPart"
          itemSemanticEditPolicyClassName="CollaborationUseName2ItemSemanticEditPolicy"
          notationViewFactoryClassName="CollaborationUseName2ViewFactory"
          elementIcon="true">
        <diagramRunTimeClass
            href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
        <viewmap
            xsi:type="gmfgen:ParentAssignedViewmap"
            getterName="getFigureCollaborationUseFigure_name"
            figureQualifiedClassName="org.eclipse.draw2d.Label">
          <attributes
              xsi:type="u2tgen:StereotypeSupportAttribute"
              role="NAME_LABEL"/>
        </viewmap>
        <modelFacet
            xsi:type="gmfgen:FeatureLabelModelFacet"
            parser="//@labelParsers/@implementations.0">
          <metaFeatures
              href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/>
        </modelFacet>
      </labels>
      <labels
          visualID="5029"
          editPartClassName="CollaborationUseStereoEditPart"
          itemSemanticEditPolicyClassName="CollaborationUseStereoItemSemanticEditPolicy"
          notationViewFactoryClassName="CollaborationUseStereoViewFactory">
        <diagramRunTimeClass
            href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
        <viewmap
            xsi:type="gmfgen:ParentAssignedViewmap"
            getterName="getFigureCollaborationUseFigure_stereo"
            figureQualifiedClassName="org.eclipse.uml2.diagram.common.draw2d.StereotypeLabel">
          <attributes
              xsi:type="u2tgen:StereotypeSupportAttribute"
              role="STEREOTYPE_LABEL"/>
        </viewmap>
        <behaviour
            xsi:type="gmfgen:CustomBehaviour"
            key="org.eclipse.gef.EditPolicy.DIRECT_EDIT_ROLE"
            editPolicyQualifiedClassName="org.eclipse.uml2.diagram.common.draw2d.StereotypeLabelDirectEditPolicy"/>
        <modelFacet
            xsi:type="gmfgen:FeatureLabelModelFacet"
            parser="//@labelParsers/@implementations.1">
          <metaFeatures
              href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/qualifiedName"/>
        </modelFacet>
      </labels>
    </childNodes>
    <childNodes
        visualID="3007"
        editPartClassName="PropertyEditPart"
        itemSemanticEditPolicyClassName="PropertyItemSemanticEditPolicy"
        notationViewFactoryClassName="PropertyViewFactory"
        canonicalEditPolicyClassName="PropertyCanonicalEditPolicy"
        graphicalNodeEditPolicyClassName="PropertyGraphicalNodeEditPolicy"
        createCommandClassName="PropertyCreateCommand"
        containers="//@diagram/@compartments.0">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
      <elementType
          xsi:type="gmfgen:MetamodelType"
          editHelperClassName="PropertyEditHelper"/>
      <viewmap
          xsi:type="gmfgen:InnerClassViewmap"
          className="PartFigure"
          classBody="&#xA;/**&#xA; * @generated&#xA; */&#xA;public class PartFigure extends org.eclipse.draw2d.RectangleFigure {&#xA;&#xA;&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;private org.eclipse.draw2d.Label fFigure_PartFigure_name; &#xA;&#xA;&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;public PartFigure() {&#xA;&#x9;&#x9;&#xA;&#x9;org.eclipse.uml2.diagram.common.draw2d.CenterLayout layoutThis = new org.eclipse.uml2.diagram.common.draw2d.CenterLayout();&#xA;&#xA;&#xA;&#x9;this.setLayoutManager(layoutThis);&#xA;&#xA;&#x9;&#x9;this.setLineWidth(1);&#xA;&#x9;&#x9;createContents();&#xA;&#x9;}&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;private void createContents(){&#xA;&#xA;&#xA;fFigure_PartFigure_name = new org.eclipse.draw2d.Label();&#xA;fFigure_PartFigure_name.setText(&quot;&quot;);&#xA;&#xA;this.add(fFigure_PartFigure_name);&#xA;&#xA;&#xA;&#x9;}&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;public org.eclipse.draw2d.Label getFigure_PartFigure_name() {&#xA;&#x9;&#x9;return fFigure_PartFigure_name;&#xA;&#x9;}&#xA;&#xA;&#xA;}&#xA;&#xA;"/>
      <modelFacet
          modelElementSelector="//@expressionProviders/@providers.0/@expressions.2">
        <metaClass
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Property"/>
        <containmentMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/StructuredClassifier/ownedAttribute"/>
        <childMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Collaboration/collaborationRole"/>
      </modelFacet>
      <labels
          visualID="5011"
          editPartClassName="PropertyNameEditPart"
          itemSemanticEditPolicyClassName="PropertyNameItemSemanticEditPolicy"
          notationViewFactoryClassName="PropertyNameViewFactory"
          elementIcon="true">
        <diagramRunTimeClass
            href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
        <viewmap
            xsi:type="gmfgen:ParentAssignedViewmap"
            getterName="getFigure_PartFigure_name"
            figureQualifiedClassName="org.eclipse.draw2d.Label"/>
        <modelFacet
            xsi:type="gmfgen:FeatureLabelModelFacet"
            parser="//@labelParsers/@implementations.0">
          <metaFeatures
              href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/>
        </modelFacet>
      </labels>
    </childNodes>
    <childNodes
        xsi:type="gmfgen:GenChildLabelNode"
        visualID="3008"
        editPartClassName="Property2EditPart"
        itemSemanticEditPolicyClassName="Property2ItemSemanticEditPolicy"
        notationViewFactoryClassName="Property2ViewFactory"
        canonicalEditPolicyClassName="Property2CanonicalEditPolicy"
        graphicalNodeEditPolicyClassName="Property2GraphicalNodeEditPolicy"
        createCommandClassName="Property2CreateCommand"
        containers="//@diagram/@compartments.1">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
      <elementType
          xsi:type="gmfgen:SpecializationType"
          metamodelType="//@diagram/@childNodes.1/@elementType"/>
      <viewmap
          xsi:type="gmfgen:FigureViewmap"
          figureQualifiedClassName="org.eclipse.draw2d.Label"/>
      <modelFacet
          modelElementSelector="//@expressionProviders/@providers.0/@expressions.5">
        <metaClass
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Property"/>
        <containmentMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/StructuredClassifier/ownedAttribute"/>
        <childMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/StructuredClassifier/ownedAttribute"/>
        <modelElementInitializer
            xsi:type="gmfgen:GenFeatureSeqInitializer">
          <initializers
              xsi:type="gmfgen:GenFeatureValueSpec"
              value="//@expressionProviders/@providers.0/@expressions.6">
            <feature
                href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Property/aggregation"/>
          </initializers>
          <initializers
              xsi:type="gmfgen:GenFeatureValueSpec"
              value="//@expressionProviders/@providers.0/@expressions.7">
            <feature
                href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/>
          </initializers>
        </modelElementInitializer>
      </modelFacet>
      <labelModelFacet
          xsi:type="gmfgen:FeatureLabelModelFacet"
          parser="//@labelParsers/@implementations.0"
          editPattern="">
        <metaFeatures
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/>
      </labelModelFacet>
    </childNodes>
    <childNodes
        xsi:type="gmfgen:GenChildLabelNode"
        visualID="3009"
        editPartClassName="OperationEditPart"
        itemSemanticEditPolicyClassName="OperationItemSemanticEditPolicy"
        notationViewFactoryClassName="OperationViewFactory"
        canonicalEditPolicyClassName="OperationCanonicalEditPolicy"
        graphicalNodeEditPolicyClassName="OperationGraphicalNodeEditPolicy"
        createCommandClassName="OperationCreateCommand"
        containers="//@diagram/@compartments.2">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
      <elementType
          xsi:type="gmfgen:MetamodelType"
          editHelperClassName="OperationEditHelper"/>
      <viewmap
          xsi:type="gmfgen:FigureViewmap"
          figureQualifiedClassName="org.eclipse.draw2d.Label"/>
      <modelFacet>
        <metaClass
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Operation"/>
        <containmentMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Class/ownedOperation"/>
        <childMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Class/ownedOperation"/>
        <modelElementInitializer
            xsi:type="gmfgen:GenFeatureSeqInitializer">
          <initializers
              xsi:type="gmfgen:GenFeatureValueSpec"
              value="//@expressionProviders/@providers.0/@expressions.8">
            <feature
                href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/>
          </initializers>
        </modelElementInitializer>
      </modelFacet>
      <labelModelFacet
          xsi:type="gmfgen:FeatureLabelModelFacet"
          parser="//@labelParsers/@implementations.0"
          editPattern="">
        <metaFeatures
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/>
      </labelModelFacet>
    </childNodes>
    <childNodes
        xsi:type="gmfgen:GenChildLabelNode"
        visualID="3010"
        editPartClassName="Class2EditPart"
        itemSemanticEditPolicyClassName="Class2ItemSemanticEditPolicy"
        notationViewFactoryClassName="ClassViewFactory"
        canonicalEditPolicyClassName="Class2CanonicalEditPolicy"
        graphicalNodeEditPolicyClassName="Class2GraphicalNodeEditPolicy"
        createCommandClassName="Class2CreateCommand"
        containers="//@diagram/@compartments.3">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
      <elementType
          xsi:type="gmfgen:SpecializationType"
          metamodelType="//@diagram/@topLevelNodes.1/@elementType"/>
      <viewmap
          xsi:type="gmfgen:FigureViewmap"
          figureQualifiedClassName="org.eclipse.draw2d.Label"/>
      <modelFacet>
        <metaClass
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Class"/>
        <containmentMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Class/nestedClassifier"/>
        <childMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Class/nestedClassifier"/>
        <modelElementInitializer
            xsi:type="gmfgen:GenFeatureSeqInitializer">
          <initializers
              xsi:type="gmfgen:GenFeatureValueSpec"
              value="//@expressionProviders/@providers.0/@expressions.9">
            <feature
                href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/>
          </initializers>
        </modelElementInitializer>
      </modelFacet>
      <labelModelFacet
          xsi:type="gmfgen:FeatureLabelModelFacet"
          parser="//@labelParsers/@implementations.4">
        <metaFeatures
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/>
      </labelModelFacet>
    </childNodes>
    <childNodes
        xsi:type="gmfgen:GenChildSideAffixedNode"
        visualID="3011"
        editPartClassName="PortEditPart"
        itemSemanticEditPolicyClassName="PortItemSemanticEditPolicy"
        notationViewFactoryClassName="PortViewFactory"
        canonicalEditPolicyClassName="PortCanonicalEditPolicy"
        graphicalNodeEditPolicyClassName="PortGraphicalNodeEditPolicy"
        createCommandClassName="PortCreateCommand"
        containers="//@diagram/@topLevelNodes.1">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
      <elementType
          xsi:type="gmfgen:MetamodelType"
          editHelperClassName="PortEditHelper"/>
      <viewmap
          xsi:type="gmfgen:InnerClassViewmap"
          className="PortFigure"
          classBody="&#xA;/**&#xA; * @generated&#xA; */&#xA;public class PortFigure extends org.eclipse.draw2d.RectangleFigure {&#xA;&#xA;&#xA;&#xA;&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;public PortFigure() {&#xA;&#x9;&#x9;&#x9;&#x9;this.setLineWidth(1);&#xA;&#x9;this.setForegroundColor(org.eclipse.draw2d.ColorConstants.gray);&#xA;this.setPreferredSize(new org.eclipse.draw2d.geometry.Dimension(getMapMode().DPtoLP(15)&#xA;, getMapMode().DPtoLP(15)&#xA;));&#xA;this.setMaximumSize(new org.eclipse.draw2d.geometry.Dimension(getMapMode().DPtoLP(15)&#xA;, getMapMode().DPtoLP(15)&#xA;));&#xA;this.setMinimumSize(new org.eclipse.draw2d.geometry.Dimension(getMapMode().DPtoLP(15)&#xA;, getMapMode().DPtoLP(15)&#xA;));&#xA;&#x9;}&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;}&#xA;&#xA;">
        <attributes
            xsi:type="gmfgen:StyleAttributes"
            fixedForeground="true"/>
        <attributes
            xsi:type="gmfgen:DefaultSizeAttributes"
            width="15"
            height="15"/>
      </viewmap>
      <behaviour
          xsi:type="gmfgen:CustomBehaviour"
          key="&quot;VisualEffect.Port&quot;"
          editPolicyQualifiedClassName="org.eclipse.uml2.diagram.common.editpolicies.PortVisualEffectEditPolicy"/>
      <behaviour
          xsi:type="gmfgen:CustomBehaviour"
          key="&quot;VisualEffect.BehaviorPort&quot;"
          editPolicyQualifiedClassName="org.eclipse.uml2.diagram.csd.edit.policies.PortIsBehaviorVisualEffectEditPolicy"/>
      <modelFacet>
        <metaClass
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Port"/>
        <containmentMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/StructuredClassifier/ownedAttribute"/>
        <childMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/StructuredClassifier/ownedAttribute"/>
        <modelElementInitializer
            xsi:type="gmfgen:GenFeatureSeqInitializer">
          <initializers
              xsi:type="gmfgen:GenFeatureValueSpec"
              value="//@expressionProviders/@providers.0/@expressions.10">
            <feature
                href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Property/aggregation"/>
          </initializers>
          <initializers
              xsi:type="gmfgen:GenFeatureValueSpec"
              value="//@expressionProviders/@providers.0/@expressions.11">
            <feature
                href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/>
          </initializers>
        </modelElementInitializer>
      </modelFacet>
      <labels
          xsi:type="gmfgen:GenExternalNodeLabel"
          visualID="5012"
          editPartClassName="PortNameEditPart"
          itemSemanticEditPolicyClassName="PortNameItemSemanticEditPolicy"
          notationViewFactoryClassName="PortNameViewFactory">
        <diagramRunTimeClass
            href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
        <viewmap
            xsi:type="gmfgen:FigureViewmap"
            figureQualifiedClassName="org.eclipse.draw2d.Label"/>
        <modelFacet
            xsi:type="gmfgen:FeatureLabelModelFacet"
            parser="//@labelParsers/@implementations.0"
            editPattern="">
          <metaFeatures
              href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/>
        </modelFacet>
      </labels>
      <labels
          xsi:type="gmfgen:GenExternalNodeLabel"
          visualID="5026"
          editPartClassName="PortIsBehaviorEditPart"
          itemSemanticEditPolicyClassName="PortIsBehaviorItemSemanticEditPolicy"
          notationViewFactoryClassName="PortIsBehaviorViewFactory"
          readOnly="true"
          elementIcon="true">
        <diagramRunTimeClass
            href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
        <viewmap
            xsi:type="gmfgen:InnerClassViewmap"
            className="BehaviorPort_state"
            classBody="&#xA;/**&#xA; * @generated&#xA; */&#xA;public class BehaviorPort_state extends org.eclipse.draw2d.Label {&#xA;&#xA;&#xA;&#xA;&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;public BehaviorPort_state() {&#xA;&#x9;&#x9;&#x9;&#x9;this.setText(&quot;&quot;);&#xA;&#x9;}&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;}&#xA;&#xA;"/>
        <modelFacet
            xsi:type="gmfgen:FeatureLabelModelFacet"
            parser="//@labelParsers/@implementations.0"
            viewPattern=" "
            editorPattern=""
            editPattern="">
          <metaFeatures
              href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Port/isBehavior"/>
        </modelFacet>
      </labels>
    </childNodes>
    <childNodes
        xsi:type="gmfgen:GenChildLabelNode"
        visualID="3004"
        editPartClassName="ElementImportEditPart"
        itemSemanticEditPolicyClassName="ElementImportItemSemanticEditPolicy"
        notationViewFactoryClassName="ElementImportViewFactory"
        canonicalEditPolicyClassName="ElementImportCanonicalEditPolicy"
        graphicalNodeEditPolicyClassName="ElementImportGraphicalNodeEditPolicy"
        createCommandClassName="ElementImportCreateCommand"
        containers="//@diagram/@compartments.4">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
      <elementType
          xsi:type="gmfgen:MetamodelType"
          editHelperClassName="ElementImportEditHelper"/>
      <viewmap
          xsi:type="gmfgen:FigureViewmap"
          figureQualifiedClassName="org.eclipse.draw2d.Label"/>
      <modelFacet>
        <metaClass
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/ElementImport"/>
        <containmentMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Namespace/elementImport"/>
        <childMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Namespace/elementImport"/>
      </modelFacet>
      <labelModelFacet
          xsi:type="gmfgen:FeatureLabelModelFacet"
          parser="//@labelParsers/@implementations.0">
        <metaFeatures
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/ElementImport/alias"/>
      </labelModelFacet>
    </childNodes>
    <childNodes
        visualID="3014"
        editPartClassName="Property3EditPart"
        itemSemanticEditPolicyClassName="Property3ItemSemanticEditPolicy"
        notationViewFactoryClassName="Property3ViewFactory"
        canonicalEditPolicyClassName="Property3CanonicalEditPolicy"
        childNodes="//@diagram/@childNodes.8"
        graphicalNodeEditPolicyClassName="Property3GraphicalNodeEditPolicy"
        createCommandClassName="Property3CreateCommand"
        containers="//@diagram/@compartments.5">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
      <elementType
          xsi:type="gmfgen:SpecializationType"
          metamodelType="//@diagram/@childNodes.1/@elementType"/>
      <viewmap
          xsi:type="gmfgen:InnerClassViewmap"
          className="PartFigure"
          classBody="&#xA;/**&#xA; * @generated&#xA; */&#xA;public class PartFigure extends org.eclipse.draw2d.RectangleFigure {&#xA;&#xA;&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;private org.eclipse.draw2d.Label fFigure_PartFigure_name; &#xA;&#xA;&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;public PartFigure() {&#xA;&#x9;&#x9;&#xA;&#x9;org.eclipse.uml2.diagram.common.draw2d.CenterLayout layoutThis = new org.eclipse.uml2.diagram.common.draw2d.CenterLayout();&#xA;&#xA;&#xA;&#x9;this.setLayoutManager(layoutThis);&#xA;&#xA;&#x9;&#x9;this.setLineWidth(1);&#xA;&#x9;&#x9;createContents();&#xA;&#x9;}&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;private void createContents(){&#xA;&#xA;&#xA;fFigure_PartFigure_name = new org.eclipse.draw2d.Label();&#xA;fFigure_PartFigure_name.setText(&quot;&quot;);&#xA;&#xA;this.add(fFigure_PartFigure_name);&#xA;&#xA;&#xA;&#x9;}&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;public org.eclipse.draw2d.Label getFigure_PartFigure_name() {&#xA;&#x9;&#x9;return fFigure_PartFigure_name;&#xA;&#x9;}&#xA;&#xA;&#xA;}&#xA;&#xA;"/>
      <modelFacet
          modelElementSelector="//@expressionProviders/@providers.0/@expressions.14">
        <metaClass
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Property"/>
        <containmentMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/StructuredClassifier/ownedAttribute"/>
        <childMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/StructuredClassifier/ownedAttribute"/>
      </modelFacet>
      <labels
          visualID="5017"
          editPartClassName="PropertyName2EditPart"
          itemSemanticEditPolicyClassName="PropertyName2ItemSemanticEditPolicy"
          notationViewFactoryClassName="PropertyName2ViewFactory"
          elementIcon="true">
        <diagramRunTimeClass
            href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
        <viewmap
            xsi:type="gmfgen:ParentAssignedViewmap"
            getterName="getFigure_PartFigure_name"
            figureQualifiedClassName="org.eclipse.draw2d.Label"/>
        <modelFacet
            xsi:type="gmfgen:FeatureLabelModelFacet"
            parser="//@labelParsers/@implementations.0">
          <metaFeatures
              href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/>
        </modelFacet>
      </labels>
    </childNodes>
    <childNodes
        xsi:type="gmfgen:GenChildSideAffixedNode"
        visualID="3016"
        editPartClassName="Port2EditPart"
        itemSemanticEditPolicyClassName="Port2ItemSemanticEditPolicy"
        notationViewFactoryClassName="Port2ViewFactory"
        canonicalEditPolicyClassName="Port2CanonicalEditPolicy"
        graphicalNodeEditPolicyClassName="Port2GraphicalNodeEditPolicy"
        createCommandClassName="Port2CreateCommand"
        containers="//@diagram/@childNodes.7">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
      <elementType
          xsi:type="gmfgen:SpecializationType"
          metamodelType="//@diagram/@childNodes.5/@elementType"/>
      <viewmap
          xsi:type="gmfgen:InnerClassViewmap"
          className="PortFigure"
          classBody="&#xA;/**&#xA; * @generated&#xA; */&#xA;public class PortFigure extends org.eclipse.draw2d.RectangleFigure {&#xA;&#xA;&#xA;&#xA;&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;public PortFigure() {&#xA;&#x9;&#x9;&#x9;&#x9;this.setLineWidth(1);&#xA;&#x9;this.setForegroundColor(org.eclipse.draw2d.ColorConstants.gray);&#xA;this.setPreferredSize(new org.eclipse.draw2d.geometry.Dimension(getMapMode().DPtoLP(15)&#xA;, getMapMode().DPtoLP(15)&#xA;));&#xA;this.setMaximumSize(new org.eclipse.draw2d.geometry.Dimension(getMapMode().DPtoLP(15)&#xA;, getMapMode().DPtoLP(15)&#xA;));&#xA;this.setMinimumSize(new org.eclipse.draw2d.geometry.Dimension(getMapMode().DPtoLP(15)&#xA;, getMapMode().DPtoLP(15)&#xA;));&#xA;&#x9;}&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;}&#xA;&#xA;">
        <attributes
            xsi:type="gmfgen:StyleAttributes"
            fixedForeground="true"/>
        <attributes
            xsi:type="gmfgen:DefaultSizeAttributes"
            width="15"
            height="15"/>
      </viewmap>
      <behaviour
          xsi:type="gmfgen:CustomBehaviour"
          key="&quot;VisualEffect.Port&quot;"
          editPolicyQualifiedClassName="org.eclipse.uml2.diagram.common.editpolicies.PortVisualEffectEditPolicy"/>
      <modelFacet>
        <metaClass
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Port"/>
        <containmentMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/ConnectorEnd/role"/>
        <childMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/ConnectorEnd/role"/>
      </modelFacet>
      <labels
          xsi:type="gmfgen:GenExternalNodeLabel"
          visualID="5025"
          editPartClassName="PortName2EditPart"
          itemSemanticEditPolicyClassName="PortName2ItemSemanticEditPolicy"
          notationViewFactoryClassName="PortName2ViewFactory"
          readOnly="true">
        <diagramRunTimeClass
            href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
        <viewmap
            xsi:type="gmfgen:FigureViewmap"
            figureQualifiedClassName="org.eclipse.draw2d.Label"/>
        <modelFacet
            xsi:type="gmfgen:FeatureLabelModelFacet"
            parser="//@labelParsers/@implementations.0"
            editPattern="">
          <metaFeatures
              href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/>
        </modelFacet>
      </labels>
    </childNodes>
    <childNodes
        xsi:type="gmfgen:GenChildSideAffixedNode"
        visualID="3017"
        editPartClassName="Port3EditPart"
        itemSemanticEditPolicyClassName="Port3ItemSemanticEditPolicy"
        notationViewFactoryClassName="Port3ViewFactory"
        canonicalEditPolicyClassName="Port3CanonicalEditPolicy"
        graphicalNodeEditPolicyClassName="Port3GraphicalNodeEditPolicy"
        createCommandClassName="Port3CreateCommand"
        containers="//@diagram/@topLevelNodes.3">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
      <elementType
          xsi:type="gmfgen:SpecializationType"
          metamodelType="//@diagram/@childNodes.5/@elementType"/>
      <viewmap
          xsi:type="gmfgen:InnerClassViewmap"
          className="PortFigure"
          classBody="&#xA;/**&#xA; * @generated&#xA; */&#xA;public class PortFigure extends org.eclipse.draw2d.RectangleFigure {&#xA;&#xA;&#xA;&#xA;&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;public PortFigure() {&#xA;&#x9;&#x9;&#x9;&#x9;this.setLineWidth(1);&#xA;&#x9;this.setForegroundColor(org.eclipse.draw2d.ColorConstants.gray);&#xA;this.setPreferredSize(new org.eclipse.draw2d.geometry.Dimension(getMapMode().DPtoLP(15)&#xA;, getMapMode().DPtoLP(15)&#xA;));&#xA;this.setMaximumSize(new org.eclipse.draw2d.geometry.Dimension(getMapMode().DPtoLP(15)&#xA;, getMapMode().DPtoLP(15)&#xA;));&#xA;this.setMinimumSize(new org.eclipse.draw2d.geometry.Dimension(getMapMode().DPtoLP(15)&#xA;, getMapMode().DPtoLP(15)&#xA;));&#xA;&#x9;}&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;}&#xA;&#xA;">
        <attributes
            xsi:type="gmfgen:StyleAttributes"
            fixedForeground="true"/>
        <attributes
            xsi:type="gmfgen:DefaultSizeAttributes"
            width="15"
            height="15"/>
      </viewmap>
      <behaviour
          xsi:type="gmfgen:CustomBehaviour"
          key="&quot;VisualEffect.Port&quot;"
          editPolicyQualifiedClassName="org.eclipse.uml2.diagram.common.editpolicies.PortVisualEffectEditPolicy"/>
      <behaviour
          xsi:type="gmfgen:CustomBehaviour"
          key="&quot;VisualEffect.BehaviorPort&quot;"
          editPolicyQualifiedClassName="org.eclipse.uml2.diagram.csd.edit.policies.PortIsBehaviorVisualEffectEditPolicy"/>
      <modelFacet>
        <metaClass
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Port"/>
        <containmentMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/StructuredClassifier/ownedAttribute"/>
        <childMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/StructuredClassifier/ownedAttribute"/>
        <modelElementInitializer
            xsi:type="gmfgen:GenFeatureSeqInitializer">
          <initializers
              xsi:type="gmfgen:GenFeatureValueSpec"
              value="//@expressionProviders/@providers.0/@expressions.15">
            <feature
                href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Property/aggregation"/>
          </initializers>
          <initializers
              xsi:type="gmfgen:GenFeatureValueSpec"
              value="//@expressionProviders/@providers.0/@expressions.16">
            <feature
                href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/>
          </initializers>
        </modelElementInitializer>
      </modelFacet>
      <labels
          xsi:type="gmfgen:GenExternalNodeLabel"
          visualID="5027"
          editPartClassName="PortName3EditPart"
          itemSemanticEditPolicyClassName="PortName3ItemSemanticEditPolicy"
          notationViewFactoryClassName="PortName3ViewFactory">
        <diagramRunTimeClass
            href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
        <viewmap
            xsi:type="gmfgen:FigureViewmap"
            figureQualifiedClassName="org.eclipse.draw2d.Label"/>
        <modelFacet
            xsi:type="gmfgen:FeatureLabelModelFacet"
            parser="//@labelParsers/@implementations.0"
            editPattern="">
          <metaFeatures
              href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/>
        </modelFacet>
      </labels>
      <labels
          xsi:type="gmfgen:GenExternalNodeLabel"
          visualID="5028"
          editPartClassName="PortIsBehavior2EditPart"
          itemSemanticEditPolicyClassName="PortIsBehavior2ItemSemanticEditPolicy"
          notationViewFactoryClassName="PortIsBehavior2ViewFactory"
          readOnly="true"
          elementIcon="true">
        <diagramRunTimeClass
            href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
        <viewmap
            xsi:type="gmfgen:InnerClassViewmap"
            className="BehaviorPort_state"
            classBody="&#xA;/**&#xA; * @generated&#xA; */&#xA;public class BehaviorPort_state extends org.eclipse.draw2d.Label {&#xA;&#xA;&#xA;&#xA;&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;public BehaviorPort_state() {&#xA;&#x9;&#x9;&#x9;&#x9;this.setText(&quot;&quot;);&#xA;&#x9;}&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;}&#xA;&#xA;"/>
        <modelFacet
            xsi:type="gmfgen:FeatureLabelModelFacet"
            parser="//@labelParsers/@implementations.0"
            viewPattern=" "
            editorPattern=""
            editPattern="">
          <metaFeatures
              href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Port/isBehavior"/>
        </modelFacet>
      </labels>
    </childNodes>
    <childNodes
        xsi:type="gmfgen:GenChildLabelNode"
        visualID="3015"
        editPartClassName="SlotEditPart"
        itemSemanticEditPolicyClassName="SlotItemSemanticEditPolicy"
        notationViewFactoryClassName="SlotViewFactory"
        canonicalEditPolicyClassName="SlotCanonicalEditPolicy"
        graphicalNodeEditPolicyClassName="SlotGraphicalNodeEditPolicy"
        createCommandClassName="SlotCreateCommand"
        containers="//@diagram/@compartments.6">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
      <elementType
          xsi:type="gmfgen:MetamodelType"
          editHelperClassName="SlotEditHelper"/>
      <viewmap
          xsi:type="gmfgen:FigureViewmap"
          figureQualifiedClassName="org.eclipse.draw2d.Label"/>
      <modelFacet>
        <metaClass
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Slot"/>
        <containmentMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/InstanceSpecification/slot"/>
        <childMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/InstanceSpecification/slot"/>
      </modelFacet>
      <labelModelFacet
          xsi:type="gmfgen:FeatureLabelModelFacet"
          parser="//@labelParsers/@implementations.0">
        <metaFeatures
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/>
      </labelModelFacet>
    </childNodes>
    <childNodes
        xsi:type="gmfgen:GenChildLabelNode"
        visualID="3018"
        editPartClassName="Property4EditPart"
        itemSemanticEditPolicyClassName="Property4ItemSemanticEditPolicy"
        notationViewFactoryClassName="PropertyViewFactory"
        canonicalEditPolicyClassName="Property4CanonicalEditPolicy"
        graphicalNodeEditPolicyClassName="Property4GraphicalNodeEditPolicy"
        createCommandClassName="Property4CreateCommand"
        containers="//@diagram/@compartments.7">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
      <elementType
          xsi:type="gmfgen:SpecializationType"
          metamodelType="//@diagram/@childNodes.1/@elementType"/>
      <viewmap
          xsi:type="gmfgen:FigureViewmap"
          figureQualifiedClassName="org.eclipse.draw2d.Label"/>
      <modelFacet
          modelElementSelector="//@expressionProviders/@providers.0/@expressions.5">
        <metaClass
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Property"/>
        <containmentMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interface/ownedAttribute"/>
        <childMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interface/ownedAttribute"/>
        <modelElementInitializer
            xsi:type="gmfgen:GenFeatureSeqInitializer">
          <initializers
              xsi:type="gmfgen:GenFeatureValueSpec"
              value="//@expressionProviders/@providers.0/@expressions.6">
            <feature
                href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Property/aggregation"/>
          </initializers>
          <initializers
              xsi:type="gmfgen:GenFeatureValueSpec"
              value="//@expressionProviders/@providers.0/@expressions.7">
            <feature
                href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/>
          </initializers>
        </modelElementInitializer>
      </modelFacet>
      <labelModelFacet
          xsi:type="gmfgen:FeatureLabelModelFacet"
          parser="//@labelParsers/@implementations.0"
          editPattern="">
        <metaFeatures
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/>
      </labelModelFacet>
    </childNodes>
    <childNodes
        xsi:type="gmfgen:GenChildLabelNode"
        visualID="3019"
        editPartClassName="Operation2EditPart"
        itemSemanticEditPolicyClassName="Operation2ItemSemanticEditPolicy"
        notationViewFactoryClassName="OperationViewFactory"
        canonicalEditPolicyClassName="Operation2CanonicalEditPolicy"
        graphicalNodeEditPolicyClassName="Operation2GraphicalNodeEditPolicy"
        createCommandClassName="Operation2CreateCommand"
        containers="//@diagram/@compartments.8">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
      <elementType
          xsi:type="gmfgen:SpecializationType"
          metamodelType="//@diagram/@childNodes.3/@elementType"/>
      <viewmap
          xsi:type="gmfgen:FigureViewmap"
          figureQualifiedClassName="org.eclipse.draw2d.Label"/>
      <modelFacet>
        <metaClass
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Operation"/>
        <containmentMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interface/ownedOperation"/>
        <childMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interface/ownedOperation"/>
        <modelElementInitializer
            xsi:type="gmfgen:GenFeatureSeqInitializer">
          <initializers
              xsi:type="gmfgen:GenFeatureValueSpec"
              value="//@expressionProviders/@providers.0/@expressions.8">
            <feature
                href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/>
          </initializers>
        </modelElementInitializer>
      </modelFacet>
      <labelModelFacet
          xsi:type="gmfgen:FeatureLabelModelFacet"
          parser="//@labelParsers/@implementations.0"
          editPattern="">
        <metaFeatures
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/>
      </labelModelFacet>
    </childNodes>
    <childNodes
        xsi:type="gmfgen:GenChildLabelNode"
        visualID="3020"
        editPartClassName="Class4EditPart"
        itemSemanticEditPolicyClassName="Class4ItemSemanticEditPolicy"
        notationViewFactoryClassName="ClassViewFactory"
        canonicalEditPolicyClassName="Class4CanonicalEditPolicy"
        graphicalNodeEditPolicyClassName="Class4GraphicalNodeEditPolicy"
        createCommandClassName="Class4CreateCommand"
        containers="//@diagram/@compartments.9">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
      <elementType
          xsi:type="gmfgen:SpecializationType"
          metamodelType="//@diagram/@topLevelNodes.1/@elementType"/>
      <viewmap
          xsi:type="gmfgen:FigureViewmap"
          figureQualifiedClassName="org.eclipse.draw2d.Label"/>
      <modelFacet>
        <metaClass
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Class"/>
        <containmentMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interface/nestedClassifier"/>
        <childMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interface/nestedClassifier"/>
        <modelElementInitializer
            xsi:type="gmfgen:GenFeatureSeqInitializer">
          <initializers
              xsi:type="gmfgen:GenFeatureValueSpec"
              value="//@expressionProviders/@providers.0/@expressions.9">
            <feature
                href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/>
          </initializers>
        </modelElementInitializer>
      </modelFacet>
      <labelModelFacet
          xsi:type="gmfgen:FeatureLabelModelFacet"
          parser="//@labelParsers/@implementations.0">
        <metaFeatures
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/>
      </labelModelFacet>
    </childNodes>
    <topLevelNodes
        visualID="2005"
        editPartClassName="CollaborationEditPart"
        itemSemanticEditPolicyClassName="CollaborationItemSemanticEditPolicy"
        notationViewFactoryClassName="CollaborationViewFactory"
        canonicalEditPolicyClassName="CollaborationCanonicalEditPolicy"
        compartments="//@diagram/@compartments.0"
        graphicalNodeEditPolicyClassName="CollaborationGraphicalNodeEditPolicy"
        createCommandClassName="CollaborationCreateCommand">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
      <elementType
          xsi:type="gmfgen:MetamodelType"
          editHelperClassName="CollaborationEditHelper"/>
      <viewmap
          xsi:type="gmfgen:InnerClassViewmap"
          className="CollaborationFigure"
          classBody="&#xA;/**&#xA; * @generated&#xA; */&#xA;public class CollaborationFigure extends org.eclipse.draw2d.Ellipse {&#xA;&#xA;&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;private org.eclipse.draw2d.Label fFigureCollaborationFigure_name; &#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;private org.eclipse.draw2d.RectangleFigure fFigureCollaborationFigure_contents; &#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;private org.eclipse.uml2.diagram.common.draw2d.StereotypeLabel fFigureCollaborationFigure_stereo; &#xA;&#xA;&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;public CollaborationFigure() {&#xA;&#x9;&#x9;&#xA;&#x9;org.eclipse.uml2.diagram.common.draw2d.SplitEllipseLayout layoutThis = new org.eclipse.uml2.diagram.common.draw2d.SplitEllipseLayout();&#xA;&#xA;&#xA;&#x9;this.setLayoutManager(layoutThis);&#xA;&#xA;&#x9;&#x9;this.setLineWidth(1);&#xA;this.setLineStyle(org.eclipse.draw2d.Graphics.LINE_DASH);&#xA;&#x9;&#x9;createContents();&#xA;&#x9;}&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;private void createContents(){&#xA;&#xA;&#xA;org.eclipse.draw2d.RectangleFigure collaborationFigure_Header0 = new org.eclipse.draw2d.RectangleFigure();&#xA;collaborationFigure_Header0.setFill(false);&#xA;collaborationFigure_Header0.setOutline(false);&#xA;collaborationFigure_Header0.setLineWidth(1);&#xA;&#xA;this.add(collaborationFigure_Header0, org.eclipse.draw2d.BorderLayout.TOP);&#xA;&#xA;&#x9;org.eclipse.draw2d.ToolbarLayout layoutCollaborationFigure_Header0 = new org.eclipse.draw2d.ToolbarLayout();&#xA;&#x9;layoutCollaborationFigure_Header0.setStretchMinorAxis(true);&#xA;&#x9;layoutCollaborationFigure_Header0.setMinorAlignment(org.eclipse.draw2d.ToolbarLayout.ALIGN_TOPLEFT&#xA;);&#xA;&#xA;&#x9;layoutCollaborationFigure_Header0.setSpacing(0);&#xA;&#x9;layoutCollaborationFigure_Header0.setVertical(true);&#xA;&#xA;&#x9;collaborationFigure_Header0.setLayoutManager(layoutCollaborationFigure_Header0);&#xA;&#xA;&#xA;&#xA;org.eclipse.draw2d.RectangleFigure collaborationFigure_StereoContainer1 = new org.eclipse.draw2d.RectangleFigure();&#xA;collaborationFigure_StereoContainer1.setOutline(false);&#xA;collaborationFigure_StereoContainer1.setLineWidth(1);&#xA;&#xA;collaborationFigure_Header0.add(collaborationFigure_StereoContainer1);&#xA;&#xA;&#x9;org.eclipse.uml2.diagram.common.draw2d.CenterLayout layoutCollaborationFigure_StereoContainer1 = new org.eclipse.uml2.diagram.common.draw2d.CenterLayout();&#xA;&#xA;&#xA;&#x9;collaborationFigure_StereoContainer1.setLayoutManager(layoutCollaborationFigure_StereoContainer1);&#xA;&#xA;&#xA;&#xA;fFigureCollaborationFigure_stereo = new org.eclipse.uml2.diagram.common.draw2d.StereotypeLabel();&#xA;&#xA;&#xA;&#xA;fFigureCollaborationFigure_stereo.setBorder(new org.eclipse.draw2d.MarginBorder(getMapMode().DPtoLP(5)&#xA;, getMapMode().DPtoLP(5)&#xA;, getMapMode().DPtoLP(0)&#xA;, getMapMode().DPtoLP(5)&#xA;));&#xA;&#xA;collaborationFigure_StereoContainer1.add(fFigureCollaborationFigure_stereo);&#xA;&#xA;&#xA;&#xA;&#xA;org.eclipse.draw2d.RectangleFigure collaborationFigure_NameContainer1 = new org.eclipse.draw2d.RectangleFigure();&#xA;collaborationFigure_NameContainer1.setOutline(false);&#xA;collaborationFigure_NameContainer1.setLineWidth(1);&#xA;&#xA;collaborationFigure_Header0.add(collaborationFigure_NameContainer1);&#xA;&#xA;&#x9;org.eclipse.uml2.diagram.common.draw2d.CenterLayout layoutCollaborationFigure_NameContainer1 = new org.eclipse.uml2.diagram.common.draw2d.CenterLayout();&#xA;&#xA;&#xA;&#x9;collaborationFigure_NameContainer1.setLayoutManager(layoutCollaborationFigure_NameContainer1);&#xA;&#xA;&#xA;&#xA;fFigureCollaborationFigure_name = new org.eclipse.draw2d.Label();&#xA;fFigureCollaborationFigure_name.setText(&quot;&quot;);&#xA;&#xA;fFigureCollaborationFigure_name.setBorder(new org.eclipse.draw2d.MarginBorder(getMapMode().DPtoLP(0)&#xA;, getMapMode().DPtoLP(5)&#xA;, getMapMode().DPtoLP(5)&#xA;, getMapMode().DPtoLP(5)&#xA;));&#xA;&#xA;collaborationFigure_NameContainer1.add(fFigureCollaborationFigure_name);&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;fFigureCollaborationFigure_contents = new org.eclipse.draw2d.RectangleFigure();&#xA;fFigureCollaborationFigure_contents.setFill(false);&#xA;fFigureCollaborationFigure_contents.setOutline(false);&#xA;fFigureCollaborationFigure_contents.setLineWidth(1);&#xA;fFigureCollaborationFigure_contents.setBorder(createBorder0());&#xA;&#xA;this.add(fFigureCollaborationFigure_contents, org.eclipse.draw2d.BorderLayout.CENTER);&#xA;&#xA;&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;private org.eclipse.draw2d.Border createBorder0() {&#xA;&#x9;&#x9;org.eclipse.uml2.diagram.common.draw2d.OneLineDashedBorder result = new org.eclipse.uml2.diagram.common.draw2d.OneLineDashedBorder();&#xA;&#x9;&#x9;&#xA;&#xA;&#xA;&#x9;&#x9;return result;&#xA;&#x9;}&#xA;&#xA;&#xA;&#xA;&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;public org.eclipse.draw2d.Label getFigureCollaborationFigure_name() {&#xA;&#x9;&#x9;return fFigureCollaborationFigure_name;&#xA;&#x9;}&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;public org.eclipse.draw2d.RectangleFigure getFigureCollaborationFigure_contents() {&#xA;&#x9;&#x9;return fFigureCollaborationFigure_contents;&#xA;&#x9;}&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;public org.eclipse.uml2.diagram.common.draw2d.StereotypeLabel getFigureCollaborationFigure_stereo() {&#xA;&#x9;&#x9;return fFigureCollaborationFigure_stereo;&#xA;&#x9;}&#xA;&#xA;&#xA;}&#xA;&#xA;">
        <attributes
            xsi:type="gmfgen:DefaultSizeAttributes"
            width="160"
            height="120"/>
        <attributes
            xsi:type="u2tgen:StereotypeSupportAttribute"/>
      </viewmap>
      <behaviour
          xsi:type="gmfgen:OpenDiagramBehaviour"/>
      <modelFacet>
        <metaClass
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Collaboration"/>
        <containmentMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Package/packagedElement"/>
        <childMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Package/packagedElement"/>
        <modelElementInitializer
            xsi:type="gmfgen:GenFeatureSeqInitializer">
          <initializers
              xsi:type="gmfgen:GenFeatureValueSpec"
              value="//@expressionProviders/@providers.0/@expressions.0">
            <feature
                href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/>
          </initializers>
        </modelElementInitializer>
      </modelFacet>
      <labels
          visualID="5009"
          editPartClassName="CollaborationNameEditPart"
          itemSemanticEditPolicyClassName="CollaborationNameItemSemanticEditPolicy"
          notationViewFactoryClassName="CollaborationNameViewFactory"
          elementIcon="true">
        <diagramRunTimeClass
            href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
        <viewmap
            xsi:type="gmfgen:ParentAssignedViewmap"
            getterName="getFigureCollaborationFigure_name"
            figureQualifiedClassName="org.eclipse.draw2d.Label">
          <attributes
              xsi:type="u2tgen:StereotypeSupportAttribute"
              role="NAME_LABEL"/>
        </viewmap>
        <modelFacet
            xsi:type="gmfgen:FeatureLabelModelFacet"
            parser="//@labelParsers/@implementations.0">
          <metaFeatures
              href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/>
        </modelFacet>
      </labels>
      <labels
          visualID="5030"
          editPartClassName="CollaborationStereoEditPart"
          itemSemanticEditPolicyClassName="CollaborationStereoItemSemanticEditPolicy"
          notationViewFactoryClassName="CollaborationStereoViewFactory">
        <diagramRunTimeClass
            href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
        <viewmap
            xsi:type="gmfgen:ParentAssignedViewmap"
            getterName="getFigureCollaborationFigure_stereo"
            figureQualifiedClassName="org.eclipse.uml2.diagram.common.draw2d.StereotypeLabel">
          <attributes
              xsi:type="u2tgen:StereotypeSupportAttribute"
              role="STEREOTYPE_LABEL"/>
        </viewmap>
        <behaviour
            xsi:type="gmfgen:CustomBehaviour"
            key="org.eclipse.gef.EditPolicy.DIRECT_EDIT_ROLE"
            editPolicyQualifiedClassName="org.eclipse.uml2.diagram.common.draw2d.StereotypeLabelDirectEditPolicy"/>
        <modelFacet
            xsi:type="gmfgen:FeatureLabelModelFacet"
            parser="//@labelParsers/@implementations.1">
          <metaFeatures
              href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/qualifiedName"/>
        </modelFacet>
      </labels>
    </topLevelNodes>
    <topLevelNodes
        visualID="2006"
        editPartClassName="ClassEditPart"
        itemSemanticEditPolicyClassName="ClassItemSemanticEditPolicy"
        notationViewFactoryClassName="ClassViewFactory"
        canonicalEditPolicyClassName="ClassCanonicalEditPolicy"
        childNodes="//@diagram/@childNodes.5"
        compartments="//@diagram/@compartments.1 //@diagram/@compartments.2 //@diagram/@compartments.3"
        graphicalNodeEditPolicyClassName="ClassGraphicalNodeEditPolicy"
        createCommandClassName="ClassCreateCommand">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
      <elementType
          xsi:type="gmfgen:MetamodelType"
          displayName="Class (Expanded)"
          editHelperClassName="ClassEditHelper"/>
      <viewmap
          xsi:type="gmfgen:InnerClassViewmap"
          layoutType="TOOLBAR_LAYOUT"
          className="ClassFigure"
          classBody="&#xA;/**&#xA; * @generated&#xA; */&#xA;public class ClassFigure extends org.eclipse.draw2d.RectangleFigure {&#xA;&#xA;&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;private org.eclipse.draw2d.RectangleFigure fFigureClassFigure_PropertiesCompartment; &#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;private org.eclipse.draw2d.RectangleFigure fFigureClassFigure_OperationsCompartment; &#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;private org.eclipse.draw2d.RectangleFigure fFigureClassFigure_ClassesCompartment; &#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;private org.eclipse.draw2d.RectangleFigure fFigureClassFigure_LiteralsCompartment; &#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;private org.eclipse.draw2d.RectangleFigure fFigureClassFigure_OthersCompartment; &#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;private org.eclipse.uml2.diagram.common.draw2d.NameAndStereotypeBlock fNameAndStereotypeBlock; &#xA;&#xA;&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;public ClassFigure() {&#xA;&#x9;&#x9;&#xA;&#x9;org.eclipse.draw2d.ToolbarLayout layoutThis = new org.eclipse.draw2d.ToolbarLayout();&#xA;&#x9;layoutThis.setStretchMinorAxis(true);&#xA;&#x9;layoutThis.setMinorAlignment(org.eclipse.draw2d.ToolbarLayout.ALIGN_CENTER&#xA;);&#xA;&#xA;&#x9;layoutThis.setSpacing(0);&#xA;&#x9;layoutThis.setVertical(true);&#xA;&#xA;&#x9;this.setLayoutManager(layoutThis);&#xA;&#xA;&#x9;&#x9;this.setLineWidth(1);&#xA;&#xA;this.setBorder(new org.eclipse.draw2d.MarginBorder(getMapMode().DPtoLP(1)&#xA;, getMapMode().DPtoLP(1)&#xA;, getMapMode().DPtoLP(10)&#xA;, getMapMode().DPtoLP(1)&#xA;));&#xA;&#x9;&#x9;createContents();&#xA;&#x9;}&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;private void createContents(){&#xA;&#xA;&#xA;fNameAndStereotypeBlock = new org.eclipse.uml2.diagram.common.draw2d.NameAndStereotypeBlock();&#xA;&#xA;&#xA;&#xA;fNameAndStereotypeBlock.setBorder(new org.eclipse.draw2d.MarginBorder(getMapMode().DPtoLP(8)&#xA;, getMapMode().DPtoLP(5)&#xA;, getMapMode().DPtoLP(6)&#xA;, getMapMode().DPtoLP(5)&#xA;));&#xA;&#xA;this.add(fNameAndStereotypeBlock);&#xA;&#xA;&#xA;&#xA;fFigureClassFigure_PropertiesCompartment = new org.eclipse.draw2d.RectangleFigure();&#xA;fFigureClassFigure_PropertiesCompartment.setOutline(false);&#xA;fFigureClassFigure_PropertiesCompartment.setLineWidth(1);&#xA;&#xA;this.add(fFigureClassFigure_PropertiesCompartment);&#xA;&#xA;&#x9;org.eclipse.draw2d.StackLayout layoutFFigureClassFigure_PropertiesCompartment = new org.eclipse.draw2d.StackLayout();&#xA;&#xA;&#xA;&#xA;&#xA;layoutFFigureClassFigure_PropertiesCompartment.setObserveVisibility(&#xA;true);&#xA;&#xA;&#xA;&#x9;fFigureClassFigure_PropertiesCompartment.setLayoutManager(layoutFFigureClassFigure_PropertiesCompartment);&#xA;&#xA;&#xA;&#xA;&#xA;fFigureClassFigure_OperationsCompartment = new org.eclipse.draw2d.RectangleFigure();&#xA;fFigureClassFigure_OperationsCompartment.setOutline(false);&#xA;fFigureClassFigure_OperationsCompartment.setLineWidth(1);&#xA;&#xA;this.add(fFigureClassFigure_OperationsCompartment);&#xA;&#xA;&#x9;org.eclipse.draw2d.StackLayout layoutFFigureClassFigure_OperationsCompartment = new org.eclipse.draw2d.StackLayout();&#xA;&#xA;&#xA;&#xA;&#xA;layoutFFigureClassFigure_OperationsCompartment.setObserveVisibility(&#xA;true);&#xA;&#xA;&#xA;&#x9;fFigureClassFigure_OperationsCompartment.setLayoutManager(layoutFFigureClassFigure_OperationsCompartment);&#xA;&#xA;&#xA;&#xA;&#xA;fFigureClassFigure_ClassesCompartment = new org.eclipse.draw2d.RectangleFigure();&#xA;fFigureClassFigure_ClassesCompartment.setOutline(false);&#xA;fFigureClassFigure_ClassesCompartment.setLineWidth(1);&#xA;&#xA;this.add(fFigureClassFigure_ClassesCompartment);&#xA;&#xA;&#x9;org.eclipse.draw2d.StackLayout layoutFFigureClassFigure_ClassesCompartment = new org.eclipse.draw2d.StackLayout();&#xA;&#xA;&#xA;&#xA;&#xA;layoutFFigureClassFigure_ClassesCompartment.setObserveVisibility(&#xA;true);&#xA;&#xA;&#xA;&#x9;fFigureClassFigure_ClassesCompartment.setLayoutManager(layoutFFigureClassFigure_ClassesCompartment);&#xA;&#xA;&#xA;&#xA;&#xA;fFigureClassFigure_LiteralsCompartment = new org.eclipse.draw2d.RectangleFigure();&#xA;fFigureClassFigure_LiteralsCompartment.setOutline(false);&#xA;fFigureClassFigure_LiteralsCompartment.setLineWidth(1);&#xA;&#xA;this.add(fFigureClassFigure_LiteralsCompartment);&#xA;&#xA;&#x9;org.eclipse.draw2d.StackLayout layoutFFigureClassFigure_LiteralsCompartment = new org.eclipse.draw2d.StackLayout();&#xA;&#xA;&#xA;&#xA;&#xA;layoutFFigureClassFigure_LiteralsCompartment.setObserveVisibility(&#xA;true);&#xA;&#xA;&#xA;&#x9;fFigureClassFigure_LiteralsCompartment.setLayoutManager(layoutFFigureClassFigure_LiteralsCompartment);&#xA;&#xA;&#xA;&#xA;&#xA;fFigureClassFigure_OthersCompartment = new org.eclipse.draw2d.RectangleFigure();&#xA;fFigureClassFigure_OthersCompartment.setOutline(false);&#xA;fFigureClassFigure_OthersCompartment.setLineWidth(1);&#xA;&#xA;this.add(fFigureClassFigure_OthersCompartment);&#xA;&#xA;&#x9;org.eclipse.draw2d.StackLayout layoutFFigureClassFigure_OthersCompartment = new org.eclipse.draw2d.StackLayout();&#xA;&#xA;&#xA;&#xA;&#xA;layoutFFigureClassFigure_OthersCompartment.setObserveVisibility(&#xA;true);&#xA;&#xA;&#xA;&#x9;fFigureClassFigure_OthersCompartment.setLayoutManager(layoutFFigureClassFigure_OthersCompartment);&#xA;&#xA;&#xA;&#xA;&#x9;}&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;public org.eclipse.draw2d.RectangleFigure getFigureClassFigure_PropertiesCompartment() {&#xA;&#x9;&#x9;return fFigureClassFigure_PropertiesCompartment;&#xA;&#x9;}&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;public org.eclipse.draw2d.RectangleFigure getFigureClassFigure_OperationsCompartment() {&#xA;&#x9;&#x9;return fFigureClassFigure_OperationsCompartment;&#xA;&#x9;}&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;public org.eclipse.draw2d.RectangleFigure getFigureClassFigure_ClassesCompartment() {&#xA;&#x9;&#x9;return fFigureClassFigure_ClassesCompartment;&#xA;&#x9;}&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;public org.eclipse.draw2d.RectangleFigure getFigureClassFigure_LiteralsCompartment() {&#xA;&#x9;&#x9;return fFigureClassFigure_LiteralsCompartment;&#xA;&#x9;}&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;public org.eclipse.draw2d.RectangleFigure getFigureClassFigure_OthersCompartment() {&#xA;&#x9;&#x9;return fFigureClassFigure_OthersCompartment;&#xA;&#x9;}&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;public org.eclipse.uml2.diagram.common.draw2d.NameAndStereotypeBlock getNameAndStereotypeBlock() {&#xA;&#x9;&#x9;return fNameAndStereotypeBlock;&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xD;&#xA;&#x9; * @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;public org.eclipse.uml2.diagram.common.draw2d.StereotypeLabel2 getFigureClassFigure_StereoLabel() {&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;return getNameAndStereotypeBlock().getStereotypeLabel();&#x9;&#x9;&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;}&#xD;&#xA;&#xA;&#x9;/**&#xD;&#xA;&#x9; * @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;public org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel getFigureClassFigure_NameLabel() {&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;return getNameAndStereotypeBlock().getNameLabel();&#x9;&#x9;&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;}&#xD;&#xA;&#xA;&#xA;}&#xA;&#xA;">
        <attributes
            xsi:type="gmfgen:DefaultSizeAttributes"
            width="100"
            height="60"/>
        <attributes
            xsi:type="u2tgen:SubstitutableByAttributes">
          <substitutableByIDs>2007</substitutableByIDs>
        </attributes>
        <attributes
            xsi:type="u2tgen:StereotypeSupportAttribute"/>
      </viewmap>
      <modelFacet
          modelElementSelector="//@expressionProviders/@providers.0/@expressions.3">
        <metaClass
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Class"/>
        <containmentMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Package/packagedElement"/>
        <childMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Package/ownedType"/>
        <modelElementInitializer
            xsi:type="gmfgen:GenFeatureSeqInitializer">
          <initializers
              xsi:type="gmfgen:GenFeatureValueSpec"
              value="//@expressionProviders/@providers.0/@expressions.4">
            <feature
                href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/>
          </initializers>
        </modelElementInitializer>
      </modelFacet>
      <labels
          visualID="5013"
          editPartClassName="ClassNameEditPart"
          itemSemanticEditPolicyClassName="ClassNameItemSemanticEditPolicy"
          notationViewFactoryClassName="ClassNameViewFactory"
          elementIcon="true">
        <diagramRunTimeClass
            href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
        <viewmap
            xsi:type="gmfgen:ParentAssignedViewmap"
            getterName="getFigureClassFigure_NameLabel"
            figureQualifiedClassName="org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel">
          <attributes
              xsi:type="gmfgen:StyleAttributes"
              fixedFont="true"/>
          <attributes
              xsi:type="u2tgen:StereotypeSupportAttribute"
              role="NAME_LABEL"/>
        </viewmap>
        <modelFacet
            xsi:type="gmfgen:FeatureLabelModelFacet"
            parser="//@labelParsers/@implementations.0"
            editPattern="">
          <metaFeatures
              href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/>
        </modelFacet>
      </labels>
      <labels
          visualID="5014"
          editPartClassName="ClassStereoEditPart"
          itemSemanticEditPolicyClassName="ClassStereoItemSemanticEditPolicy"
          notationViewFactoryClassName="ClassStereoViewFactory">
        <diagramRunTimeClass
            href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
        <viewmap
            xsi:type="gmfgen:ParentAssignedViewmap"
            getterName="getFigureClassFigure_StereoLabel"
            figureQualifiedClassName="org.eclipse.uml2.diagram.common.draw2d.StereotypeLabel2">
          <attributes
              xsi:type="gmfgen:StyleAttributes"
              fixedFont="true"/>
          <attributes
              xsi:type="u2tgen:StereotypeSupportAttribute"
              role="STEREOTYPE_LABEL"/>
        </viewmap>
        <behaviour
            xsi:type="gmfgen:CustomBehaviour"
            key="org.eclipse.gef.EditPolicy.DIRECT_EDIT_ROLE"
            editPolicyQualifiedClassName="org.eclipse.uml2.diagram.common.draw2d.StereotypeLabelDirectEditPolicy"/>
        <modelFacet
            xsi:type="gmfgen:FeatureLabelModelFacet"
            parser="//@labelParsers/@implementations.1"
            editPattern="">
          <metaFeatures
              href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/qualifiedName"/>
        </modelFacet>
      </labels>
    </topLevelNodes>
    <topLevelNodes
        visualID="2003"
        editPartClassName="Package2EditPart"
        itemSemanticEditPolicyClassName="Package2ItemSemanticEditPolicy"
        notationViewFactoryClassName="Package2ViewFactory"
        canonicalEditPolicyClassName="Package2CanonicalEditPolicy"
        compartments="//@diagram/@compartments.4"
        primaryDragEditPolicyQualifiedClassName="org.eclipse.uml2.diagram.common.editpolicies.UnmovableUnselectableShapeEditPolicy"
        graphicalNodeEditPolicyClassName="PackageGraphicalNodeEditPolicy"
        createCommandClassName="PackageCreateCommand">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
      <elementType
          xsi:type="gmfgen:SpecializationType"
          metamodelType="//@diagram/@elementType"/>
      <viewmap
          xsi:type="gmfgen:InnerClassViewmap"
          layoutType="TOOLBAR_LAYOUT"
          className="SecondaryPackageFigure"
          classBody="&#xA;/**&#xA; * @generated&#xA; */&#xA;public class SecondaryPackageFigure extends org.eclipse.draw2d.ScalablePolygonShape {&#xA;&#xA;&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;private org.eclipse.draw2d.Label fFigureSecondaryPackage_PackageLabel; &#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;private org.eclipse.draw2d.Label fFigureSecondaryPackage_NameLabel; &#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;private org.eclipse.draw2d.RectangleFigure fFigureSecondaryPackage_Imports; &#xA;&#xA;&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;public SecondaryPackageFigure() {&#xA;&#x9;&#x9;&#xA;&#x9;org.eclipse.draw2d.ToolbarLayout layoutThis = new org.eclipse.draw2d.ToolbarLayout();&#xA;&#x9;layoutThis.setStretchMinorAxis(true);&#xA;&#x9;layoutThis.setMinorAlignment(org.eclipse.draw2d.ToolbarLayout.ALIGN_CENTER&#xA;);&#xA;&#xA;&#x9;layoutThis.setSpacing(0);&#xA;&#x9;layoutThis.setVertical(true);&#xA;&#xA;&#x9;this.setLayoutManager(layoutThis);&#xA;&#xA;&#x9;&#x9;this.addPoint(new org.eclipse.draw2d.geometry.Point(getMapMode().DPtoLP(0)&#xA;, getMapMode().DPtoLP(0)&#xA;));&#xA;this.addPoint(new org.eclipse.draw2d.geometry.Point(getMapMode().DPtoLP(0)&#xA;, getMapMode().DPtoLP(40)&#xA;));&#xA;this.addPoint(new org.eclipse.draw2d.geometry.Point(getMapMode().DPtoLP(35)&#xA;, getMapMode().DPtoLP(40)&#xA;));&#xA;this.addPoint(new org.eclipse.draw2d.geometry.Point(getMapMode().DPtoLP(40)&#xA;, getMapMode().DPtoLP(35)&#xA;));&#xA;this.addPoint(new org.eclipse.draw2d.geometry.Point(getMapMode().DPtoLP(40)&#xA;, getMapMode().DPtoLP(0)&#xA;));&#xA;this.setFill(true);&#xA;this.setLineWidth(1);&#xA;&#xA;this.setBorder(new org.eclipse.draw2d.MarginBorder(getMapMode().DPtoLP(5)&#xA;, getMapMode().DPtoLP(5)&#xA;, getMapMode().DPtoLP(13)&#xA;, getMapMode().DPtoLP(10)&#xA;));&#xA;&#x9;&#x9;createContents();&#xA;&#x9;}&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;private void createContents(){&#xA;&#xA;&#xA;fFigureSecondaryPackage_PackageLabel = new org.eclipse.draw2d.Label();&#xA;fFigureSecondaryPackage_PackageLabel.setText(&quot;&quot;);&#xA;&#xA;this.add(fFigureSecondaryPackage_PackageLabel);&#xA;&#xA;&#xA;&#xA;fFigureSecondaryPackage_NameLabel = new org.eclipse.draw2d.Label();&#xA;fFigureSecondaryPackage_NameLabel.setText(&quot;&quot;);&#xA;&#xA;this.add(fFigureSecondaryPackage_NameLabel);&#xA;&#xA;&#xA;&#xA;fFigureSecondaryPackage_Imports = new org.eclipse.draw2d.RectangleFigure();&#xA;fFigureSecondaryPackage_Imports.setOutline(false);&#xA;fFigureSecondaryPackage_Imports.setLineWidth(1);&#xA;&#xA;this.add(fFigureSecondaryPackage_Imports);&#xA;&#xA;&#xA;&#x9;}&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;public org.eclipse.draw2d.Label getFigureSecondaryPackage_PackageLabel() {&#xA;&#x9;&#x9;return fFigureSecondaryPackage_PackageLabel;&#xA;&#x9;}&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;public org.eclipse.draw2d.Label getFigureSecondaryPackage_NameLabel() {&#xA;&#x9;&#x9;return fFigureSecondaryPackage_NameLabel;&#xA;&#x9;}&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;public org.eclipse.draw2d.RectangleFigure getFigureSecondaryPackage_Imports() {&#xA;&#x9;&#x9;return fFigureSecondaryPackage_Imports;&#xA;&#x9;}&#xA;&#xA;&#xA;}&#xA;&#xA;">
        <attributes
            xsi:type="gmfgen:DefaultSizeAttributes"
            width="100"
            height="60"/>
        <attributes
            xsi:type="u2tgen:AuxSecondaryDiagramNodeAttribute"
            substituteWithCanvasElement="true"/>
        <attributes
            xsi:type="u2tgen:StereotypeSupportAttribute"/>
      </viewmap>
      <behaviour
          xsi:type="gmfgen:CustomBehaviour"
          key="&quot;ConnectionHandlesPolicy&quot;"
          editPolicyQualifiedClassName="org.eclipse.uml2.diagram.common.editpolicies.DoNothingEditPolicy"/>
      <modelFacet>
        <metaClass
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Package"/>
        <containmentMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Package/packagedElement"/>
        <childMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Package/packagedElement"/>
      </modelFacet>
      <labels
          visualID="5006"
          editPartClassName="PackageNameEditPart"
          itemSemanticEditPolicyClassName="PackageNameItemSemanticEditPolicy"
          notationViewFactoryClassName="PackageNameViewFactory">
        <diagramRunTimeClass
            href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
        <viewmap
            xsi:type="gmfgen:ParentAssignedViewmap"
            getterName="getFigureSecondaryPackage_NameLabel"
            figureQualifiedClassName="org.eclipse.draw2d.Label">
          <attributes
              xsi:type="u2tgen:StereotypeSupportAttribute"
              role="NAME_LABEL"/>
        </viewmap>
        <modelFacet
            xsi:type="gmfgen:FeatureLabelModelFacet"
            parser="//@labelParsers/@implementations.0">
          <metaFeatures
              href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/>
        </modelFacet>
      </labels>
      <labels
          visualID="5033"
          editPartClassName="PackageStereo2EditPart"
          itemSemanticEditPolicyClassName="PackageStereo2ItemSemanticEditPolicy"
          notationViewFactoryClassName="PackageStereo2ViewFactory"
          elementIcon="true">
        <diagramRunTimeClass
            href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
        <viewmap
            xsi:type="gmfgen:ParentAssignedViewmap"
            getterName="getFigureSecondaryPackage_PackageLabel"
            figureQualifiedClassName="org.eclipse.draw2d.Label">
          <attributes
              xsi:type="u2tgen:StereotypeSupportAttribute"
              role="DIAGRAM_LABEL"/>
        </viewmap>
        <behaviour
            xsi:type="gmfgen:CustomBehaviour"
            key="org.eclipse.gef.EditPolicy.DIRECT_EDIT_ROLE"
            editPolicyQualifiedClassName="org.eclipse.uml2.diagram.parser.SemanticLabelDirectEditPolicy"/>
        <modelFacet
            xsi:type="gmfgen:FeatureLabelModelFacet"
            parser="//@labelParsers/@implementations.2">
          <metaFeatures
              href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/qualifiedName"/>
        </modelFacet>
      </labels>
    </topLevelNodes>
    <topLevelNodes
        visualID="2007"
        editPartClassName="Class3EditPart"
        itemSemanticEditPolicyClassName="Class3ItemSemanticEditPolicy"
        notationViewFactoryClassName="Class3ViewFactory"
        canonicalEditPolicyClassName="Class3CanonicalEditPolicy"
        childNodes="//@diagram/@childNodes.9"
        compartments="//@diagram/@compartments.5"
        graphicalNodeEditPolicyClassName="Class3GraphicalNodeEditPolicy"
        createCommandClassName="Class3CreateCommand">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
      <elementType
          xsi:type="gmfgen:SpecializationType"
          metamodelType="//@diagram/@topLevelNodes.1/@elementType"/>
      <viewmap
          xsi:type="gmfgen:InnerClassViewmap"
          className="ArtifactFigure"
          classBody="&#xA;/**&#xA; * @generated&#xA; */&#xA;public class ArtifactFigure extends org.eclipse.draw2d.RectangleFigure {&#xA;&#xA;&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;private org.eclipse.draw2d.RectangleFigure fFigureArtifactFigure_body; &#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;private org.eclipse.uml2.diagram.common.draw2d.NameAndStereotypeBlock fNameAndStereotypeBlock; &#xA;&#xA;&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;public ArtifactFigure() {&#xA;&#x9;&#x9;&#xA;&#x9;org.eclipse.draw2d.BorderLayout layoutThis = new org.eclipse.draw2d.BorderLayout();&#xA;&#x9;this.setLayoutManager(layoutThis);&#xA;&#xA;&#x9;&#x9;this.setLineWidth(1);&#xA;&#xA;this.setBorder(new org.eclipse.draw2d.MarginBorder(getMapMode().DPtoLP(1)&#xA;, getMapMode().DPtoLP(1)&#xA;, getMapMode().DPtoLP(1)&#xA;, getMapMode().DPtoLP(1)&#xA;));&#xA;&#x9;&#x9;createContents();&#xA;&#x9;}&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;private void createContents(){&#xA;&#xA;&#xA;fNameAndStereotypeBlock = new org.eclipse.uml2.diagram.common.draw2d.NameAndStereotypeBlock();&#xA;&#xA;&#xA;&#xA;fNameAndStereotypeBlock.setBorder(new org.eclipse.draw2d.MarginBorder(getMapMode().DPtoLP(8)&#xA;, getMapMode().DPtoLP(5)&#xA;, getMapMode().DPtoLP(6)&#xA;, getMapMode().DPtoLP(5)&#xA;));&#xA;&#xA;this.add(fNameAndStereotypeBlock, org.eclipse.draw2d.BorderLayout.TOP);&#xA;&#xA;&#xA;&#xA;fFigureArtifactFigure_body = new org.eclipse.draw2d.RectangleFigure();&#xA;fFigureArtifactFigure_body.setOutline(false);&#xA;fFigureArtifactFigure_body.setLineWidth(1);&#xA;fFigureArtifactFigure_body.setMinimumSize(new org.eclipse.draw2d.geometry.Dimension(getMapMode().DPtoLP(0)&#xA;, getMapMode().DPtoLP(55)&#xA;));&#xA;fFigureArtifactFigure_body.setBorder(createBorder0());&#xA;&#xA;this.add(fFigureArtifactFigure_body, org.eclipse.draw2d.BorderLayout.CENTER);&#xA;&#xA;&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;private org.eclipse.draw2d.Border createBorder0() {&#xA;&#x9;&#x9;org.eclipse.gmf.runtime.draw2d.ui.figures.OneLineBorder result = new org.eclipse.gmf.runtime.draw2d.ui.figures.OneLineBorder();&#xA;&#x9;&#x9;&#xA;&#xA;&#xA;&#x9;&#x9;return result;&#xA;&#x9;}&#xA;&#xA;&#xA;&#xA;&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;public org.eclipse.draw2d.RectangleFigure getFigureArtifactFigure_body() {&#xA;&#x9;&#x9;return fFigureArtifactFigure_body;&#xA;&#x9;}&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;public org.eclipse.uml2.diagram.common.draw2d.NameAndStereotypeBlock getNameAndStereotypeBlock() {&#xA;&#x9;&#x9;return fNameAndStereotypeBlock;&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xD;&#xA;&#x9; * @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;public org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel getFigureArtifactFigure_name() {&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;return getNameAndStereotypeBlock().getNameLabel();&#x9;&#x9;&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;}&#xD;&#xA;&#xA;&#x9;/**&#xD;&#xA;&#x9; * @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;public org.eclipse.uml2.diagram.common.draw2d.StereotypeLabel2 getFigureArtifactFigure_stereo() {&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;return getNameAndStereotypeBlock().getStereotypeLabel();&#x9;&#x9;&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;}&#xD;&#xA;&#xA;&#xA;}&#xA;&#xA;">
        <attributes
            xsi:type="gmfgen:DefaultSizeAttributes"
            width="80"
            height="60"/>
        <attributes
            xsi:type="u2tgen:SubstitutableByAttributes">
          <substitutableByIDs>2006</substitutableByIDs>
        </attributes>
      </viewmap>
      <modelFacet
          modelElementSelector="//@expressionProviders/@providers.0/@expressions.12">
        <metaClass
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Class"/>
        <containmentMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Package/packagedElement"/>
        <childMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Package/ownedType"/>
        <modelElementInitializer
            xsi:type="gmfgen:GenFeatureSeqInitializer">
          <initializers
              xsi:type="gmfgen:GenFeatureValueSpec"
              value="//@expressionProviders/@providers.0/@expressions.13">
            <feature
                href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/>
          </initializers>
        </modelElementInitializer>
      </modelFacet>
      <labels
          visualID="5018"
          editPartClassName="ClassName2EditPart"
          itemSemanticEditPolicyClassName="ClassName2ItemSemanticEditPolicy"
          notationViewFactoryClassName="ClassName2ViewFactory"
          elementIcon="true">
        <diagramRunTimeClass
            href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
        <viewmap
            xsi:type="gmfgen:ParentAssignedViewmap"
            getterName="getFigureArtifactFigure_name"
            figureQualifiedClassName="org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel">
          <attributes
              xsi:type="gmfgen:StyleAttributes"
              fixedFont="true"/>
        </viewmap>
        <modelFacet
            xsi:type="gmfgen:FeatureLabelModelFacet"
            parser="//@labelParsers/@implementations.0"
            editPattern="">
          <metaFeatures
              href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/>
        </modelFacet>
      </labels>
    </topLevelNodes>
    <topLevelNodes
        visualID="2009"
        editPartClassName="InterfaceEditPart"
        itemSemanticEditPolicyClassName="InterfaceItemSemanticEditPolicy"
        notationViewFactoryClassName="InterfaceViewFactory"
        canonicalEditPolicyClassName="InterfaceCanonicalEditPolicy"
        graphicalNodeEditPolicyClassName="InterfaceGraphicalNodeEditPolicy"
        createCommandClassName="InterfaceCreateCommand">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
      <elementType
          xsi:type="gmfgen:MetamodelType"
          editHelperClassName="InterfaceEditHelper"/>
      <viewmap
          xsi:type="gmfgen:InnerClassViewmap"
          className="ProvidedInterfaceCircleFigure"
          classBody="&#xA;/**&#xA; * @generated&#xA; */&#xA;public class ProvidedInterfaceCircleFigure extends org.eclipse.draw2d.Ellipse {&#xA;&#xA;&#xA;&#xA;&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;public ProvidedInterfaceCircleFigure() {&#xA;&#x9;&#x9;&#x9;&#x9;this.setLineWidth(1);&#xA;this.setPreferredSize(new org.eclipse.draw2d.geometry.Dimension(getMapMode().DPtoLP(15)&#xA;, getMapMode().DPtoLP(15)&#xA;));&#xA;this.setMaximumSize(new org.eclipse.draw2d.geometry.Dimension(getMapMode().DPtoLP(15)&#xA;, getMapMode().DPtoLP(15)&#xA;));&#xA;this.setMinimumSize(new org.eclipse.draw2d.geometry.Dimension(getMapMode().DPtoLP(15)&#xA;, getMapMode().DPtoLP(15)&#xA;));&#xA;&#x9;}&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;}&#xA;&#xA;">
        <attributes
            xsi:type="gmfgen:ResizeConstraints"/>
        <attributes
            xsi:type="gmfgen:DefaultSizeAttributes"
            width="15"
            height="15"/>
        <attributes
            xsi:type="u2tgen:SubstitutableByAttributes">
          <substitutableByIDs>2014</substitutableByIDs>
        </attributes>
      </viewmap>
      <modelFacet>
        <metaClass
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interface"/>
        <containmentMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Package/packagedElement"/>
        <childMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Package/ownedType"/>
        <modelElementInitializer
            xsi:type="gmfgen:GenFeatureSeqInitializer">
          <initializers
              xsi:type="gmfgen:GenFeatureValueSpec"
              value="//@expressionProviders/@providers.0/@expressions.17">
            <feature
                href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/>
          </initializers>
        </modelElementInitializer>
      </modelFacet>
      <labels
          xsi:type="gmfgen:GenExternalNodeLabel"
          visualID="5020"
          editPartClassName="InterfaceNameEditPart"
          itemSemanticEditPolicyClassName="InterfaceNameItemSemanticEditPolicy"
          notationViewFactoryClassName="InterfaceNameViewFactory">
        <diagramRunTimeClass
            href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
        <viewmap
            xsi:type="gmfgen:FigureViewmap"
            figureQualifiedClassName="org.eclipse.draw2d.Label"/>
        <modelFacet
            xsi:type="gmfgen:FeatureLabelModelFacet"
            parser="//@labelParsers/@implementations.0">
          <metaFeatures
              href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/>
        </modelFacet>
      </labels>
    </topLevelNodes>
    <topLevelNodes
        visualID="2011"
        editPartClassName="InstanceSpecificationEditPart"
        itemSemanticEditPolicyClassName="InstanceSpecificationItemSemanticEditPolicy"
        notationViewFactoryClassName="InstanceSpecificationViewFactory"
        canonicalEditPolicyClassName="InstanceSpecificationCanonicalEditPolicy"
        compartments="//@diagram/@compartments.6"
        graphicalNodeEditPolicyClassName="InstanceSpecificationGraphicalNodeEditPolicy"
        createCommandClassName="InstanceSpecificationCreateCommand">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
      <elementType
          xsi:type="gmfgen:MetamodelType"
          editHelperClassName="InstanceSpecificationEditHelper"/>
      <viewmap
          xsi:type="gmfgen:InnerClassViewmap"
          layoutType="TOOLBAR_LAYOUT"
          className="InstanceNodeFigure"
          classBody="&#xA;/**&#xA; * @generated&#xA; */&#xA;public class InstanceNodeFigure extends org.eclipse.draw2d.RectangleFigure {&#xA;&#xA;&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;private org.eclipse.draw2d.RectangleFigure fFigureInstanceNode_SlotsCompartmentFigure; &#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;private org.eclipse.uml2.diagram.common.draw2d.NameAndStereotypeBlock fNameAndStereotypeBlock; &#xA;&#xA;&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;public InstanceNodeFigure() {&#xA;&#x9;&#x9;&#xA;&#x9;org.eclipse.draw2d.ToolbarLayout layoutThis = new org.eclipse.draw2d.ToolbarLayout();&#xA;&#x9;layoutThis.setStretchMinorAxis(true);&#xA;&#x9;layoutThis.setMinorAlignment(org.eclipse.draw2d.ToolbarLayout.ALIGN_CENTER&#xA;);&#xA;&#xA;&#x9;layoutThis.setSpacing(0);&#xA;&#x9;layoutThis.setVertical(true);&#xA;&#xA;&#x9;this.setLayoutManager(layoutThis);&#xA;&#xA;&#x9;&#x9;this.setLineWidth(1);&#xA;&#xA;this.setBorder(new org.eclipse.draw2d.MarginBorder(getMapMode().DPtoLP(1)&#xA;, getMapMode().DPtoLP(1)&#xA;, getMapMode().DPtoLP(1)&#xA;, getMapMode().DPtoLP(1)&#xA;));&#xA;&#x9;&#x9;createContents();&#xA;&#x9;}&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;private void createContents(){&#xA;&#xA;&#xA;fNameAndStereotypeBlock = new org.eclipse.uml2.diagram.common.draw2d.NameAndStereotypeBlock();&#xA;&#xA;&#xA;&#xA;fNameAndStereotypeBlock.setBorder(new org.eclipse.draw2d.MarginBorder(getMapMode().DPtoLP(8)&#xA;, getMapMode().DPtoLP(5)&#xA;, getMapMode().DPtoLP(6)&#xA;, getMapMode().DPtoLP(5)&#xA;));&#xA;&#xA;this.add(fNameAndStereotypeBlock);&#xA;&#xA;&#xA;&#xA;fFigureInstanceNode_SlotsCompartmentFigure = new org.eclipse.draw2d.RectangleFigure();&#xA;fFigureInstanceNode_SlotsCompartmentFigure.setOutline(false);&#xA;fFigureInstanceNode_SlotsCompartmentFigure.setLineWidth(1);&#xA;&#xA;this.add(fFigureInstanceNode_SlotsCompartmentFigure);&#xA;&#xA;&#xA;&#x9;}&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;public org.eclipse.draw2d.RectangleFigure getFigureInstanceNode_SlotsCompartmentFigure() {&#xA;&#x9;&#x9;return fFigureInstanceNode_SlotsCompartmentFigure;&#xA;&#x9;}&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;public org.eclipse.uml2.diagram.common.draw2d.NameAndStereotypeBlock getNameAndStereotypeBlock() {&#xA;&#x9;&#x9;return fNameAndStereotypeBlock;&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xD;&#xA;&#x9; * @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;public org.eclipse.uml2.diagram.common.draw2d.StereotypeLabel2 getFigureInstanceFigure_StereoLabel() {&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;return getNameAndStereotypeBlock().getStereotypeLabel();&#x9;&#x9;&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;}&#xD;&#xA;&#xA;&#x9;/**&#xD;&#xA;&#x9; * @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;public org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel getFigureInstanceFigure_NameLabel() {&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;return getNameAndStereotypeBlock().getNameLabel();&#x9;&#x9;&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;}&#xD;&#xA;&#xA;&#xA;}&#xA;&#xA;">
        <attributes
            xsi:type="u2tgen:StereotypeSupportAttribute"/>
      </viewmap>
      <modelFacet>
        <metaClass
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/InstanceSpecification"/>
        <containmentMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Package/packagedElement"/>
        <childMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Package/packagedElement"/>
        <modelElementInitializer
            xsi:type="gmfgen:GenFeatureSeqInitializer">
          <initializers
              xsi:type="gmfgen:GenFeatureValueSpec"
              value="//@expressionProviders/@providers.0/@expressions.18">
            <feature
                href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/>
          </initializers>
        </modelElementInitializer>
      </modelFacet>
      <labels
          visualID="5022"
          editPartClassName="InstanceSpecificationNameEditPart"
          itemSemanticEditPolicyClassName="InstanceSpecificationNameItemSemanticEditPolicy"
          notationViewFactoryClassName="InstanceSpecificationNameViewFactory"
          elementIcon="true">
        <diagramRunTimeClass
            href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
        <viewmap
            xsi:type="gmfgen:ParentAssignedViewmap"
            getterName="getFigureInstanceFigure_NameLabel"
            figureQualifiedClassName="org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel">
          <attributes
              xsi:type="gmfgen:StyleAttributes"
              fixedFont="true"/>
          <attributes
              xsi:type="u2tgen:StereotypeSupportAttribute"
              role="NAME_LABEL"/>
        </viewmap>
        <modelFacet
            xsi:type="gmfgen:FeatureLabelModelFacet"
            parser="//@labelParsers/@implementations.0">
          <metaFeatures
              href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/>
        </modelFacet>
      </labels>
      <labels
          visualID="5031"
          editPartClassName="InstanceSpecificationStereoEditPart"
          itemSemanticEditPolicyClassName="InstanceSpecificationStereoItemSemanticEditPolicy"
          notationViewFactoryClassName="InstanceSpecificationStereoViewFactory">
        <diagramRunTimeClass
            href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
        <viewmap
            xsi:type="gmfgen:ParentAssignedViewmap"
            getterName="getFigureInstanceFigure_StereoLabel"
            figureQualifiedClassName="org.eclipse.uml2.diagram.common.draw2d.StereotypeLabel2">
          <attributes
              xsi:type="gmfgen:StyleAttributes"
              fixedFont="true"/>
          <attributes
              xsi:type="u2tgen:StereotypeSupportAttribute"
              role="STEREOTYPE_LABEL"/>
        </viewmap>
        <behaviour
            xsi:type="gmfgen:CustomBehaviour"
            key="org.eclipse.gef.EditPolicy.DIRECT_EDIT_ROLE"
            editPolicyQualifiedClassName="org.eclipse.uml2.diagram.parser.SemanticLabelDirectEditPolicy"/>
        <modelFacet
            xsi:type="gmfgen:FeatureLabelModelFacet"
            parser="//@labelParsers/@implementations.1">
          <metaFeatures
              href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/qualifiedName"/>
        </modelFacet>
      </labels>
    </topLevelNodes>
    <topLevelNodes
        visualID="2012"
        editPartClassName="ConstraintEditPart"
        itemSemanticEditPolicyClassName="ConstraintItemSemanticEditPolicy"
        notationViewFactoryClassName="ConstraintViewFactory"
        canonicalEditPolicyClassName="ConstraintCanonicalEditPolicy"
        graphicalNodeEditPolicyClassName="ConstraintGraphicalNodeEditPolicy"
        createCommandClassName="ConstraintCreateCommand">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
      <elementType
          xsi:type="gmfgen:MetamodelType"
          editHelperClassName="ConstraintEditHelper"/>
      <viewmap
          xsi:type="gmfgen:InnerClassViewmap"
          className="ConstraintFigure"
          classBody="&#xA;/**&#xA; * @generated&#xA; */&#xA;public class ConstraintFigure extends org.eclipse.uml2.diagram.common.draw2d.MultilineConstraintFigure {&#xA;&#xA;&#xA;&#xA;&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;public ConstraintFigure() {&#xA;&#x9;&#x9;&#x9;&#x9;&#xA;&#xA;&#xA;&#xA;this.setTextLabelWrap(&#xA;true);&#xA;&#xA;&#xA;&#x9;}&#xA;&#xA;&#xA;&#xA;&#xA;&#x9;/**&#xD;&#xA;&#x9; * @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;public org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel getBodyLabel() {&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;return super.getBodyLabel();&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;}&#xD;&#xA;&#xA;&#x9;/**&#xD;&#xA;&#x9; * @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;public org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel getLanguageLabel() {&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;return super.getLanguageLabel();&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;}&#xD;&#xA;&#xA;&#xA;}&#xA;&#xA;"/>
      <modelFacet>
        <metaClass
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Constraint"/>
        <containmentMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Package/packagedElement"/>
        <childMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Package/packagedElement"/>
        <modelElementInitializer
            xsi:type="gmfgen:GenFeatureSeqInitializer">
          <initializers
              xsi:type="gmfgen:GenReferenceNewElementSpec">
            <feature
                href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Constraint/specification"/>
            <newElementInitializers>
              <initializers
                  xsi:type="gmfgen:GenFeatureValueSpec"
                  value="//@expressionProviders/@providers.0/@expressions.19">
                <feature
                    href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/OpaqueExpression/language"/>
              </initializers>
              <initializers
                  xsi:type="gmfgen:GenFeatureValueSpec"
                  value="//@expressionProviders/@providers.0/@expressions.20">
                <feature
                    href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/OpaqueExpression/body"/>
              </initializers>
              <elementClass
                  href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/OpaqueExpression"/>
            </newElementInitializers>
          </initializers>
        </modelElementInitializer>
      </modelFacet>
      <labels
          visualID="5024"
          editPartClassName="ConstraintNameEditPart"
          itemSemanticEditPolicyClassName="ConstraintNameItemSemanticEditPolicy"
          notationViewFactoryClassName="ConstraintNameViewFactory">
        <diagramRunTimeClass
            href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
        <viewmap
            xsi:type="gmfgen:ParentAssignedViewmap"
            getterName="getBodyLabel"
            figureQualifiedClassName="org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel"/>
        <modelFacet
            xsi:type="gmfgen:FeatureLabelModelFacet"
            parser="//@labelParsers/@implementations.0"
            editPattern="">
          <metaFeatures
              href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/>
        </modelFacet>
      </labels>
      <labels
          visualID="5034"
          editPartClassName="ConstraintLanguageEditPart"
          itemSemanticEditPolicyClassName="ConstraintLanguageItemSemanticEditPolicy"
          notationViewFactoryClassName="ConstraintLanguageViewFactory">
        <diagramRunTimeClass
            href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
        <viewmap
            xsi:type="gmfgen:ParentAssignedViewmap"
            getterName="getLanguageLabel"
            figureQualifiedClassName="org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel"/>
        <modelFacet
            xsi:type="gmfgen:FeatureLabelModelFacet"
            parser="//@labelParsers/@implementations.3"
            editPattern="">
          <metaFeatures
              href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/OpaqueExpression/language"/>
        </modelFacet>
      </labels>
    </topLevelNodes>
    <topLevelNodes
        visualID="2013"
        editPartClassName="CommentEditPart"
        itemSemanticEditPolicyClassName="CommentItemSemanticEditPolicy"
        notationViewFactoryClassName="CommentViewFactory"
        canonicalEditPolicyClassName="CommentCanonicalEditPolicy"
        graphicalNodeEditPolicyClassName="CommentGraphicalNodeEditPolicy"
        createCommandClassName="CommentCreateCommand">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
      <elementType
          xsi:type="gmfgen:MetamodelType"
          editHelperClassName="CommentEditHelper"/>
      <viewmap
          xsi:type="gmfgen:InnerClassViewmap"
          className="CommentFigure"
          classBody="&#xA;/**&#xA; * @generated&#xA; */&#xA;public class CommentFigure extends org.eclipse.uml2.diagram.common.draw2d.CommentFigureBase {&#xA;&#xA;&#xA;&#xA;&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;public CommentFigure() {&#xA;&#x9;&#x9;&#x9;&#x9;&#xA;&#xA;&#xA;&#xA;this.setTextLabelWrap(&#xA;true);&#xA;&#xA;&#xA;&#x9;}&#xA;&#xA;&#xA;&#xA;&#xA;&#x9;/**&#xD;&#xA;&#x9; * @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;public org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel getBodyLabel() {&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;return super.getBodyLabel();&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;}&#xD;&#xA;&#xA;&#xA;}&#xA;&#xA;"/>
      <modelFacet>
        <metaClass
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Comment"/>
        <containmentMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Element/ownedComment"/>
        <childMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Element/ownedComment"/>
      </modelFacet>
      <labels
          visualID="5032"
          editPartClassName="CommentBodyEditPart"
          itemSemanticEditPolicyClassName="CommentBodyItemSemanticEditPolicy"
          notationViewFactoryClassName="CommentBodyViewFactory"
          elementIcon="true">
        <diagramRunTimeClass
            href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
        <viewmap
            xsi:type="gmfgen:ParentAssignedViewmap"
            getterName="getBodyLabel"
            figureQualifiedClassName="org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel"/>
        <modelFacet
            xsi:type="gmfgen:FeatureLabelModelFacet"
            parser="//@labelParsers/@implementations.0">
          <metaFeatures
              href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Comment/body"/>
        </modelFacet>
      </labels>
    </topLevelNodes>
    <topLevelNodes
        visualID="2014"
        editPartClassName="Interface2EditPart"
        itemSemanticEditPolicyClassName="Interface2ItemSemanticEditPolicy"
        notationViewFactoryClassName="InterfaceViewFactory"
        canonicalEditPolicyClassName="Interface2CanonicalEditPolicy"
        compartments="//@diagram/@compartments.7 //@diagram/@compartments.8 //@diagram/@compartments.9"
        graphicalNodeEditPolicyClassName="Interface2GraphicalNodeEditPolicy"
        createCommandClassName="Interface2CreateCommand">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
      <elementType
          xsi:type="gmfgen:SpecializationType"
          metamodelType="//@diagram/@topLevelNodes.4/@elementType"/>
      <viewmap
          xsi:type="gmfgen:InnerClassViewmap"
          layoutType="TOOLBAR_LAYOUT"
          className="ClassFigure"
          classBody="&#xA;/**&#xA; * @generated&#xA; */&#xA;public class ClassFigure extends org.eclipse.draw2d.RectangleFigure {&#xA;&#xA;&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;private org.eclipse.draw2d.RectangleFigure fFigureClassFigure_PropertiesCompartment; &#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;private org.eclipse.draw2d.RectangleFigure fFigureClassFigure_OperationsCompartment; &#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;private org.eclipse.draw2d.RectangleFigure fFigureClassFigure_ClassesCompartment; &#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;private org.eclipse.draw2d.RectangleFigure fFigureClassFigure_LiteralsCompartment; &#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;private org.eclipse.draw2d.RectangleFigure fFigureClassFigure_OthersCompartment; &#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;private org.eclipse.uml2.diagram.common.draw2d.NameAndStereotypeBlock fNameAndStereotypeBlock; &#xA;&#xA;&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;public ClassFigure() {&#xA;&#x9;&#x9;&#xA;&#x9;org.eclipse.draw2d.ToolbarLayout layoutThis = new org.eclipse.draw2d.ToolbarLayout();&#xA;&#x9;layoutThis.setStretchMinorAxis(true);&#xA;&#x9;layoutThis.setMinorAlignment(org.eclipse.draw2d.ToolbarLayout.ALIGN_CENTER&#xA;);&#xA;&#xA;&#x9;layoutThis.setSpacing(0);&#xA;&#x9;layoutThis.setVertical(true);&#xA;&#xA;&#x9;this.setLayoutManager(layoutThis);&#xA;&#xA;&#x9;&#x9;this.setLineWidth(1);&#xA;&#xA;this.setBorder(new org.eclipse.draw2d.MarginBorder(getMapMode().DPtoLP(1)&#xA;, getMapMode().DPtoLP(1)&#xA;, getMapMode().DPtoLP(10)&#xA;, getMapMode().DPtoLP(1)&#xA;));&#xA;&#x9;&#x9;createContents();&#xA;&#x9;}&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;private void createContents(){&#xA;&#xA;&#xA;fNameAndStereotypeBlock = new org.eclipse.uml2.diagram.common.draw2d.NameAndStereotypeBlock();&#xA;&#xA;&#xA;&#xA;fNameAndStereotypeBlock.setBorder(new org.eclipse.draw2d.MarginBorder(getMapMode().DPtoLP(8)&#xA;, getMapMode().DPtoLP(5)&#xA;, getMapMode().DPtoLP(6)&#xA;, getMapMode().DPtoLP(5)&#xA;));&#xA;&#xA;this.add(fNameAndStereotypeBlock);&#xA;&#xA;&#xA;&#xA;fFigureClassFigure_PropertiesCompartment = new org.eclipse.draw2d.RectangleFigure();&#xA;fFigureClassFigure_PropertiesCompartment.setOutline(false);&#xA;fFigureClassFigure_PropertiesCompartment.setLineWidth(1);&#xA;&#xA;this.add(fFigureClassFigure_PropertiesCompartment);&#xA;&#xA;&#x9;org.eclipse.draw2d.StackLayout layoutFFigureClassFigure_PropertiesCompartment = new org.eclipse.draw2d.StackLayout();&#xA;&#xA;&#xA;&#xA;&#xA;layoutFFigureClassFigure_PropertiesCompartment.setObserveVisibility(&#xA;true);&#xA;&#xA;&#xA;&#x9;fFigureClassFigure_PropertiesCompartment.setLayoutManager(layoutFFigureClassFigure_PropertiesCompartment);&#xA;&#xA;&#xA;&#xA;&#xA;fFigureClassFigure_OperationsCompartment = new org.eclipse.draw2d.RectangleFigure();&#xA;fFigureClassFigure_OperationsCompartment.setOutline(false);&#xA;fFigureClassFigure_OperationsCompartment.setLineWidth(1);&#xA;&#xA;this.add(fFigureClassFigure_OperationsCompartment);&#xA;&#xA;&#x9;org.eclipse.draw2d.StackLayout layoutFFigureClassFigure_OperationsCompartment = new org.eclipse.draw2d.StackLayout();&#xA;&#xA;&#xA;&#xA;&#xA;layoutFFigureClassFigure_OperationsCompartment.setObserveVisibility(&#xA;true);&#xA;&#xA;&#xA;&#x9;fFigureClassFigure_OperationsCompartment.setLayoutManager(layoutFFigureClassFigure_OperationsCompartment);&#xA;&#xA;&#xA;&#xA;&#xA;fFigureClassFigure_ClassesCompartment = new org.eclipse.draw2d.RectangleFigure();&#xA;fFigureClassFigure_ClassesCompartment.setOutline(false);&#xA;fFigureClassFigure_ClassesCompartment.setLineWidth(1);&#xA;&#xA;this.add(fFigureClassFigure_ClassesCompartment);&#xA;&#xA;&#x9;org.eclipse.draw2d.StackLayout layoutFFigureClassFigure_ClassesCompartment = new org.eclipse.draw2d.StackLayout();&#xA;&#xA;&#xA;&#xA;&#xA;layoutFFigureClassFigure_ClassesCompartment.setObserveVisibility(&#xA;true);&#xA;&#xA;&#xA;&#x9;fFigureClassFigure_ClassesCompartment.setLayoutManager(layoutFFigureClassFigure_ClassesCompartment);&#xA;&#xA;&#xA;&#xA;&#xA;fFigureClassFigure_LiteralsCompartment = new org.eclipse.draw2d.RectangleFigure();&#xA;fFigureClassFigure_LiteralsCompartment.setOutline(false);&#xA;fFigureClassFigure_LiteralsCompartment.setLineWidth(1);&#xA;&#xA;this.add(fFigureClassFigure_LiteralsCompartment);&#xA;&#xA;&#x9;org.eclipse.draw2d.StackLayout layoutFFigureClassFigure_LiteralsCompartment = new org.eclipse.draw2d.StackLayout();&#xA;&#xA;&#xA;&#xA;&#xA;layoutFFigureClassFigure_LiteralsCompartment.setObserveVisibility(&#xA;true);&#xA;&#xA;&#xA;&#x9;fFigureClassFigure_LiteralsCompartment.setLayoutManager(layoutFFigureClassFigure_LiteralsCompartment);&#xA;&#xA;&#xA;&#xA;&#xA;fFigureClassFigure_OthersCompartment = new org.eclipse.draw2d.RectangleFigure();&#xA;fFigureClassFigure_OthersCompartment.setOutline(false);&#xA;fFigureClassFigure_OthersCompartment.setLineWidth(1);&#xA;&#xA;this.add(fFigureClassFigure_OthersCompartment);&#xA;&#xA;&#x9;org.eclipse.draw2d.StackLayout layoutFFigureClassFigure_OthersCompartment = new org.eclipse.draw2d.StackLayout();&#xA;&#xA;&#xA;&#xA;&#xA;layoutFFigureClassFigure_OthersCompartment.setObserveVisibility(&#xA;true);&#xA;&#xA;&#xA;&#x9;fFigureClassFigure_OthersCompartment.setLayoutManager(layoutFFigureClassFigure_OthersCompartment);&#xA;&#xA;&#xA;&#xA;&#x9;}&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;public org.eclipse.draw2d.RectangleFigure getFigureClassFigure_PropertiesCompartment() {&#xA;&#x9;&#x9;return fFigureClassFigure_PropertiesCompartment;&#xA;&#x9;}&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;public org.eclipse.draw2d.RectangleFigure getFigureClassFigure_OperationsCompartment() {&#xA;&#x9;&#x9;return fFigureClassFigure_OperationsCompartment;&#xA;&#x9;}&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;public org.eclipse.draw2d.RectangleFigure getFigureClassFigure_ClassesCompartment() {&#xA;&#x9;&#x9;return fFigureClassFigure_ClassesCompartment;&#xA;&#x9;}&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;public org.eclipse.draw2d.RectangleFigure getFigureClassFigure_LiteralsCompartment() {&#xA;&#x9;&#x9;return fFigureClassFigure_LiteralsCompartment;&#xA;&#x9;}&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;public org.eclipse.draw2d.RectangleFigure getFigureClassFigure_OthersCompartment() {&#xA;&#x9;&#x9;return fFigureClassFigure_OthersCompartment;&#xA;&#x9;}&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;public org.eclipse.uml2.diagram.common.draw2d.NameAndStereotypeBlock getNameAndStereotypeBlock() {&#xA;&#x9;&#x9;return fNameAndStereotypeBlock;&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xD;&#xA;&#x9; * @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;public org.eclipse.uml2.diagram.common.draw2d.StereotypeLabel2 getFigureClassFigure_StereoLabel() {&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;return getNameAndStereotypeBlock().getStereotypeLabel();&#x9;&#x9;&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;}&#xD;&#xA;&#xA;&#x9;/**&#xD;&#xA;&#x9; * @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;public org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel getFigureClassFigure_NameLabel() {&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;return getNameAndStereotypeBlock().getNameLabel();&#x9;&#x9;&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;}&#xD;&#xA;&#xA;&#xA;}&#xA;&#xA;">
        <attributes
            xsi:type="gmfgen:DefaultSizeAttributes"
            width="100"
            height="60"/>
        <attributes
            xsi:type="u2tgen:SubstitutableByAttributes">
          <substitutableByIDs>2009</substitutableByIDs>
        </attributes>
        <attributes
            xsi:type="u2tgen:StereotypeSupportAttribute"/>
      </viewmap>
      <modelFacet>
        <metaClass
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Interface"/>
        <containmentMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Package/packagedElement"/>
        <childMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Package/ownedType"/>
        <modelElementInitializer
            xsi:type="gmfgen:GenFeatureSeqInitializer">
          <initializers
              xsi:type="gmfgen:GenFeatureValueSpec"
              value="//@expressionProviders/@providers.0/@expressions.21">
            <feature
                href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/>
          </initializers>
        </modelElementInitializer>
      </modelFacet>
      <labels
          visualID="5035"
          editPartClassName="InterfaceName2EditPart"
          itemSemanticEditPolicyClassName="InterfaceName2ItemSemanticEditPolicy"
          notationViewFactoryClassName="InterfaceNameViewFactory"
          elementIcon="true">
        <diagramRunTimeClass
            href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
        <viewmap
            xsi:type="gmfgen:ParentAssignedViewmap"
            getterName="getFigureClassFigure_NameLabel"
            figureQualifiedClassName="org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel">
          <attributes
              xsi:type="gmfgen:StyleAttributes"
              fixedFont="true"/>
          <attributes
              xsi:type="u2tgen:StereotypeSupportAttribute"
              role="NAME_LABEL"/>
        </viewmap>
        <modelFacet
            xsi:type="gmfgen:FeatureLabelModelFacet"
            parser="//@labelParsers/@implementations.0">
          <metaFeatures
              href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/>
        </modelFacet>
      </labels>
      <labels
          visualID="5036"
          editPartClassName="InterfaceStereotypeEditPart"
          itemSemanticEditPolicyClassName="InterfaceStereotypeItemSemanticEditPolicy"
          notationViewFactoryClassName="InterfaceQualifiedNameViewFactory">
        <diagramRunTimeClass
            href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
        <viewmap
            xsi:type="gmfgen:ParentAssignedViewmap"
            getterName="getFigureClassFigure_StereoLabel"
            figureQualifiedClassName="org.eclipse.uml2.diagram.common.draw2d.StereotypeLabel2">
          <attributes
              xsi:type="gmfgen:StyleAttributes"
              fixedFont="true"/>
          <attributes
              xsi:type="u2tgen:StereotypeSupportAttribute"
              role="STEREOTYPE_LABEL"/>
        </viewmap>
        <behaviour
            xsi:type="gmfgen:CustomBehaviour"
            key="org.eclipse.gef.EditPolicy.DIRECT_EDIT_ROLE"
            editPolicyQualifiedClassName="org.eclipse.uml2.diagram.common.draw2d.StereotypeLabelDirectEditPolicy"/>
        <modelFacet
            xsi:type="gmfgen:FeatureLabelModelFacet"
            parser="//@labelParsers/@implementations.1">
          <metaFeatures
              href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/qualifiedName"/>
        </modelFacet>
      </labels>
    </topLevelNodes>
    <links
        visualID="4005"
        editPartClassName="ConnectorEditPart"
        itemSemanticEditPolicyClassName="ConnectorItemSemanticEditPolicy"
        notationViewFactoryClassName="ConnectorViewFactory"
        createCommandClassName="ConnectorCreateCommand"
        reorientCommandClassName="ConnectorReorientCommand">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Edge"/>
      <elementType
          xsi:type="gmfgen:MetamodelType"
          editHelperClassName="ConnectorEditHelper"/>
      <viewmap
          xsi:type="gmfgen:FigureViewmap"
          figureQualifiedClassName="org.eclipse.gmf.runtime.draw2d.ui.figures.PolylineConnectionEx"/>
      <modelFacet
          xsi:type="gmfgen:TypeLinkModelFacet"
          modelElementSelector="//@expressionProviders/@providers.0/@expressions.22">
        <metaClass
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Connector"/>
        <containmentMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/StructuredClassifier/ownedConnector"/>
        <childMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/StructuredClassifier/ownedConnector"/>
        <modelElementInitializer
            xsi:type="gmfgen:GenFeatureSeqInitializer">
          <initializers
              xsi:type="gmfgen:GenFeatureValueSpec"
              value="//@expressionProviders/@providers.0/@expressions.23">
            <feature
                href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Connector/kind"/>
          </initializers>
        </modelElementInitializer>
        <sourceMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/ConnectorEnd/role"/>
        <targetMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/ConnectorEnd/role"/>
      </modelFacet>
      <labels
          visualID="6009"
          editPartClassName="ConnectorNameEditPart"
          itemSemanticEditPolicyClassName="ConnectorNameItemSemanticEditPolicy"
          notationViewFactoryClassName="ConnectorNameViewFactory">
        <diagramRunTimeClass
            href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
        <viewmap
            xsi:type="gmfgen:FigureViewmap"
            figureQualifiedClassName="org.eclipse.draw2d.Label">
          <attributes
              xsi:type="gmfgen:LabelOffsetAttributes"
              y="20"/>
        </viewmap>
        <modelFacet
            xsi:type="gmfgen:FeatureLabelModelFacet"
            parser="//@labelParsers/@implementations.0">
          <metaFeatures
              href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/>
        </modelFacet>
      </labels>
      <labels
          visualID="6010"
          editPartClassName="ConnectorName2EditPart"
          itemSemanticEditPolicyClassName="ConnectorName2ItemSemanticEditPolicy"
          notationViewFactoryClassName="ConnectorName2ViewFactory"
          readOnly="true"
          alignment="TARGET">
        <diagramRunTimeClass
            href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
        <viewmap
            xsi:type="gmfgen:FigureViewmap"
            figureQualifiedClassName="org.eclipse.draw2d.Label">
          <attributes
              xsi:type="gmfgen:LabelOffsetAttributes"
              y="-15"/>
        </viewmap>
        <modelFacet
            xsi:type="gmfgen:FeatureLabelModelFacet"
            parser="//@labelParsers/@implementations.0">
          <metaFeatures
              href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/>
        </modelFacet>
      </labels>
      <labels
          visualID="6011"
          editPartClassName="ConnectorName3EditPart"
          itemSemanticEditPolicyClassName="ConnectorName3ItemSemanticEditPolicy"
          notationViewFactoryClassName="ConnectorName3ViewFactory"
          readOnly="true"
          alignment="SOURCE">
        <diagramRunTimeClass
            href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
        <viewmap
            xsi:type="gmfgen:FigureViewmap"
            figureQualifiedClassName="org.eclipse.draw2d.Label">
          <attributes
              xsi:type="gmfgen:LabelOffsetAttributes"
              y="-15"/>
        </viewmap>
        <modelFacet
            xsi:type="gmfgen:FeatureLabelModelFacet"
            parser="//@labelParsers/@implementations.0">
          <metaFeatures
              href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/>
        </modelFacet>
      </labels>
      <labels
          visualID="6012"
          editPartClassName="ConnectorName4EditPart"
          itemSemanticEditPolicyClassName="ConnectorName4ItemSemanticEditPolicy"
          notationViewFactoryClassName="ConnectorName4ViewFactory"
          readOnly="true"
          alignment="TARGET">
        <diagramRunTimeClass
            href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
        <viewmap
            xsi:type="gmfgen:FigureViewmap"
            figureQualifiedClassName="org.eclipse.draw2d.Label">
          <attributes
              xsi:type="gmfgen:LabelOffsetAttributes"
              y="-30"/>
        </viewmap>
        <modelFacet
            xsi:type="gmfgen:FeatureLabelModelFacet"
            parser="//@labelParsers/@implementations.0">
          <metaFeatures
              href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/>
        </modelFacet>
      </labels>
      <labels
          visualID="6013"
          editPartClassName="ConnectorName5EditPart"
          itemSemanticEditPolicyClassName="ConnectorName5ItemSemanticEditPolicy"
          notationViewFactoryClassName="ConnectorName5ViewFactory"
          readOnly="true"
          alignment="SOURCE">
        <diagramRunTimeClass
            href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
        <viewmap
            xsi:type="gmfgen:FigureViewmap"
            figureQualifiedClassName="org.eclipse.draw2d.Label">
          <attributes
              xsi:type="gmfgen:LabelOffsetAttributes"
              y="-30"/>
        </viewmap>
        <modelFacet
            xsi:type="gmfgen:FeatureLabelModelFacet"
            parser="//@labelParsers/@implementations.0">
          <metaFeatures
              href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/>
        </modelFacet>
      </labels>
      <labels
          visualID="6014"
          editPartClassName="ConnectorName6EditPart"
          itemSemanticEditPolicyClassName="ConnectorName6ItemSemanticEditPolicy"
          notationViewFactoryClassName="ConnectorName6ViewFactory"
          readOnly="true"
          alignment="TARGET">
        <diagramRunTimeClass
            href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
        <viewmap
            xsi:type="gmfgen:FigureViewmap"
            figureQualifiedClassName="org.eclipse.draw2d.Label">
          <attributes
              xsi:type="gmfgen:LabelOffsetAttributes"
              y="15"/>
        </viewmap>
        <modelFacet
            xsi:type="gmfgen:FeatureLabelModelFacet"
            parser="//@labelParsers/@implementations.0">
          <metaFeatures
              href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/>
        </modelFacet>
      </labels>
      <labels
          visualID="6015"
          editPartClassName="ConnectorName7EditPart"
          itemSemanticEditPolicyClassName="ConnectorName7ItemSemanticEditPolicy"
          notationViewFactoryClassName="ConnectorName7ViewFactory"
          readOnly="true"
          alignment="SOURCE">
        <diagramRunTimeClass
            href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
        <viewmap
            xsi:type="gmfgen:FigureViewmap"
            figureQualifiedClassName="org.eclipse.draw2d.Label">
          <attributes
              xsi:type="gmfgen:LabelOffsetAttributes"
              y="15"/>
        </viewmap>
        <modelFacet
            xsi:type="gmfgen:FeatureLabelModelFacet"
            parser="//@labelParsers/@implementations.0">
          <metaFeatures
              href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/>
        </modelFacet>
      </labels>
    </links>
    <links
        visualID="4006"
        editPartClassName="DependencyEditPart"
        itemSemanticEditPolicyClassName="DependencyItemSemanticEditPolicy"
        notationViewFactoryClassName="DependencyViewFactory"
        createCommandClassName="DependencyCreateCommand"
        reorientCommandClassName="DependencyReorientCommand">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Edge"/>
      <elementType
          xsi:type="gmfgen:MetamodelType"
          editHelperClassName="DependencyEditHelper"/>
      <viewmap
          xsi:type="gmfgen:InnerClassViewmap"
          className="DependencyConnection"
          classBody="&#xA;/**&#xA; * @generated&#xA; */&#xA;public class DependencyConnection extends org.eclipse.gmf.runtime.draw2d.ui.figures.PolylineConnectionEx {&#xA;&#xA;&#xA;&#xA;&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;public DependencyConnection() {&#xA;&#x9;&#x9;this.setLineWidth(1);&#xA;this.setLineStyle(org.eclipse.draw2d.Graphics.LINE_DASH);&#xA;&#xA;&#x9;}&#xA;&#xA;&#xA;&#xA;&#xA;}&#xA;&#xA;"/>
      <modelFacet
          xsi:type="gmfgen:TypeLinkModelFacet"
          modelElementSelector="//@expressionProviders/@providers.0/@expressions.24">
        <metaClass
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Dependency"/>
        <containmentMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/CollaborationUse/roleBinding"/>
        <childMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/CollaborationUse/roleBinding"/>
        <sourceMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Dependency/client"/>
        <targetMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Dependency/supplier"/>
      </modelFacet>
      <labels
          visualID="6001"
          editPartClassName="DependencyNameEditPart"
          itemSemanticEditPolicyClassName="DependencyNameItemSemanticEditPolicy"
          notationViewFactoryClassName="DependencyNameViewFactory"
          elementIcon="true"
          alignment="TARGET">
        <diagramRunTimeClass
            href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
        <viewmap
            xsi:type="gmfgen:FigureViewmap"
            figureQualifiedClassName="org.eclipse.draw2d.Label">
          <attributes
              xsi:type="gmfgen:LabelOffsetAttributes"
              y="40"/>
        </viewmap>
        <modelFacet
            xsi:type="gmfgen:FeatureLabelModelFacet"
            parser="//@labelParsers/@implementations.0">
          <metaFeatures
              href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/>
        </modelFacet>
      </labels>
    </links>
    <links
        visualID="4007"
        editPartClassName="InterfaceRealizationEditPart"
        itemSemanticEditPolicyClassName="InterfaceRealizationItemSemanticEditPolicy"
        notationViewFactoryClassName="InterfaceRealizationViewFactory"
        createCommandClassName="InterfaceRealizationCreateCommand"
        reorientCommandClassName="InterfaceRealizationReorientCommand">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Edge"/>
      <elementType
          xsi:type="gmfgen:MetamodelType"
          editHelperClassName="InterfaceRealizationEditHelper"/>
      <viewmap
          xsi:type="gmfgen:FigureViewmap"
          figureQualifiedClassName="org.eclipse.gmf.runtime.draw2d.ui.figures.PolylineConnectionEx"/>
      <modelFacet
          xsi:type="gmfgen:TypeLinkModelFacet"
          modelElementSelector="//@expressionProviders/@providers.0/@expressions.25">
        <metaClass
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/InterfaceRealization"/>
        <containmentMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/BehavioredClassifier/interfaceRealization"/>
        <childMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/BehavioredClassifier/interfaceRealization"/>
        <sourceMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/InterfaceRealization/implementingClassifier"/>
        <targetMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/InterfaceRealization/contract"/>
      </modelFacet>
      <creationConstraints
          targetEnd="//@expressionProviders/@providers.0/@expressions.26"/>
    </links>
    <links
        visualID="4008"
        editPartClassName="UsageEditPart"
        itemSemanticEditPolicyClassName="UsageItemSemanticEditPolicy"
        notationViewFactoryClassName="UsageViewFactory"
        createCommandClassName="UsageCreateCommand"
        reorientCommandClassName="UsageReorientCommand">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Edge"/>
      <elementType
          xsi:type="gmfgen:MetamodelType"
          editHelperClassName="UsageEditHelper"/>
      <viewmap
          xsi:type="gmfgen:InnerClassViewmap"
          className="RequiredInterfaceConnectionFigure"
          classBody="&#xA;/**&#xA; * @generated&#xA; */&#xA;public class RequiredInterfaceConnectionFigure extends org.eclipse.gmf.runtime.draw2d.ui.figures.PolylineConnectionEx {&#xA;&#xA;&#xA;&#xA;&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;public RequiredInterfaceConnectionFigure() {&#xA;&#x9;&#x9;this.setLineWidth(1);&#xA;&#xA;&#x9;&#x9;setTargetDecoration(createTargetDecoration());&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;private org.eclipse.draw2d.RotatableDecoration createTargetDecoration() {&#xA;&#x9;&#x9;org.eclipse.uml2.diagram.common.draw2d.RequiredInterfaceDecoration df = new org.eclipse.uml2.diagram.common.draw2d.RequiredInterfaceDecoration();&#xA;&#xA;&#xA;&#xA;&#xA;df.setRadius(&#xA;10);&#xA;&#xA;&#xA;&#xA;&#x9;&#x9;return df;&#xA;&#x9;}&#xA;&#xA;&#xA;&#xA;&#xA;}&#xA;&#xA;"/>
      <modelFacet
          xsi:type="gmfgen:TypeLinkModelFacet"
          modelElementSelector="//@expressionProviders/@providers.0/@expressions.27">
        <metaClass
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Usage"/>
        <containmentMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Package/packagedElement"/>
        <childMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Package/packagedElement"/>
        <sourceMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Dependency/client"/>
        <targetMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Dependency/supplier"/>
      </modelFacet>
      <creationConstraints
          sourceEnd="//@expressionProviders/@providers.0/@expressions.28"
          targetEnd="//@expressionProviders/@providers.0/@expressions.29"/>
    </links>
    <links
        visualID="4010"
        editPartClassName="PortProvidedEditPart"
        itemSemanticEditPolicyClassName="PortProvidedItemSemanticEditPolicy"
        notationViewFactoryClassName="PortProvidedViewFactory"
        createCommandClassName="PortProvidedCreateCommand"
        reorientCommandClassName="PortProvidedReorientCommand">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Edge"/>
      <elementType
          xsi:type="gmfgen:SpecializationType"/>
      <viewmap
          xsi:type="gmfgen:FigureViewmap"
          figureQualifiedClassName="org.eclipse.gmf.runtime.draw2d.ui.figures.PolylineConnectionEx"/>
      <modelFacet
          xsi:type="gmfgen:FeatureLinkModelFacet">
        <metaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Port/provided"/>
      </modelFacet>
      <creationConstraints
          sourceEnd="//@expressionProviders/@providers.0/@expressions.30"/>
    </links>
    <links
        visualID="4011"
        editPartClassName="AssociationEditPart"
        itemSemanticEditPolicyClassName="AssociationItemSemanticEditPolicy"
        notationViewFactoryClassName="AssociationViewFactory"
        createCommandClassName="AssociationCreateCommand"
        reorientCommandClassName="AssociationReorientCommand">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Edge"/>
      <elementType
          xsi:type="gmfgen:MetamodelType"
          editHelperClassName="AssociationEditHelper"/>
      <viewmap
          xsi:type="gmfgen:InnerClassViewmap"
          className="AssociationLinkFigure"
          classBody="&#xA;/**&#xA; * @generated&#xA; */&#xA;public class AssociationLinkFigure extends org.eclipse.uml2.diagram.common.draw2d.AssociationLinkFigureBase {&#xA;&#xA;&#xA;&#xA;&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;public AssociationLinkFigure() {&#xA;&#x9;&#x9;&#x9;&#x9;&#xA;&#xA;&#x9;this.setForegroundColor(org.eclipse.draw2d.ColorConstants.blue);&#xA;&#x9;}&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;}&#xA;&#xA;">
        <attributes
            xsi:type="gmfgen:StyleAttributes"
            fixedForeground="true"/>
      </viewmap>
      <modelFacet
          xsi:type="gmfgen:TypeLinkModelFacet">
        <metaClass
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Association"/>
        <containmentMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Package/packagedElement"/>
        <childMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Package/packagedElement"/>
        <sourceMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/TypedElement/type"/>
        <targetMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/TypedElement/type"/>
      </modelFacet>
      <labels
          visualID="6002"
          editPartClassName="AssociationNameEditPart"
          itemSemanticEditPolicyClassName="AssociationNameItemSemanticEditPolicy"
          notationViewFactoryClassName="AssociationNameViewFactory">
        <diagramRunTimeClass
            href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
        <viewmap
            xsi:type="gmfgen:FigureViewmap"
            figureQualifiedClassName="org.eclipse.draw2d.Label">
          <attributes
              xsi:type="gmfgen:LabelOffsetAttributes"
              y="20"/>
        </viewmap>
        <modelFacet
            xsi:type="gmfgen:FeatureLabelModelFacet"
            parser="//@labelParsers/@implementations.0">
          <metaFeatures
              href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/>
        </modelFacet>
      </labels>
      <labels
          visualID="6003"
          editPartClassName="AssociationName2EditPart"
          itemSemanticEditPolicyClassName="AssociationName2ItemSemanticEditPolicy"
          notationViewFactoryClassName="AssociationName2ViewFactory"
          alignment="TARGET">
        <diagramRunTimeClass
            href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
        <viewmap
            xsi:type="gmfgen:FigureViewmap"
            figureQualifiedClassName="org.eclipse.draw2d.Label">
          <attributes
              xsi:type="gmfgen:LabelOffsetAttributes"
              y="-15"/>
        </viewmap>
        <modelFacet
            xsi:type="gmfgen:FeatureLabelModelFacet"
            parser="//@labelParsers/@implementations.0">
          <metaFeatures
              href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/>
        </modelFacet>
      </labels>
      <labels
          visualID="6004"
          editPartClassName="AssociationName3EditPart"
          itemSemanticEditPolicyClassName="AssociationName3ItemSemanticEditPolicy"
          notationViewFactoryClassName="AssociationName3ViewFactory"
          alignment="SOURCE">
        <diagramRunTimeClass
            href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
        <viewmap
            xsi:type="gmfgen:FigureViewmap"
            figureQualifiedClassName="org.eclipse.draw2d.Label">
          <attributes
              xsi:type="gmfgen:LabelOffsetAttributes"
              y="-15"/>
        </viewmap>
        <modelFacet
            xsi:type="gmfgen:FeatureLabelModelFacet"
            parser="//@labelParsers/@implementations.0">
          <metaFeatures
              href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/>
        </modelFacet>
      </labels>
      <labels
          visualID="6005"
          editPartClassName="AssociationName4EditPart"
          itemSemanticEditPolicyClassName="AssociationName4ItemSemanticEditPolicy"
          notationViewFactoryClassName="AssociationName4ViewFactory"
          alignment="TARGET">
        <diagramRunTimeClass
            href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
        <viewmap
            xsi:type="gmfgen:FigureViewmap"
            figureQualifiedClassName="org.eclipse.draw2d.Label">
          <attributes
              xsi:type="gmfgen:LabelOffsetAttributes"
              y="-30"/>
        </viewmap>
        <modelFacet
            xsi:type="gmfgen:FeatureLabelModelFacet"
            parser="//@labelParsers/@implementations.0"
            editPattern="">
          <metaFeatures
              href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/>
        </modelFacet>
      </labels>
      <labels
          visualID="6006"
          editPartClassName="AssociationName5EditPart"
          itemSemanticEditPolicyClassName="AssociationName5ItemSemanticEditPolicy"
          notationViewFactoryClassName="AssociationName5ViewFactory"
          alignment="SOURCE">
        <diagramRunTimeClass
            href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
        <viewmap
            xsi:type="gmfgen:FigureViewmap"
            figureQualifiedClassName="org.eclipse.draw2d.Label">
          <attributes
              xsi:type="gmfgen:LabelOffsetAttributes"
              y="-30"/>
        </viewmap>
        <modelFacet
            xsi:type="gmfgen:FeatureLabelModelFacet"
            parser="//@labelParsers/@implementations.0">
          <metaFeatures
              href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/>
        </modelFacet>
      </labels>
      <labels
          visualID="6007"
          editPartClassName="AssociationName6EditPart"
          itemSemanticEditPolicyClassName="AssociationName6ItemSemanticEditPolicy"
          notationViewFactoryClassName="AssociationName6ViewFactory"
          alignment="TARGET">
        <diagramRunTimeClass
            href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
        <viewmap
            xsi:type="gmfgen:FigureViewmap"
            figureQualifiedClassName="org.eclipse.draw2d.Label">
          <attributes
              xsi:type="gmfgen:LabelOffsetAttributes"
              y="15"/>
        </viewmap>
        <modelFacet
            xsi:type="gmfgen:FeatureLabelModelFacet"
            parser="//@labelParsers/@implementations.0">
          <metaFeatures
              href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/>
        </modelFacet>
      </labels>
      <labels
          visualID="6008"
          editPartClassName="AssociationName7EditPart"
          itemSemanticEditPolicyClassName="AssociationName7ItemSemanticEditPolicy"
          notationViewFactoryClassName="AssociationName7ViewFactory"
          alignment="SOURCE">
        <diagramRunTimeClass
            href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
        <viewmap
            xsi:type="gmfgen:FigureViewmap"
            figureQualifiedClassName="org.eclipse.draw2d.Label">
          <attributes
              xsi:type="gmfgen:LabelOffsetAttributes"
              y="15"/>
        </viewmap>
        <modelFacet
            xsi:type="gmfgen:FeatureLabelModelFacet"
            parser="//@labelParsers/@implementations.0">
          <metaFeatures
              href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/>
        </modelFacet>
      </labels>
    </links>
    <links
        visualID="4012"
        editPartClassName="ConstraintConstrainedElementEditPart"
        itemSemanticEditPolicyClassName="ConstraintConstrainedElementItemSemanticEditPolicy"
        notationViewFactoryClassName="ConstraintConstrainedElementViewFactory"
        createCommandClassName="ConstraintConstrainedElementCreateCommand"
        reorientCommandClassName="ConstraintConstrainedElementReorientCommand">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Edge"/>
      <elementType
          xsi:type="gmfgen:SpecializationType"/>
      <viewmap
          xsi:type="gmfgen:InnerClassViewmap"
          className="DashedLineConnection"
          classBody="&#xA;/**&#xA; * @generated&#xA; */&#xA;public class DashedLineConnection extends org.eclipse.gmf.runtime.draw2d.ui.figures.PolylineConnectionEx {&#xA;&#xA;&#xA;&#xA;&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;public DashedLineConnection() {&#xA;&#x9;&#x9;this.setLineWidth(1);&#xA;this.setLineStyle(org.eclipse.draw2d.Graphics.LINE_DASH);&#xA;&#xA;&#x9;}&#xA;&#xA;&#xA;&#xA;&#xA;}&#xA;&#xA;"/>
      <modelFacet
          xsi:type="gmfgen:FeatureLinkModelFacet">
        <metaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Constraint/constrainedElement"/>
      </modelFacet>
    </links>
    <links
        visualID="4014"
        editPartClassName="PortRequiredEditPart"
        itemSemanticEditPolicyClassName="PortRequiredItemSemanticEditPolicy"
        notationViewFactoryClassName="PortRequiredViewFactory"
        createCommandClassName="PortRequiredCreateCommand"
        reorientCommandClassName="PortRequiredReorientCommand">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Edge"/>
      <elementType
          xsi:type="gmfgen:SpecializationType"/>
      <viewmap
          xsi:type="gmfgen:InnerClassViewmap"
          className="RequiredInterfaceConnectionFigure"
          classBody="&#xA;/**&#xA; * @generated&#xA; */&#xA;public class RequiredInterfaceConnectionFigure extends org.eclipse.gmf.runtime.draw2d.ui.figures.PolylineConnectionEx {&#xA;&#xA;&#xA;&#xA;&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;public RequiredInterfaceConnectionFigure() {&#xA;&#x9;&#x9;this.setLineWidth(1);&#xA;&#xA;&#x9;&#x9;setTargetDecoration(createTargetDecoration());&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;private org.eclipse.draw2d.RotatableDecoration createTargetDecoration() {&#xA;&#x9;&#x9;org.eclipse.uml2.diagram.common.draw2d.RequiredInterfaceDecoration df = new org.eclipse.uml2.diagram.common.draw2d.RequiredInterfaceDecoration();&#xA;&#xA;&#xA;&#xA;&#xA;df.setRadius(&#xA;10);&#xA;&#xA;&#xA;&#xA;&#x9;&#x9;return df;&#xA;&#x9;}&#xA;&#xA;&#xA;&#xA;&#xA;}&#xA;&#xA;"/>
      <modelFacet
          xsi:type="gmfgen:FeatureLinkModelFacet">
        <metaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Port/required"/>
      </modelFacet>
      <creationConstraints
          sourceEnd="//@expressionProviders/@providers.0/@expressions.31"/>
    </links>
    <links
        visualID="4015"
        editPartClassName="AssociationInstanceEditPart"
        itemSemanticEditPolicyClassName="AssociationInstanceItemSemanticEditPolicy"
        notationViewFactoryClassName="AssociationInstanceViewFactory"
        createCommandClassName="AssociationInstanceCreateCommand"
        reorientCommandClassName="AssociationInstanceReorientCommand">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Edge"/>
      <elementType
          xsi:type="gmfgen:SpecializationType"
          metamodelType="//@diagram/@childNodes.10/@elementType"/>
      <viewmap
          xsi:type="gmfgen:InnerClassViewmap"
          className="AssociationLinkFigure"
          classBody="&#xA;/**&#xA; * @generated&#xA; */&#xA;public class AssociationLinkFigure extends org.eclipse.uml2.diagram.common.draw2d.AssociationLinkFigureBase {&#xA;&#xA;&#xA;&#xA;&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;public AssociationLinkFigure() {&#xA;&#x9;&#x9;&#x9;&#x9;&#xA;&#xA;&#x9;this.setForegroundColor(org.eclipse.draw2d.ColorConstants.blue);&#xA;&#x9;}&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;}&#xA;&#xA;">
        <attributes
            xsi:type="gmfgen:StyleAttributes"
            fixedForeground="true"/>
      </viewmap>
      <modelFacet
          xsi:type="gmfgen:TypeLinkModelFacet"
          modelElementSelector="//@expressionProviders/@providers.0/@expressions.32">
        <metaClass
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Slot"/>
        <containmentMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/InstanceSpecification/slot"/>
        <childMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/InstanceSpecification/slot"/>
        <sourceMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Slot/owningInstance"/>
        <targetMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Slot/owningInstance"/>
      </modelFacet>
      <labels
          visualID="6016"
          editPartClassName="AssociationInstanceSourceEditPart"
          itemSemanticEditPolicyClassName="AssociationInstanceSourceItemSemanticEditPolicy"
          notationViewFactoryClassName="AssociationInstanceSourceViewFactory">
        <diagramRunTimeClass
            href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
        <viewmap
            xsi:type="gmfgen:FigureViewmap"
            figureQualifiedClassName="org.eclipse.draw2d.Label">
          <attributes
              xsi:type="gmfgen:LabelOffsetAttributes"
              y="20"/>
        </viewmap>
        <modelFacet
            xsi:type="gmfgen:FeatureLabelModelFacet"
            parser="//@labelParsers/@implementations.0"/>
      </labels>
      <labels
          visualID="6017"
          editPartClassName="AssociationInstanceTargetEditPart"
          itemSemanticEditPolicyClassName="AssociationInstanceTargetItemSemanticEditPolicy"
          notationViewFactoryClassName="AssociationInstanceTargetViewFactory"
          alignment="TARGET">
        <diagramRunTimeClass
            href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
        <viewmap
            xsi:type="gmfgen:FigureViewmap"
            figureQualifiedClassName="org.eclipse.draw2d.Label">
          <attributes
              xsi:type="gmfgen:LabelOffsetAttributes"
              y="-15"/>
        </viewmap>
        <modelFacet
            xsi:type="gmfgen:FeatureLabelModelFacet"
            parser="//@labelParsers/@implementations.0"/>
      </labels>
    </links>
    <links
        visualID="4016"
        editPartClassName="CommentAnnotatedElementEditPart"
        itemSemanticEditPolicyClassName="CommentAnnotatedElementItemSemanticEditPolicy"
        notationViewFactoryClassName="CommentAnnotatedElementViewFactory"
        createCommandClassName="CommentAnnotatedElementCreateCommand"
        reorientCommandClassName="CommentAnnotatedElementReorientCommand">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Edge"/>
      <elementType
          xsi:type="gmfgen:SpecializationType"/>
      <viewmap
          xsi:type="gmfgen:InnerClassViewmap"
          className="AnnotatedElementLinkFigure"
          classBody="&#xA;/**&#xA; * @generated&#xA; */&#xA;public class AnnotatedElementLinkFigure extends org.eclipse.gmf.runtime.draw2d.ui.figures.PolylineConnectionEx {&#xA;&#xA;&#xA;&#xA;&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;public AnnotatedElementLinkFigure() {&#xA;&#x9;&#x9;this.setLineWidth(1);&#xA;this.setLineStyle(org.eclipse.draw2d.Graphics.LINE_DOT);&#xA;&#xA;&#x9;}&#xA;&#xA;&#xA;&#xA;&#xA;}&#xA;&#xA;"/>
      <modelFacet
          xsi:type="gmfgen:FeatureLinkModelFacet">
        <metaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Comment/annotatedElement"/>
      </modelFacet>
    </links>
    <links
        visualID="4017"
        editPartClassName="Dependency2EditPart"
        itemSemanticEditPolicyClassName="Dependency2ItemSemanticEditPolicy"
        notationViewFactoryClassName="DependencyViewFactory"
        createCommandClassName="Dependency2CreateCommand"
        reorientCommandClassName="Dependency2ReorientCommand">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Edge"/>
      <elementType
          xsi:type="gmfgen:SpecializationType"
          metamodelType="//@diagram/@links.1/@elementType"/>
      <viewmap
          xsi:type="gmfgen:InnerClassViewmap"
          className="Dependency_WithArrow_Polyline"
          classBody="&#xA;/**&#xA; * @generated&#xA; */&#xA;public class Dependency_WithArrow_Polyline extends org.eclipse.gmf.runtime.draw2d.ui.figures.PolylineConnectionEx {&#xA;&#xA;&#xA;&#xA;&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;public Dependency_WithArrow_Polyline() {&#xA;&#x9;&#x9;this.setLineWidth(1);&#xA;this.setLineStyle(org.eclipse.draw2d.Graphics.LINE_DASH);&#xA;&#x9;this.setForegroundColor(org.eclipse.draw2d.ColorConstants.lightGray);&#xA;&#xA;&#x9;&#x9;setTargetDecoration(createTargetDecoration());&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;private org.eclipse.draw2d.RotatableDecoration createTargetDecoration() {&#xA;&#x9;&#x9;org.eclipse.draw2d.PolylineDecoration df = new org.eclipse.draw2d.PolylineDecoration();&#xA;df.setLineWidth(1);&#xA;org.eclipse.draw2d.geometry.PointList pl = new org.eclipse.draw2d.geometry.PointList();&#xA;pl.addPoint(getMapMode().DPtoLP(-1)&#xA;, getMapMode().DPtoLP(1)&#xA;);&#xA;pl.addPoint(getMapMode().DPtoLP(0)&#xA;, getMapMode().DPtoLP(0)&#xA;);&#xA;pl.addPoint(getMapMode().DPtoLP(-1)&#xA;, getMapMode().DPtoLP(-1)&#xA;);&#xA;df.setTemplate(pl);&#xA;df.setScale(getMapMode().DPtoLP(7)&#xA;, getMapMode().DPtoLP(3)&#xA;);&#xA;&#x9;&#x9;return df;&#xA;&#x9;}&#xA;&#xA;&#xA;&#xA;&#xA;}&#xA;&#xA;">
        <attributes
            xsi:type="gmfgen:StyleAttributes"
            fixedForeground="true"/>
        <attributes
            xsi:type="u2tgen:GeneralizedLinkConstraintAttribute"
            linkConstraint="if (linkClass != null) {    if (UMLPackage.eINSTANCE.getUsage().isSuperTypeOf(linkClass)) {     if ((source instanceof Classifier || source instanceof org.eclipse.uml2.uml.Port) &amp;&amp; target instanceof Interface) {      return false;     }    }    }    return true;"/>
        <attributes
            xsi:type="u2tgen:LinkToolStackSupportAttribute"
            toolClassProviderName="CreateDependencyLinkTool"
            baseSemanticClassName="Dependency"/>
      </viewmap>
      <modelFacet
          xsi:type="gmfgen:TypeLinkModelFacet"
          modelElementSelector="//@expressionProviders/@providers.0/@expressions.33">
        <metaClass
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Dependency"/>
        <containmentMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Package/packagedElement"/>
        <childMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Package/packagedElement"/>
        <sourceMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Dependency/client"/>
        <targetMetaFeature
            href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/Dependency/supplier"/>
      </modelFacet>
      <labels
          visualID="6018"
          editPartClassName="DependencyName2EditPart"
          itemSemanticEditPolicyClassName="DependencyName2ItemSemanticEditPolicy"
          notationViewFactoryClassName="DependencyNameViewFactory"
          elementIcon="true">
        <diagramRunTimeClass
            href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
        <viewmap
            xsi:type="gmfgen:FigureViewmap"
            figureQualifiedClassName="org.eclipse.draw2d.Label">
          <attributes
              xsi:type="gmfgen:LabelOffsetAttributes"
              y="40"/>
        </viewmap>
        <modelFacet
            xsi:type="gmfgen:FeatureLabelModelFacet"
            parser="//@labelParsers/@implementations.0">
          <metaFeatures
              href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/>
        </modelFacet>
      </labels>
      <labels
          visualID="6019"
          editPartClassName="DependencyName3EditPart"
          itemSemanticEditPolicyClassName="DependencyName3ItemSemanticEditPolicy"
          notationViewFactoryClassName="DependencyNameViewFactory">
        <diagramRunTimeClass
            href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
        <viewmap
            xsi:type="gmfgen:FigureViewmap"
            figureQualifiedClassName="org.eclipse.draw2d.Label">
          <attributes
              xsi:type="gmfgen:LabelOffsetAttributes"
              y="20"/>
        </viewmap>
        <modelFacet
            xsi:type="gmfgen:FeatureLabelModelFacet"
            parser="//@labelParsers/@implementations.4">
          <metaFeatures
              href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml/NamedElement/name"/>
        </modelFacet>
      </labels>
    </links>
    <compartments
        visualID="7003"
        editPartClassName="CollaborationContentsEditPart"
        itemSemanticEditPolicyClassName="CollaborationContentsItemSemanticEditPolicy"
        notationViewFactoryClassName="CollaborationContentsViewFactory"
        canonicalEditPolicyClassName="CollaborationContentsCanonicalEditPolicy"
        childNodes="//@diagram/@childNodes.0 //@diagram/@childNodes.1"
        title="contents"
        canCollapse="false"
        needsTitle="false"
        node="//@diagram/@topLevelNodes.0"
        listLayout="false">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
      <viewmap
          xsi:type="gmfgen:ParentAssignedViewmap"
          getterName="getFigureCollaborationFigure_contents"
          figureQualifiedClassName="org.eclipse.draw2d.RectangleFigure"/>
    </compartments>
    <compartments
        visualID="7004"
        editPartClassName="ClassAttributesEditPart"
        itemSemanticEditPolicyClassName="ClassAttributesItemSemanticEditPolicy"
        notationViewFactoryClassName="ClassAttributesViewFactory"
        canonicalEditPolicyClassName="ClassAttributesCanonicalEditPolicy"
        childNodes="//@diagram/@childNodes.2"
        title="attributes"
        node="//@diagram/@topLevelNodes.1">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
      <viewmap
          xsi:type="gmfgen:ParentAssignedViewmap"
          getterName="getFigureClassFigure_PropertiesCompartment"
          figureQualifiedClassName="org.eclipse.draw2d.RectangleFigure"/>
    </compartments>
    <compartments
        visualID="7005"
        editPartClassName="ClassOperationsEditPart"
        itemSemanticEditPolicyClassName="ClassOperationsItemSemanticEditPolicy"
        notationViewFactoryClassName="ClassOperationsViewFactory"
        canonicalEditPolicyClassName="ClassOperationsCanonicalEditPolicy"
        childNodes="//@diagram/@childNodes.3"
        title="operations"
        node="//@diagram/@topLevelNodes.1">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
      <viewmap
          xsi:type="gmfgen:ParentAssignedViewmap"
          getterName="getFigureClassFigure_OperationsCompartment"
          figureQualifiedClassName="org.eclipse.draw2d.RectangleFigure"/>
    </compartments>
    <compartments
        visualID="7006"
        editPartClassName="ClassClassesEditPart"
        itemSemanticEditPolicyClassName="ClassClassesItemSemanticEditPolicy"
        notationViewFactoryClassName="ClassClassesViewFactory"
        canonicalEditPolicyClassName="ClassClassesCanonicalEditPolicy"
        childNodes="//@diagram/@childNodes.4"
        title="classes"
        node="//@diagram/@topLevelNodes.1">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
      <viewmap
          xsi:type="gmfgen:ParentAssignedViewmap"
          getterName="getFigureClassFigure_ClassesCompartment"
          figureQualifiedClassName="org.eclipse.draw2d.RectangleFigure"/>
    </compartments>
    <compartments
        visualID="7002"
        editPartClassName="PackageImportsEditPart"
        itemSemanticEditPolicyClassName="PackageImportsItemSemanticEditPolicy"
        notationViewFactoryClassName="PackageImportsViewFactory"
        canonicalEditPolicyClassName="PackageImportsCanonicalEditPolicy"
        childNodes="//@diagram/@childNodes.6"
        title="imports"
        needsTitle="false"
        node="//@diagram/@topLevelNodes.2">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
      <viewmap
          xsi:type="gmfgen:ParentAssignedViewmap"
          getterName="getFigureSecondaryPackage_Imports"
          figureQualifiedClassName="org.eclipse.draw2d.RectangleFigure"/>
    </compartments>
    <compartments
        visualID="7007"
        editPartClassName="ClassClass_contentsEditPart"
        itemSemanticEditPolicyClassName="ClassClass_contentsItemSemanticEditPolicy"
        notationViewFactoryClassName="ClassClass_contentsViewFactory"
        canonicalEditPolicyClassName="ClassClass_contentsCanonicalEditPolicy"
        childNodes="//@diagram/@childNodes.7"
        title="ArtifactFigure_contents"
        canCollapse="false"
        needsTitle="false"
        node="//@diagram/@topLevelNodes.3"
        listLayout="false">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
      <viewmap
          xsi:type="gmfgen:ParentAssignedViewmap"
          getterName="getFigureArtifactFigure_body"
          figureQualifiedClassName="org.eclipse.draw2d.RectangleFigure"/>
    </compartments>
    <compartments
        visualID="7009"
        editPartClassName="InstanceSpecificationSlotsEditPart"
        itemSemanticEditPolicyClassName="InstanceSpecificationSlotsItemSemanticEditPolicy"
        notationViewFactoryClassName="InstanceSpecificationSlotsViewFactory"
        canonicalEditPolicyClassName="InstanceSpecificationSlotsCanonicalEditPolicy"
        childNodes="//@diagram/@childNodes.10"
        title="slots"
        node="//@diagram/@topLevelNodes.5">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
      <viewmap
          xsi:type="gmfgen:ParentAssignedViewmap"
          getterName="getFigureInstanceNode_SlotsCompartmentFigure"
          figureQualifiedClassName="org.eclipse.draw2d.RectangleFigure"/>
    </compartments>
    <compartments
        visualID="7010"
        editPartClassName="InterfaceAttributesEditPart"
        itemSemanticEditPolicyClassName="InterfaceAttributesItemSemanticEditPolicy"
        notationViewFactoryClassName="InterfaceAttributesViewFactory"
        canonicalEditPolicyClassName="InterfaceAttributesCanonicalEditPolicy"
        childNodes="//@diagram/@childNodes.11"
        title="attributes"
        node="//@diagram/@topLevelNodes.8">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
      <viewmap
          xsi:type="gmfgen:ParentAssignedViewmap"
          getterName="getFigureClassFigure_PropertiesCompartment"
          figureQualifiedClassName="org.eclipse.draw2d.RectangleFigure"/>
    </compartments>
    <compartments
        visualID="7011"
        editPartClassName="InterfaceOperationsEditPart"
        itemSemanticEditPolicyClassName="InterfaceOperationsItemSemanticEditPolicy"
        notationViewFactoryClassName="InterfaceOperationsViewFactory"
        canonicalEditPolicyClassName="InterfaceOperationsCanonicalEditPolicy"
        childNodes="//@diagram/@childNodes.12"
        title="operations"
        node="//@diagram/@topLevelNodes.8">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
      <viewmap
          xsi:type="gmfgen:ParentAssignedViewmap"
          getterName="getFigureClassFigure_OperationsCompartment"
          figureQualifiedClassName="org.eclipse.draw2d.RectangleFigure"/>
    </compartments>
    <compartments
        visualID="7012"
        editPartClassName="InterfaceClassesEditPart"
        itemSemanticEditPolicyClassName="InterfaceClassesItemSemanticEditPolicy"
        notationViewFactoryClassName="InterfaceClassesViewFactory"
        canonicalEditPolicyClassName="InterfaceClassesCanonicalEditPolicy"
        childNodes="//@diagram/@childNodes.13"
        title="classes"
        node="//@diagram/@topLevelNodes.8">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
      <viewmap
          xsi:type="gmfgen:ParentAssignedViewmap"
          getterName="getFigureClassFigure_ClassesCompartment"
          figureQualifiedClassName="org.eclipse.draw2d.RectangleFigure"/>
    </compartments>
    <palette>
      <groups
          title="Nodes"
          description="Diagram Nodes">
        <entries
            xsi:type="gmfgen:ToolEntry"
            title="Collaboration"
            description="Create Collaboration"
            genNodes="//@diagram/@topLevelNodes.0"/>
        <entries
            xsi:type="gmfgen:ToolEntry"
            title="Class"
            description="Create Class"
            genNodes="//@diagram/@topLevelNodes.1 //@diagram/@childNodes.4 //@diagram/@childNodes.13"/>
        <entries
            xsi:type="gmfgen:ToolEntry"
            title="Interface"
            description="Create Interface"
            genNodes="//@diagram/@topLevelNodes.4 //@diagram/@topLevelNodes.8"/>
        <entries
            xsi:type="gmfgen:ToolEntry"
            title="Instance Specification"
            description="Create Instance Specification"
            genNodes="//@diagram/@topLevelNodes.5"/>
        <entries
            xsi:type="gmfgen:ToolEntry"
            title="Constraint"
            description="Create Constraint"
            genNodes="//@diagram/@topLevelNodes.6"/>
        <entries
            xsi:type="gmfgen:ToolEntry"
            title="Comment"
            description="Create Comment"
            genNodes="//@diagram/@topLevelNodes.7"/>
      </groups>
      <groups
          title="Children"
          description="Child Elements of the Diagram Nodes">
        <entries
            xsi:type="gmfgen:ToolEntry"
            title="Element Import"
            description="Create Element Import"
            genNodes="//@diagram/@childNodes.6"/>
        <entries
            xsi:type="gmfgen:ToolEntry"
            title="Attribute"
            description="Create Attribute"
            genNodes="//@diagram/@childNodes.1 //@diagram/@childNodes.2 //@diagram/@childNodes.7 //@diagram/@childNodes.11"/>
        <entries
            xsi:type="gmfgen:ToolEntry"
            title="Operation"
            description="Create Operation"
            genNodes="//@diagram/@childNodes.3 //@diagram/@childNodes.12"/>
        <entries
            xsi:type="gmfgen:ToolEntry"
            title="Port"
            description="Create Port"
            genNodes="//@diagram/@childNodes.5 //@diagram/@childNodes.9"/>
        <entries
            xsi:type="gmfgen:ToolEntry"
            title="Collaboration Use"
            description="Create Collaboration Use"
            genNodes="//@diagram/@childNodes.0"/>
        <entries
            xsi:type="gmfgen:ToolEntry"
            title="Slot"
            description="Create Slot"
            genNodes="//@diagram/@childNodes.10"/>
      </groups>
      <groups
          title="Links"
          description="Diagram Links">
        <entries
            xsi:type="gmfgen:ToolEntry"
            title="Connector"
            description="Create Connector"
            genLinks="//@diagram/@links.0"/>
        <entries
            xsi:type="gmfgen:ToolEntry"
            title="Role Binding"
            description="Create Role Binding"
            genLinks="//@diagram/@links.1"/>
        <entries
            xsi:type="gmfgen:ToolEntry"
            title="Provided Interface"
            description="Create Provided Interface"
            genLinks="//@diagram/@links.2 //@diagram/@links.4"/>
        <entries
            xsi:type="gmfgen:ToolEntry"
            title="Required Interface"
            description="Create Required Interface"
            genLinks="//@diagram/@links.3 //@diagram/@links.7"/>
        <entries
            xsi:type="gmfgen:ToolGroup"
            title="Association"
            description="Create Association"
            stack="true">
          <entries
              xsi:type="gmfgen:ToolEntry"
              title="Association"
              description="Create Association"
              qualifiedToolName="org.eclipse.uml2.diagram.csd.part.CreateAssociationLinkTool.NONE"
              genLinks="//@diagram/@links.5 //@diagram/@links.8"/>
          <entries
              xsi:type="gmfgen:ToolEntry"
              title="Shared Association"
              description="Create Shared Association"
              qualifiedToolName="org.eclipse.uml2.diagram.csd.part.CreateAssociationLinkTool.SHARED"/>
          <entries
              xsi:type="gmfgen:ToolEntry"
              title="Composite Association"
              description="Create Composite Association"
              qualifiedToolName="org.eclipse.uml2.diagram.csd.part.CreateAssociationLinkTool.COMPOSITE"/>
          <entries
              xsi:type="gmfgen:ToolEntry"
              title="Navigable Association"
              description="Create Navigable Association"
              qualifiedToolName="org.eclipse.uml2.diagram.csd.part.CreateAssociationLinkTool.NAVIGABLE"/>
        </entries>
        <entries
            xsi:type="gmfgen:ToolEntry"
            title="Constrained Element"
            description="Create Constrained Element Link"
            genLinks="//@diagram/@links.6"/>
        <entries
            xsi:type="gmfgen:ToolEntry"
            title="Annotated Element"
            description="Create Annotated Element"
            genLinks="//@diagram/@links.9"/>
        <entries
            xsi:type="gmfgen:ToolGroup"
            title="Dependency"
            description="Create Dependency link">
          <entries
              xsi:type="gmfgen:ToolEntry"
              title="Dependency"
              description="Create Dependency link"
              qualifiedToolName="org.eclipse.uml2.diagram.csd.part.CreateDependencyLinkTool.DEPENDENCY"
              genLinks="//@diagram/@links.10"/>
          <entries
              xsi:type="gmfgen:ToolEntry"
              title="Usage"
              description="Create Usage link"
              qualifiedToolName="org.eclipse.uml2.diagram.csd.part.CreateDependencyLinkTool.USAGE"/>
        </entries>
      </groups>
    </palette>
    <preferencePages
        xsi:type="gmfgen:GenStandardPreferencePage"
        iD="org.eclipse.uml2.uml.diagram.csd.general"
        name="UML Diagram">
      <children
          xsi:type="gmfgen:GenStandardPreferencePage"
          iD="org.eclipse.uml2.uml.diagram.csd.appearance"
          name="Appearance"
          kind="Appearance"/>
      <children
          xsi:type="gmfgen:GenStandardPreferencePage"
          iD="org.eclipse.uml2.uml.diagram.csd.connections"
          name="Connections"
          kind="Connections"/>
      <children
          xsi:type="gmfgen:GenStandardPreferencePage"
          iD="org.eclipse.uml2.uml.diagram.csd.printing"
          name="Printing"
          kind="Printing"/>
      <children
          xsi:type="gmfgen:GenStandardPreferencePage"
          iD="org.eclipse.uml2.uml.diagram.csd.rulersAndGrid"
          name="Rulers And Grid"
          kind="RulersAndGrid"/>
      <children
          xsi:type="gmfgen:GenCustomPreferencePage"
          iD="org.eclipse.uml2.uml.diagram.csd.viewfilter"
          name="View Filters"
          qualifiedClassName="org.eclipse.uml2.diagram.csd.preferences.DiagramViewFiltersPreferencePage"/>
    </preferencePages>
  </diagram>
  <plugin
      iD="org.eclipse.uml2.diagram.csd"
      name="UML2 Composite Structures Diagram Plugin (Incubation)"
      provider="Eclipse Modeling Project"
      version="0.10.0.qualifier"
      printingEnabled="true">
    <requiredPlugins>org.eclipse.draw2d</requiredPlugins>
    <requiredPlugins>org.eclipse.uml2.diagram.common</requiredPlugins>
    <requiredPlugins>org.eclipse.gmf.runtime.draw2d.ui</requiredPlugins>
  </plugin>
  <editor/>
  <navigator
      generateDomainModelNavigator="false">
    <childReferences
        child="//@diagram"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.0"
        child="//@diagram/@childNodes.0"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.0"
        child="//@diagram/@childNodes.1"/>
    <childReferences
        parent="//@diagram"
        child="//@diagram/@topLevelNodes.0"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.1"
        child="//@diagram/@childNodes.2"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.1"
        child="//@diagram/@childNodes.3"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.1"
        child="//@diagram/@childNodes.4"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.1"
        child="//@diagram/@childNodes.5"/>
    <childReferences
        parent="//@diagram"
        child="//@diagram/@topLevelNodes.1"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.2"
        child="//@diagram/@childNodes.6"/>
    <childReferences
        parent="//@diagram"
        child="//@diagram/@topLevelNodes.2"/>
    <childReferences
        parent="//@diagram/@childNodes.7"
        child="//@diagram/@childNodes.8"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.3"
        child="//@diagram/@childNodes.7"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.3"
        child="//@diagram/@childNodes.9"/>
    <childReferences
        parent="//@diagram"
        child="//@diagram/@topLevelNodes.3"/>
    <childReferences
        parent="//@diagram"
        child="//@diagram/@topLevelNodes.4"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.5"
        child="//@diagram/@childNodes.10"/>
    <childReferences
        parent="//@diagram"
        child="//@diagram/@topLevelNodes.5"/>
    <childReferences
        parent="//@diagram"
        child="//@diagram/@topLevelNodes.6"/>
    <childReferences
        parent="//@diagram"
        child="//@diagram/@topLevelNodes.7"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.8"
        child="//@diagram/@childNodes.11"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.8"
        child="//@diagram/@childNodes.12"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.8"
        child="//@diagram/@childNodes.13"/>
    <childReferences
        parent="//@diagram"
        child="//@diagram/@topLevelNodes.8"/>
    <childReferences
        parent="//@diagram"
        child="//@diagram/@links.0"
        groupName="links"
        groupIcon="icons/linksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.0"
        child="//@diagram/@childNodes.1"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@childNodes.1"
        child="//@diagram/@links.0"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.0"
        child="//@diagram/@childNodes.5"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@childNodes.5"
        child="//@diagram/@links.0"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.0"
        child="//@diagram/@childNodes.7"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@childNodes.7"
        child="//@diagram/@links.0"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.0"
        child="//@diagram/@childNodes.8"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@childNodes.8"
        child="//@diagram/@links.0"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.0"
        child="//@diagram/@childNodes.9"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@childNodes.9"
        child="//@diagram/@links.0"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.0"
        child="//@diagram/@childNodes.1"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@childNodes.1"
        child="//@diagram/@links.0"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.0"
        child="//@diagram/@childNodes.5"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@childNodes.5"
        child="//@diagram/@links.0"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.0"
        child="//@diagram/@childNodes.7"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@childNodes.7"
        child="//@diagram/@links.0"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.0"
        child="//@diagram/@childNodes.8"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@childNodes.8"
        child="//@diagram/@links.0"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.0"
        child="//@diagram/@childNodes.9"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@childNodes.9"
        child="//@diagram/@links.0"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram"
        child="//@diagram/@links.1"
        groupName="links"
        groupIcon="icons/linksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.1"
        child="//@diagram/@topLevelNodes.0"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.0"
        child="//@diagram/@links.1"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.1"
        child="//@diagram/@topLevelNodes.1"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.1"
        child="//@diagram/@links.1"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.1"
        child="//@diagram/@topLevelNodes.2"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.2"
        child="//@diagram/@links.1"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.1"
        child="//@diagram/@topLevelNodes.3"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.3"
        child="//@diagram/@links.1"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.1"
        child="//@diagram/@topLevelNodes.4"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.4"
        child="//@diagram/@links.1"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.1"
        child="//@diagram/@topLevelNodes.5"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.5"
        child="//@diagram/@links.1"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.1"
        child="//@diagram/@topLevelNodes.6"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.6"
        child="//@diagram/@links.1"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.1"
        child="//@diagram/@topLevelNodes.8"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.8"
        child="//@diagram/@links.1"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.1"
        child="//@diagram/@childNodes.0"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@childNodes.0"
        child="//@diagram/@links.1"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.1"
        child="//@diagram/@childNodes.1"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@childNodes.1"
        child="//@diagram/@links.1"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.1"
        child="//@diagram/@childNodes.5"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@childNodes.5"
        child="//@diagram/@links.1"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.1"
        child="//@diagram/@childNodes.7"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@childNodes.7"
        child="//@diagram/@links.1"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.1"
        child="//@diagram/@childNodes.8"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@childNodes.8"
        child="//@diagram/@links.1"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.1"
        child="//@diagram/@childNodes.9"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@childNodes.9"
        child="//@diagram/@links.1"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.1"
        child="//@diagram/@links.0"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.0"
        child="//@diagram/@links.1"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.1"
        child="//@diagram/@links.1"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.1"
        child="//@diagram/@links.1"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.1"
        child="//@diagram/@topLevelNodes.0"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.0"
        child="//@diagram/@links.1"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.1"
        child="//@diagram/@topLevelNodes.1"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.1"
        child="//@diagram/@links.1"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.1"
        child="//@diagram/@topLevelNodes.2"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.2"
        child="//@diagram/@links.1"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.1"
        child="//@diagram/@topLevelNodes.3"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.3"
        child="//@diagram/@links.1"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.1"
        child="//@diagram/@topLevelNodes.4"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.4"
        child="//@diagram/@links.1"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.1"
        child="//@diagram/@topLevelNodes.5"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.5"
        child="//@diagram/@links.1"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.1"
        child="//@diagram/@topLevelNodes.6"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.6"
        child="//@diagram/@links.1"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.1"
        child="//@diagram/@topLevelNodes.8"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.8"
        child="//@diagram/@links.1"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.1"
        child="//@diagram/@childNodes.0"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@childNodes.0"
        child="//@diagram/@links.1"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.1"
        child="//@diagram/@childNodes.1"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@childNodes.1"
        child="//@diagram/@links.1"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.1"
        child="//@diagram/@childNodes.5"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@childNodes.5"
        child="//@diagram/@links.1"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.1"
        child="//@diagram/@childNodes.7"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@childNodes.7"
        child="//@diagram/@links.1"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.1"
        child="//@diagram/@childNodes.8"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@childNodes.8"
        child="//@diagram/@links.1"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.1"
        child="//@diagram/@childNodes.9"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@childNodes.9"
        child="//@diagram/@links.1"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.1"
        child="//@diagram/@links.0"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.0"
        child="//@diagram/@links.1"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.1"
        child="//@diagram/@links.1"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.1"
        child="//@diagram/@links.1"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram"
        child="//@diagram/@links.2"
        groupName="links"
        groupIcon="icons/linksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.2"
        child="//@diagram/@topLevelNodes.4"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.4"
        child="//@diagram/@links.2"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.2"
        child="//@diagram/@topLevelNodes.8"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.8"
        child="//@diagram/@links.2"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.2"
        child="//@diagram/@topLevelNodes.0"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.0"
        child="//@diagram/@links.2"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.2"
        child="//@diagram/@topLevelNodes.1"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.1"
        child="//@diagram/@links.2"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.2"
        child="//@diagram/@topLevelNodes.3"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.3"
        child="//@diagram/@links.2"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram"
        child="//@diagram/@links.3"
        groupName="links"
        groupIcon="icons/linksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.3"
        child="//@diagram/@topLevelNodes.0"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.0"
        child="//@diagram/@links.3"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.3"
        child="//@diagram/@topLevelNodes.1"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.1"
        child="//@diagram/@links.3"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.3"
        child="//@diagram/@topLevelNodes.2"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.2"
        child="//@diagram/@links.3"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.3"
        child="//@diagram/@topLevelNodes.3"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.3"
        child="//@diagram/@links.3"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.3"
        child="//@diagram/@topLevelNodes.4"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.4"
        child="//@diagram/@links.3"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.3"
        child="//@diagram/@topLevelNodes.5"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.5"
        child="//@diagram/@links.3"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.3"
        child="//@diagram/@topLevelNodes.6"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.6"
        child="//@diagram/@links.3"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.3"
        child="//@diagram/@topLevelNodes.8"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.8"
        child="//@diagram/@links.3"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.3"
        child="//@diagram/@childNodes.0"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@childNodes.0"
        child="//@diagram/@links.3"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.3"
        child="//@diagram/@childNodes.1"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@childNodes.1"
        child="//@diagram/@links.3"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.3"
        child="//@diagram/@childNodes.5"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@childNodes.5"
        child="//@diagram/@links.3"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.3"
        child="//@diagram/@childNodes.7"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@childNodes.7"
        child="//@diagram/@links.3"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.3"
        child="//@diagram/@childNodes.8"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@childNodes.8"
        child="//@diagram/@links.3"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.3"
        child="//@diagram/@childNodes.9"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@childNodes.9"
        child="//@diagram/@links.3"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.3"
        child="//@diagram/@links.0"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.0"
        child="//@diagram/@links.3"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.3"
        child="//@diagram/@links.1"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.1"
        child="//@diagram/@links.3"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.3"
        child="//@diagram/@links.2"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.2"
        child="//@diagram/@links.3"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.3"
        child="//@diagram/@links.3"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.3"
        child="//@diagram/@links.3"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.3"
        child="//@diagram/@topLevelNodes.0"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.0"
        child="//@diagram/@links.3"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.3"
        child="//@diagram/@topLevelNodes.1"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.1"
        child="//@diagram/@links.3"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.3"
        child="//@diagram/@topLevelNodes.2"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.2"
        child="//@diagram/@links.3"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.3"
        child="//@diagram/@topLevelNodes.3"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.3"
        child="//@diagram/@links.3"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.3"
        child="//@diagram/@topLevelNodes.4"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.4"
        child="//@diagram/@links.3"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.3"
        child="//@diagram/@topLevelNodes.5"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.5"
        child="//@diagram/@links.3"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.3"
        child="//@diagram/@topLevelNodes.6"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.6"
        child="//@diagram/@links.3"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.3"
        child="//@diagram/@topLevelNodes.8"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.8"
        child="//@diagram/@links.3"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.3"
        child="//@diagram/@childNodes.0"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@childNodes.0"
        child="//@diagram/@links.3"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.3"
        child="//@diagram/@childNodes.1"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@childNodes.1"
        child="//@diagram/@links.3"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.3"
        child="//@diagram/@childNodes.5"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@childNodes.5"
        child="//@diagram/@links.3"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.3"
        child="//@diagram/@childNodes.7"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@childNodes.7"
        child="//@diagram/@links.3"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.3"
        child="//@diagram/@childNodes.8"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@childNodes.8"
        child="//@diagram/@links.3"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.3"
        child="//@diagram/@childNodes.9"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@childNodes.9"
        child="//@diagram/@links.3"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.3"
        child="//@diagram/@links.0"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.0"
        child="//@diagram/@links.3"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.3"
        child="//@diagram/@links.1"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.1"
        child="//@diagram/@links.3"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.3"
        child="//@diagram/@links.2"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.2"
        child="//@diagram/@links.3"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.3"
        child="//@diagram/@links.3"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.3"
        child="//@diagram/@links.3"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram"
        child="//@diagram/@links.4"
        groupName="links"
        groupIcon="icons/linksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.4"
        child="//@diagram/@topLevelNodes.4"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.4"
        child="//@diagram/@links.4"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.4"
        child="//@diagram/@topLevelNodes.8"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.8"
        child="//@diagram/@links.4"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.4"
        child="//@diagram/@childNodes.5"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@childNodes.5"
        child="//@diagram/@links.4"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.4"
        child="//@diagram/@childNodes.8"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@childNodes.8"
        child="//@diagram/@links.4"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.4"
        child="//@diagram/@childNodes.9"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@childNodes.9"
        child="//@diagram/@links.4"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram"
        child="//@diagram/@links.5"
        groupName="links"
        groupIcon="icons/linksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.5"
        child="//@diagram/@topLevelNodes.0"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.0"
        child="//@diagram/@links.5"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.5"
        child="//@diagram/@topLevelNodes.1"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.1"
        child="//@diagram/@links.5"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.5"
        child="//@diagram/@topLevelNodes.3"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.3"
        child="//@diagram/@links.5"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.5"
        child="//@diagram/@topLevelNodes.4"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.4"
        child="//@diagram/@links.5"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.5"
        child="//@diagram/@topLevelNodes.8"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.8"
        child="//@diagram/@links.5"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.5"
        child="//@diagram/@links.5"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.5"
        child="//@diagram/@links.5"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.5"
        child="//@diagram/@topLevelNodes.0"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.0"
        child="//@diagram/@links.5"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.5"
        child="//@diagram/@topLevelNodes.1"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.1"
        child="//@diagram/@links.5"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.5"
        child="//@diagram/@topLevelNodes.3"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.3"
        child="//@diagram/@links.5"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.5"
        child="//@diagram/@topLevelNodes.4"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.4"
        child="//@diagram/@links.5"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.5"
        child="//@diagram/@topLevelNodes.8"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.8"
        child="//@diagram/@links.5"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.5"
        child="//@diagram/@links.5"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.5"
        child="//@diagram/@links.5"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram"
        child="//@diagram/@links.6"
        groupName="links"
        groupIcon="icons/linksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.6"
        child="//@diagram/@topLevelNodes.0"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.0"
        child="//@diagram/@links.6"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.6"
        child="//@diagram/@topLevelNodes.1"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.1"
        child="//@diagram/@links.6"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.6"
        child="//@diagram/@topLevelNodes.2"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.2"
        child="//@diagram/@links.6"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.6"
        child="//@diagram/@topLevelNodes.3"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.3"
        child="//@diagram/@links.6"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.6"
        child="//@diagram/@topLevelNodes.4"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.4"
        child="//@diagram/@links.6"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.6"
        child="//@diagram/@topLevelNodes.5"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.5"
        child="//@diagram/@links.6"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.6"
        child="//@diagram/@topLevelNodes.6"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.6"
        child="//@diagram/@links.6"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.6"
        child="//@diagram/@topLevelNodes.7"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.7"
        child="//@diagram/@links.6"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.6"
        child="//@diagram/@topLevelNodes.8"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.8"
        child="//@diagram/@links.6"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.6"
        child="//@diagram/@childNodes.0"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@childNodes.0"
        child="//@diagram/@links.6"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.6"
        child="//@diagram/@childNodes.1"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@childNodes.1"
        child="//@diagram/@links.6"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.6"
        child="//@diagram/@childNodes.5"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@childNodes.5"
        child="//@diagram/@links.6"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.6"
        child="//@diagram/@childNodes.7"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@childNodes.7"
        child="//@diagram/@links.6"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.6"
        child="//@diagram/@childNodes.8"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@childNodes.8"
        child="//@diagram/@links.6"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.6"
        child="//@diagram/@childNodes.9"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@childNodes.9"
        child="//@diagram/@links.6"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.6"
        child="//@diagram/@links.0"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.0"
        child="//@diagram/@links.6"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.6"
        child="//@diagram/@links.1"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.1"
        child="//@diagram/@links.6"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.6"
        child="//@diagram/@links.2"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.2"
        child="//@diagram/@links.6"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.6"
        child="//@diagram/@links.3"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.3"
        child="//@diagram/@links.6"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.6"
        child="//@diagram/@links.5"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.5"
        child="//@diagram/@links.6"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.6"
        child="//@diagram/@topLevelNodes.6"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.6"
        child="//@diagram/@links.6"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram"
        child="//@diagram/@links.7"
        groupName="links"
        groupIcon="icons/linksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.7"
        child="//@diagram/@topLevelNodes.4"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.4"
        child="//@diagram/@links.7"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.7"
        child="//@diagram/@topLevelNodes.8"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.8"
        child="//@diagram/@links.7"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.7"
        child="//@diagram/@childNodes.5"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@childNodes.5"
        child="//@diagram/@links.7"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.7"
        child="//@diagram/@childNodes.8"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@childNodes.8"
        child="//@diagram/@links.7"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.7"
        child="//@diagram/@childNodes.9"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@childNodes.9"
        child="//@diagram/@links.7"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram"
        child="//@diagram/@links.8"
        groupName="links"
        groupIcon="icons/linksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.8"
        child="//@diagram/@topLevelNodes.5"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.5"
        child="//@diagram/@links.8"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.8"
        child="//@diagram/@topLevelNodes.5"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.5"
        child="//@diagram/@links.8"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram"
        child="//@diagram/@links.9"
        groupName="links"
        groupIcon="icons/linksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.9"
        child="//@diagram/@topLevelNodes.0"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.0"
        child="//@diagram/@links.9"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.9"
        child="//@diagram/@topLevelNodes.1"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.1"
        child="//@diagram/@links.9"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.9"
        child="//@diagram/@topLevelNodes.2"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.2"
        child="//@diagram/@links.9"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.9"
        child="//@diagram/@topLevelNodes.3"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.3"
        child="//@diagram/@links.9"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.9"
        child="//@diagram/@topLevelNodes.4"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.4"
        child="//@diagram/@links.9"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.9"
        child="//@diagram/@topLevelNodes.5"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.5"
        child="//@diagram/@links.9"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.9"
        child="//@diagram/@topLevelNodes.6"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.6"
        child="//@diagram/@links.9"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.9"
        child="//@diagram/@topLevelNodes.7"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.7"
        child="//@diagram/@links.9"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.9"
        child="//@diagram/@topLevelNodes.8"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.8"
        child="//@diagram/@links.9"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.9"
        child="//@diagram/@childNodes.0"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@childNodes.0"
        child="//@diagram/@links.9"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.9"
        child="//@diagram/@childNodes.1"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@childNodes.1"
        child="//@diagram/@links.9"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.9"
        child="//@diagram/@childNodes.5"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@childNodes.5"
        child="//@diagram/@links.9"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.9"
        child="//@diagram/@childNodes.7"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@childNodes.7"
        child="//@diagram/@links.9"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.9"
        child="//@diagram/@childNodes.8"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@childNodes.8"
        child="//@diagram/@links.9"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.9"
        child="//@diagram/@childNodes.9"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@childNodes.9"
        child="//@diagram/@links.9"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.9"
        child="//@diagram/@links.0"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.0"
        child="//@diagram/@links.9"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.9"
        child="//@diagram/@links.1"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.1"
        child="//@diagram/@links.9"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.9"
        child="//@diagram/@links.2"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.2"
        child="//@diagram/@links.9"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.9"
        child="//@diagram/@links.3"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.3"
        child="//@diagram/@links.9"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.9"
        child="//@diagram/@links.5"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.5"
        child="//@diagram/@links.9"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.9"
        child="//@diagram/@links.8"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.8"
        child="//@diagram/@links.9"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.9"
        child="//@diagram/@topLevelNodes.7"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.7"
        child="//@diagram/@links.9"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram"
        child="//@diagram/@links.10"
        groupName="links"
        groupIcon="icons/linksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.10"
        child="//@diagram/@topLevelNodes.0"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.0"
        child="//@diagram/@links.10"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.10"
        child="//@diagram/@topLevelNodes.1"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.1"
        child="//@diagram/@links.10"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.10"
        child="//@diagram/@topLevelNodes.2"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.2"
        child="//@diagram/@links.10"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.10"
        child="//@diagram/@topLevelNodes.3"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.3"
        child="//@diagram/@links.10"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.10"
        child="//@diagram/@topLevelNodes.4"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.4"
        child="//@diagram/@links.10"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.10"
        child="//@diagram/@topLevelNodes.5"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.5"
        child="//@diagram/@links.10"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.10"
        child="//@diagram/@topLevelNodes.6"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.6"
        child="//@diagram/@links.10"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.10"
        child="//@diagram/@topLevelNodes.8"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.8"
        child="//@diagram/@links.10"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.10"
        child="//@diagram/@childNodes.0"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@childNodes.0"
        child="//@diagram/@links.10"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.10"
        child="//@diagram/@childNodes.1"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@childNodes.1"
        child="//@diagram/@links.10"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.10"
        child="//@diagram/@childNodes.5"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@childNodes.5"
        child="//@diagram/@links.10"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.10"
        child="//@diagram/@childNodes.7"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@childNodes.7"
        child="//@diagram/@links.10"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.10"
        child="//@diagram/@childNodes.8"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@childNodes.8"
        child="//@diagram/@links.10"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.10"
        child="//@diagram/@childNodes.9"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@childNodes.9"
        child="//@diagram/@links.10"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.10"
        child="//@diagram/@links.0"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.0"
        child="//@diagram/@links.10"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.10"
        child="//@diagram/@links.1"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.1"
        child="//@diagram/@links.10"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.10"
        child="//@diagram/@links.2"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.2"
        child="//@diagram/@links.10"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.10"
        child="//@diagram/@links.3"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.3"
        child="//@diagram/@links.10"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.10"
        child="//@diagram/@links.5"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.5"
        child="//@diagram/@links.10"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.10"
        child="//@diagram/@links.10"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.10"
        child="//@diagram/@links.10"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.10"
        child="//@diagram/@topLevelNodes.0"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.0"
        child="//@diagram/@links.10"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.10"
        child="//@diagram/@topLevelNodes.1"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.1"
        child="//@diagram/@links.10"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.10"
        child="//@diagram/@topLevelNodes.2"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.2"
        child="//@diagram/@links.10"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.10"
        child="//@diagram/@topLevelNodes.3"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.3"
        child="//@diagram/@links.10"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.10"
        child="//@diagram/@topLevelNodes.4"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.4"
        child="//@diagram/@links.10"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.10"
        child="//@diagram/@topLevelNodes.5"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.5"
        child="//@diagram/@links.10"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.10"
        child="//@diagram/@topLevelNodes.6"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.6"
        child="//@diagram/@links.10"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.10"
        child="//@diagram/@topLevelNodes.8"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.8"
        child="//@diagram/@links.10"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.10"
        child="//@diagram/@childNodes.0"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@childNodes.0"
        child="//@diagram/@links.10"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.10"
        child="//@diagram/@childNodes.1"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@childNodes.1"
        child="//@diagram/@links.10"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.10"
        child="//@diagram/@childNodes.5"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@childNodes.5"
        child="//@diagram/@links.10"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.10"
        child="//@diagram/@childNodes.7"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@childNodes.7"
        child="//@diagram/@links.10"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.10"
        child="//@diagram/@childNodes.8"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@childNodes.8"
        child="//@diagram/@links.10"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.10"
        child="//@diagram/@childNodes.9"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@childNodes.9"
        child="//@diagram/@links.10"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.10"
        child="//@diagram/@links.0"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.0"
        child="//@diagram/@links.10"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.10"
        child="//@diagram/@links.1"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.1"
        child="//@diagram/@links.10"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.10"
        child="//@diagram/@links.2"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.2"
        child="//@diagram/@links.10"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.10"
        child="//@diagram/@links.3"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.3"
        child="//@diagram/@links.10"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.10"
        child="//@diagram/@links.5"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.5"
        child="//@diagram/@links.10"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.10"
        child="//@diagram/@links.10"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.10"
        child="//@diagram/@links.10"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
  </navigator>
  <diagramUpdater/>
  <propertySheet>
    <tabs
        xsi:type="gmfgen:GenStandardPropertyTab"
        iD="appearance"/>
    <tabs
        xsi:type="gmfgen:GenStandardPropertyTab"
        iD="diagram"/>
    <tabs
        xsi:type="gmfgen:GenCustomPropertyTab"
        iD="domain"
        label="Core">
      <filter
          xsi:type="gmfgen:TypeTabFilter">
        <types>org.eclipse.gmf.runtime.notation.View</types>
        <types>org.eclipse.gef.EditPart</types>
        <generatedTypes>abstractNavigatorItem</generatedTypes>
      </filter>
    </tabs>
  </propertySheet>
  <domainGenModel
      href="../../../plugin/org.eclipse.uml2.uml/model/UML.genmodel#/"/>
  <expressionProviders>
    <providers
        xsi:type="gmfgen:GenExpressionInterpreter">
      <expressions
          body=" let base : String = 'Collaboration' in  let suffixes : Sequence(String) = Sequence {'', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10'} in  let space : Namespace = self.namespace in  let allMissed : Sequence(String) = suffixes-> &#x9;select(s : String | not space.member->exists(e : NamedElement | e.name = base.concat(s)) ) in  let firstMissed : String = allMissed->first() in  let noMisses : Boolean = firstMissed.oclIsUndefined() in  let allNames : Set(String) =  &#x9;if noMisses &#x9;&#x9;then &#x9;&#x9;space.member->collect(e : NamedElement | &#x9;&#x9;&#x9;if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) &lt;> base &#x9;&#x9;&#x9;then '' else e.name &#x9;&#x9;&#x9;endif &#x9;&#x9;)->asSet()->excluding('') &#x9;&#x9;else Set{'not in use'} &#x9;&#x9;endif in  let longestName : String = &#x9;&#x9;if noMisses &#x9;&#x9;then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()&#x9;&#x9;else 'not in use' &#x9;&#x9;endif &#x9;in  if noMisses then &#x9;&#x9;if longestName.oclIsUndefined() &#x9;&#x9;then base &#x9;&#x9;else longestName.concat('1') &#x9;&#x9;endif  else base.concat(firstMissed)  endif "/>
      <expressions
          body=" let base : String = 'CollaborationUse' in  let suffixes : Sequence(String) = Sequence {'', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10'} in  let space : Namespace = self.namespace in  let allMissed : Sequence(String) = suffixes-> &#x9;select(s : String | not space.member->exists(e : NamedElement | e.name = base.concat(s)) ) in  let firstMissed : String = allMissed->first() in  let noMisses : Boolean = firstMissed.oclIsUndefined() in  let allNames : Set(String) =  &#x9;if noMisses &#x9;&#x9;then &#x9;&#x9;space.member->collect(e : NamedElement | &#x9;&#x9;&#x9;if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) &lt;> base &#x9;&#x9;&#x9;then '' else e.name &#x9;&#x9;&#x9;endif &#x9;&#x9;)->asSet()->excluding('') &#x9;&#x9;else Set{'not in use'} &#x9;&#x9;endif in  let longestName : String = &#x9;&#x9;if noMisses &#x9;&#x9;then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()&#x9;&#x9;else 'not in use' &#x9;&#x9;endif &#x9;in  if noMisses then &#x9;&#x9;if longestName.oclIsUndefined() &#x9;&#x9;then base &#x9;&#x9;else longestName.concat('1') &#x9;&#x9;endif  else base.concat(firstMissed)  endif "/>
      <expressions
          xsi:type="gmfgen:GenConstraint"
          body="not self.oclIsKindOf(uml::Port)"/>
      <expressions
          xsi:type="gmfgen:GenConstraint"
          body="not oclIsKindOf(uml::AssociationClass) and not oclIsKindOf(uml::StateMachine)"/>
      <expressions
          body="let base : String = 'Class' in&#xD;&#xA;let suffixes : Sequence(String) = Sequence {'', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10'} in &#xD;&#xA;let space : Namespace = self.namespace in&#xD;&#xA;let allMissed : Sequence(String) = suffixes->&#xD;&#xA;    select(s : String | not space.member->exists(e : NamedElement | e.name = base.concat(s))&#xD;&#xA;    ) in&#xD;&#xA;let firstMissed : String = allMissed->first() in &#xD;&#xA;let noMisses : Boolean = firstMissed.oclIsUndefined() in&#xD;&#xA;let allNames : Set(String) = &#xD;&#xA;    if noMisses &#xD;&#xA;    then &#xD;&#xA;    space.member->collect(e : NamedElement | &#xD;&#xA;         if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) &lt;> base&#xD;&#xA;         then '' &#xD;&#xA;         else e.name &#xD;&#xA;         endif)->asSet()->excluding('') else Set{'not in use'} &#xD;&#xA;    endif in &#xD;&#xA;let longestName : String = &#xD;&#xA;    if noMisses&#xD;&#xA;    then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first() &#xD;&#xA;    else 'not in use' &#xD;&#xA;    endif in &#xD;&#xA;if noMisses then &#xD;&#xA;    if longestName.oclIsUndefined() &#xD;&#xA;    then base &#xD;&#xA;    else longestName.concat('1') &#xD;&#xA;    endif &#xD;&#xA;else &#xD;&#xA;    base.concat(firstMissed) &#xD;&#xA;endif "/>
      <expressions
          xsi:type="gmfgen:GenConstraint"
          body="not oclIsKindOf(uml::Port)"/>
      <expressions
          body="AggregationKind::composite"/>
      <expressions
          body=" let base : String = 'property' in  let suffixes : Sequence(String) = Sequence {'', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10'} in  let space : Namespace = self.namespace in  let allMissed : Sequence(String) = suffixes-> &#x9;select(s : String | not space.member->exists(e : NamedElement | e.name = base.concat(s)) ) in  let firstMissed : String = allMissed->first() in  let noMisses : Boolean = firstMissed.oclIsUndefined() in  let allNames : Set(String) =  &#x9;if noMisses &#x9;&#x9;then &#x9;&#x9;space.member->collect(e : NamedElement | &#x9;&#x9;&#x9;if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) &lt;> base &#x9;&#x9;&#x9;then '' else e.name &#x9;&#x9;&#x9;endif &#x9;&#x9;)->asSet()->excluding('') &#x9;&#x9;else Set{'not in use'} &#x9;&#x9;endif in  let longestName : String = &#x9;&#x9;if noMisses &#x9;&#x9;then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()&#x9;&#x9;else 'not in use' &#x9;&#x9;endif &#x9;in  if noMisses then &#x9;&#x9;if longestName.oclIsUndefined() &#x9;&#x9;then base &#x9;&#x9;else longestName.concat('1') &#x9;&#x9;endif  else base.concat(firstMissed)  endif "/>
      <expressions
          body=" let base : String = 'operation' in  let suffixes : Sequence(String) = Sequence {'', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10'} in  let space : Namespace = self.namespace in  let allMissed : Sequence(String) = suffixes-> &#x9;select(s : String | not space.member->exists(e : NamedElement | e.name = base.concat(s)) ) in  let firstMissed : String = allMissed->first() in  let noMisses : Boolean = firstMissed.oclIsUndefined() in  let allNames : Set(String) =  &#x9;if noMisses &#x9;&#x9;then &#x9;&#x9;space.member->collect(e : NamedElement | &#x9;&#x9;&#x9;if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) &lt;> base &#x9;&#x9;&#x9;then '' else e.name &#x9;&#x9;&#x9;endif &#x9;&#x9;)->asSet()->excluding('') &#x9;&#x9;else Set{'not in use'} &#x9;&#x9;endif in  let longestName : String = &#x9;&#x9;if noMisses &#x9;&#x9;then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()&#x9;&#x9;else 'not in use' &#x9;&#x9;endif &#x9;in  if noMisses then &#x9;&#x9;if longestName.oclIsUndefined() &#x9;&#x9;then base &#x9;&#x9;else longestName.concat('1') &#x9;&#x9;endif  else base.concat(firstMissed)  endif "/>
      <expressions
          body="let base : String = 'Class' in&#xD;&#xA;let suffixes : Sequence(String) = Sequence {'', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10'} in &#xD;&#xA;let space : Namespace = self.namespace in&#xD;&#xA;let allMissed : Sequence(String) = suffixes->&#xD;&#xA;    select(s : String | not space.member->exists(e : NamedElement | e.name = base.concat(s))&#xD;&#xA;    ) in&#xD;&#xA;let firstMissed : String = allMissed->first() in &#xD;&#xA;let noMisses : Boolean = firstMissed.oclIsUndefined() in&#xD;&#xA;let allNames : Set(String) = &#xD;&#xA;    if noMisses &#xD;&#xA;    then &#xD;&#xA;    space.member->collect(e : NamedElement | &#xD;&#xA;         if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) &lt;> base&#xD;&#xA;         then '' &#xD;&#xA;         else e.name &#xD;&#xA;         endif)->asSet()->excluding('') else Set{'not in use'} &#xD;&#xA;    endif in &#xD;&#xA;let longestName : String = &#xD;&#xA;    if noMisses&#xD;&#xA;    then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first() &#xD;&#xA;    else 'not in use' &#xD;&#xA;    endif in &#xD;&#xA;if noMisses then &#xD;&#xA;    if longestName.oclIsUndefined() &#xD;&#xA;    then base &#xD;&#xA;    else longestName.concat('1') &#xD;&#xA;    endif &#xD;&#xA;else &#xD;&#xA;    base.concat(firstMissed) &#xD;&#xA;endif "/>
      <expressions
          body="AggregationKind::composite"/>
      <expressions
          body=" let base : String = 'port' in  let suffixes : Sequence(String) = Sequence {'', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10'} in  let space : Namespace = self.namespace in  let allMissed : Sequence(String) = suffixes-> &#x9;select(s : String | not space.member->exists(e : NamedElement | e.name = base.concat(s)) ) in  let firstMissed : String = allMissed->first() in  let noMisses : Boolean = firstMissed.oclIsUndefined() in  let allNames : Set(String) =  &#x9;if noMisses &#x9;&#x9;then &#x9;&#x9;space.member->collect(e : NamedElement | &#x9;&#x9;&#x9;if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) &lt;> base &#x9;&#x9;&#x9;then '' else e.name &#x9;&#x9;&#x9;endif &#x9;&#x9;)->asSet()->excluding('') &#x9;&#x9;else Set{'not in use'} &#x9;&#x9;endif in  let longestName : String = &#x9;&#x9;if noMisses &#x9;&#x9;then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()&#x9;&#x9;else 'not in use' &#x9;&#x9;endif &#x9;in  if noMisses then &#x9;&#x9;if longestName.oclIsUndefined() &#x9;&#x9;then base &#x9;&#x9;else longestName.concat('1') &#x9;&#x9;endif  else base.concat(firstMissed)  endif "/>
      <expressions
          xsi:type="gmfgen:GenConstraint"
          body="not oclIsKindOf(uml::AssociationClass) and not oclIsKindOf(uml::StateMachine)"/>
      <expressions
          body="let base : String = 'Class' in&#xD;&#xA;let suffixes : Sequence(String) = Sequence {'', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10'} in &#xD;&#xA;let space : Namespace = self.namespace in&#xD;&#xA;let allMissed : Sequence(String) = suffixes->&#xD;&#xA;    select(s : String | not space.member->exists(e : NamedElement | e.name = base.concat(s))&#xD;&#xA;    ) in&#xD;&#xA;let firstMissed : String = allMissed->first() in &#xD;&#xA;let noMisses : Boolean = firstMissed.oclIsUndefined() in&#xD;&#xA;let allNames : Set(String) = &#xD;&#xA;    if noMisses &#xD;&#xA;    then &#xD;&#xA;    space.member->collect(e : NamedElement | &#xD;&#xA;         if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) &lt;> base&#xD;&#xA;         then '' &#xD;&#xA;         else e.name &#xD;&#xA;         endif)->asSet()->excluding('') else Set{'not in use'} &#xD;&#xA;    endif in &#xD;&#xA;let longestName : String = &#xD;&#xA;    if noMisses&#xD;&#xA;    then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first() &#xD;&#xA;    else 'not in use' &#xD;&#xA;    endif in &#xD;&#xA;if noMisses then &#xD;&#xA;    if longestName.oclIsUndefined() &#xD;&#xA;    then base &#xD;&#xA;    else longestName.concat('1') &#xD;&#xA;    endif &#xD;&#xA;else &#xD;&#xA;    base.concat(firstMissed) &#xD;&#xA;endif "/>
      <expressions
          xsi:type="gmfgen:GenConstraint"
          body="not self.oclIsKindOf(uml::Port)"/>
      <expressions
          body="AggregationKind::composite"/>
      <expressions
          body=" let base : String = 'port' in  let suffixes : Sequence(String) = Sequence {'', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10'} in  let space : Namespace = self.namespace in  let allMissed : Sequence(String) = suffixes-> &#x9;select(s : String | not space.member->exists(e : NamedElement | e.name = base.concat(s)) ) in  let firstMissed : String = allMissed->first() in  let noMisses : Boolean = firstMissed.oclIsUndefined() in  let allNames : Set(String) =  &#x9;if noMisses &#x9;&#x9;then &#x9;&#x9;space.member->collect(e : NamedElement | &#x9;&#x9;&#x9;if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) &lt;> base &#x9;&#x9;&#x9;then '' else e.name &#x9;&#x9;&#x9;endif &#x9;&#x9;)->asSet()->excluding('') &#x9;&#x9;else Set{'not in use'} &#x9;&#x9;endif in  let longestName : String = &#x9;&#x9;if noMisses &#x9;&#x9;then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()&#x9;&#x9;else 'not in use' &#x9;&#x9;endif &#x9;in  if noMisses then &#x9;&#x9;if longestName.oclIsUndefined() &#x9;&#x9;then base &#x9;&#x9;else longestName.concat('1') &#x9;&#x9;endif  else base.concat(firstMissed)  endif "/>
      <expressions
          body=" let base : String = 'Interface' in  let suffixes : Sequence(String) = Sequence {'', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10'} in  let space : Namespace = self.namespace in  let allMissed : Sequence(String) = suffixes-> &#x9;select(s : String | not space.member->exists(e : NamedElement | e.name = base.concat(s)) ) in  let firstMissed : String = allMissed->first() in  let noMisses : Boolean = firstMissed.oclIsUndefined() in  let allNames : Set(String) =  &#x9;if noMisses &#x9;&#x9;then &#x9;&#x9;space.member->collect(e : NamedElement | &#x9;&#x9;&#x9;if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) &lt;> base &#x9;&#x9;&#x9;then '' else e.name &#x9;&#x9;&#x9;endif &#x9;&#x9;)->asSet()->excluding('') &#x9;&#x9;else Set{'not in use'} &#x9;&#x9;endif in  let longestName : String = &#x9;&#x9;if noMisses &#x9;&#x9;then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()&#x9;&#x9;else 'not in use' &#x9;&#x9;endif &#x9;in  if noMisses then &#x9;&#x9;if longestName.oclIsUndefined() &#x9;&#x9;then base &#x9;&#x9;else longestName.concat('1') &#x9;&#x9;endif  else base.concat(firstMissed)  endif "/>
      <expressions
          body=" let base : String = 'Object' in  let suffixes : Sequence(String) = Sequence {'', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10'} in  let space : Namespace = self.namespace in  let allMissed : Sequence(String) = suffixes-> &#x9;select(s : String | not space.member->exists(e : NamedElement | e.name = base.concat(s)) ) in  let firstMissed : String = allMissed->first() in  let noMisses : Boolean = firstMissed.oclIsUndefined() in  let allNames : Set(String) =  &#x9;if noMisses &#x9;&#x9;then &#x9;&#x9;space.member->collect(e : NamedElement | &#x9;&#x9;&#x9;if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) &lt;> base &#x9;&#x9;&#x9;then '' else e.name &#x9;&#x9;&#x9;endif &#x9;&#x9;)->asSet()->excluding('') &#x9;&#x9;else Set{'not in use'} &#x9;&#x9;endif in  let longestName : String = &#x9;&#x9;if noMisses &#x9;&#x9;then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()&#x9;&#x9;else 'not in use' &#x9;&#x9;endif &#x9;in  if noMisses then &#x9;&#x9;if longestName.oclIsUndefined() &#x9;&#x9;then base &#x9;&#x9;else longestName.concat('1') &#x9;&#x9;endif  else base.concat(firstMissed)  endif "/>
      <expressions
          body="'OCL'"/>
      <expressions
          body="'true'"/>
      <expressions
          body=" let base : String = 'Interface' in  let suffixes : Sequence(String) = Sequence {'', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10'} in  let space : Namespace = self.namespace in  let allMissed : Sequence(String) = suffixes-> &#x9;select(s : String | not space.member->exists(e : NamedElement | e.name = base.concat(s)) ) in  let firstMissed : String = allMissed->first() in  let noMisses : Boolean = firstMissed.oclIsUndefined() in  let allNames : Set(String) =  &#x9;if noMisses &#x9;&#x9;then &#x9;&#x9;space.member->collect(e : NamedElement | &#x9;&#x9;&#x9;if e = self or e.name.oclIsUndefined() or e.name.substring(1, e.name.size().min(base.size())) &lt;> base &#x9;&#x9;&#x9;then '' else e.name &#x9;&#x9;&#x9;endif &#x9;&#x9;)->asSet()->excluding('') &#x9;&#x9;else Set{'not in use'} &#x9;&#x9;endif in  let longestName : String = &#x9;&#x9;if noMisses &#x9;&#x9;then allNames->select(n : String | not allNames->exists(nn : String | nn.size() > n.size()))->asSequence()->first()&#x9;&#x9;else 'not in use' &#x9;&#x9;endif &#x9;in  if noMisses then &#x9;&#x9;if longestName.oclIsUndefined() &#x9;&#x9;then base &#x9;&#x9;else longestName.concat('1') &#x9;&#x9;endif  else base.concat(firstMissed)  endif "/>
      <expressions
          xsi:type="gmfgen:GenConstraint"
          body="kind =ConnectorKind::delegation"/>
      <expressions
          body="ConnectorKind::delegation"/>
      <expressions
          xsi:type="gmfgen:GenConstraint"
          body="not self.oclIsKindOf(uml::Usage) and not self.oclIsKindOf(uml::InterfaceRealization)"/>
      <expressions
          xsi:type="gmfgen:GenConstraint"
          body="self.supplier->forAll(e|e.oclIsKindOf(uml::Interface))"/>
      <expressions
          xsi:type="gmfgen:GenConstraint"
          body="self.oclIsKindOf(uml::Interface)"/>
      <expressions
          xsi:type="gmfgen:GenConstraint"
          body="self.supplier->forAll(e|e.oclIsKindOf(uml::Interface)) and self.client->forAll(e|(not e.oclIsKindOf(uml::Port)) and e.oclIsKindOf(uml::Classifier))"/>
      <expressions
          xsi:type="gmfgen:GenConstraint"
          body="(not self.oclIsKindOf(uml::Port)) and self.oclIsKindOf(uml::Classifier)"/>
      <expressions
          xsi:type="gmfgen:GenConstraint"
          body="self.oclIsKindOf(uml::Interface)"/>
      <expressions
          xsi:type="gmfgen:GenConstraint"
          body="self.oclIsKindOf(uml::Port)"/>
      <expressions
          xsi:type="gmfgen:GenConstraint"
          body="self.oclIsKindOf(uml::Port)"/>
      <expressions
          xsi:type="gmfgen:GenConstraint"
          body="self.value->exists(v : ValueSpecification | v.oclIsKindOf(InstanceValue) and not v.oclAsType(InstanceValue).oclIsUndefined())"/>
      <expressions
          xsi:type="gmfgen:GenConstraint"
          body="(self.oclIsTypeOf(uml::Dependency) or self.oclIsTypeOf(uml::Abstraction) or self.oclIsTypeOf(uml::Substitution) or (self.oclIsTypeOf(uml::Usage) and (self.supplier->forAll(e|not e.oclIsKindOf(uml::Interface)) or (self.client->forAll(e|not (e.oclIsKindOf(uml::Classifier) or  e.oclIsKindOf(uml::Port))))))) and self.supplier->size() = 1 and self.client->size() = 1"/>
    </providers>
  </expressionProviders>
  <labelParsers
      extensibleViaService="true">
    <implementations
        xsi:type="gmfgen:PredefinedParser"
        uses="//@diagram/@childNodes.0/@labels.0/@modelFacet //@diagram/@childNodes.1/@labels.0/@modelFacet //@diagram/@topLevelNodes.0/@labels.0/@modelFacet //@diagram/@childNodes.2/@labelModelFacet //@diagram/@childNodes.3/@labelModelFacet //@diagram/@childNodes.5/@labels.0/@modelFacet //@diagram/@childNodes.5/@labels.1/@modelFacet //@diagram/@topLevelNodes.1/@labels.0/@modelFacet //@diagram/@childNodes.6/@labelModelFacet //@diagram/@topLevelNodes.2/@labels.0/@modelFacet //@diagram/@childNodes.8/@labels.0/@modelFacet //@diagram/@childNodes.7/@labels.0/@modelFacet //@diagram/@childNodes.9/@labels.0/@modelFacet //@diagram/@childNodes.9/@labels.1/@modelFacet //@diagram/@topLevelNodes.3/@labels.0/@modelFacet //@diagram/@topLevelNodes.4/@labels.0/@modelFacet //@diagram/@childNodes.10/@labelModelFacet //@diagram/@topLevelNodes.5/@labels.0/@modelFacet //@diagram/@topLevelNodes.6/@labels.0/@modelFacet //@diagram/@topLevelNodes.7/@labels.0/@modelFacet //@diagram/@childNodes.11/@labelModelFacet //@diagram/@childNodes.12/@labelModelFacet //@diagram/@childNodes.13/@labelModelFacet //@diagram/@topLevelNodes.8/@labels.0/@modelFacet //@diagram/@links.0/@labels.0/@modelFacet //@diagram/@links.0/@labels.1/@modelFacet //@diagram/@links.0/@labels.2/@modelFacet //@diagram/@links.0/@labels.3/@modelFacet //@diagram/@links.0/@labels.4/@modelFacet //@diagram/@links.0/@labels.5/@modelFacet //@diagram/@links.0/@labels.6/@modelFacet //@diagram/@links.1/@labels.0/@modelFacet //@diagram/@links.5/@labels.0/@modelFacet //@diagram/@links.5/@labels.1/@modelFacet //@diagram/@links.5/@labels.2/@modelFacet //@diagram/@links.5/@labels.3/@modelFacet //@diagram/@links.5/@labels.4/@modelFacet //@diagram/@links.5/@labels.5/@modelFacet //@diagram/@links.5/@labels.6/@modelFacet //@diagram/@links.8/@labels.0/@modelFacet //@diagram/@links.8/@labels.1/@modelFacet //@diagram/@links.10/@labels.0/@modelFacet"/>
    <implementations
        xsi:type="gmfgen:CustomParser"
        uses="//@diagram/@topLevelNodes.5/@labels.1/@modelFacet //@diagram/@topLevelNodes.8/@labels.1/@modelFacet //@diagram/@topLevelNodes.0/@labels.1/@modelFacet //@diagram/@topLevelNodes.1/@labels.1/@modelFacet //@diagram/@childNodes.0/@labels.1/@modelFacet"
        qualifiedName="org.eclipse.uml2.diagram.common.parser.stereotype.ClassifierAppliedStereotypeParser"/>
    <implementations
        xsi:type="gmfgen:CustomParser"
        uses="//@diagram/@topLevelNodes.2/@labels.1/@modelFacet"
        qualifiedName="org.eclipse.uml2.diagram.common.parser.stereotype.PackageAppliedStereotypeParser"/>
    <implementations
        xsi:type="gmfgen:CustomParser"
        uses="//@diagram/@topLevelNodes.6/@labels.1/@modelFacet"
        qualifiedName="org.eclipse.uml2.diagram.common.parser.valuespec.ConstraintLanguageParser"/>
    <implementations
        xsi:type="gmfgen:CustomParser"
        uses="//@diagram/@childNodes.4/@labelModelFacet //@diagram/@links.10/@labels.1/@modelFacet"
        qualifiedName="org.eclipse.uml2.diagram.common.parser.stereotype.DependencyAppliedStereotypeParser"/>
  </labelParsers>
  <contextMenus
      iD="org.eclipse.uml2.diagram.csd.menu"
      context="//@diagram">
    <items
        xsi:type="gmfgen:LoadResourceAction"
        qualifiedClassName="org.eclipse.uml2.diagram.csd.part.UMLLoadResourceAction"/>
    <items
        xsi:type="gmfgen:CreateShortcutAction"
        qualifiedClassName="org.eclipse.uml2.diagram.csd.part.UMLCreateShortcutAction"/>
  </contextMenus>
</gmfgen:GenEditorGenerator>
